How to implement this aggregate logic at target column in odi inteface mapp

sum(NOTICES) over ( partition by property order by RELAVANTDATE range between interval '30' day preceding and current row)
how to implement this aggregate logic at target column in odi inteface mappings

Hi
if you don't want to aggregate try to define a user function
analytic_sum($(value))
implémented by
sum($(value))
after that
replace your
sum(NOTICES) over ( partition by property order by RELAVANTDATE range between interval '30' day preceding and current row)
by
analytic_sum(NOTICES) over ( partition by property order by RELAVANTDATE range between interval '30' day preceding and current row)

Similar Messages

  • How to implement this complex logic on rpd

    How to implement following sql logic on OBIEE 10g RPD...whole thing to be implemented as single column on presentation layer.
    to calculate numerator===
    select sum(flag) as ap_account_no,exp from                                                                                           
    (select a.invoice_id as invid,a.payment_no, max(a.payment_dt) as payment_dt,max(a.due_dt) as due_dt,b.expenditure_type as exp,                                                                                          
    case when max(a.due_dt)+ 3 > max(a.payment_dt)                                                                                           
    then 1                                                                                           
    else 0                                                                                           
    end As Flag                                                                                          
    from Supplier_inv_pymt_map a, po_invoice_map b                                                                                          
    where a.invoice_id= b.invoice_id and a.invoice_dt!=a.due_dt and a.usd_gross_AMOUNT >0 and a.PAYMENT_STATUS!='VOIDED' and to_char(a.payment_dt,'MON-YYYY')='JUN-2011'                                                                                          
    group by a.invoice_id, a.payment_no,b.expenditure_type) GROUP BY exp                                                                                          
    to calculate denominator===
    select count(invid),exp from                                                                                      
    (select a.invoice_id as invid,a.payment_no, max(a.payment_dt) as payment_dt,max(a.due_dt) as due_dt, b.expenditure_type as exp                                                                                     
    from Supplier_inv_pymt_map a, po_invoice_map b                                                                                     
    where a.invoice_id= b.invoice_id and a.invoice_dt!=a.due_dt and a.usd_gross_AMOUNT >0 and a.PAYMENT_STATUS!='VOIDED' and to_char(a.payment_dt,'MON-YYYY')='JUN-2011'                                                                                     
    group by a.invoice_id, a.payment_no,b.expenditure_type) GROUP BY exp                                                                                     
    tables n column used in sql r available on physical layer....
    can anyone help

    Hi
    if you don't want to aggregate try to define a user function
    analytic_sum($(value))
    implémented by
    sum($(value))
    after that
    replace your
    sum(NOTICES) over ( partition by property order by RELAVANTDATE range between interval '30' day preceding and current row)
    by
    analytic_sum(NOTICES) over ( partition by property order by RELAVANTDATE range between interval '30' day preceding and current row)

  • How to implement this attribute ?

    Hi,
    I've this problem.
    In our application to control healthcare expense I've implemented a cube with 6 dimensions. (here for who knows Italian : http://www.oracle.com/global/it/customers/profiles/profile_77.html )
    The biggest dimension is the "patient" one, with 1.500.000 units at 5th level, grouped in geographic aggregates, until the entire city at highest level.
    Now customers wants to have the possibility to select patiens with chronic disease from these. There are about 500 kinds of chronic diseases.
    Every patient can have no one, one, or (and this is the problem) more then one of these chronic disease.
    How to try to implement this? as a new dimensions or as an attribute ?
    I've thought that best way is to introduce a new (chronic diseases) dimension, to have a way to select one or more of these diseases at all levels of patient dimension.
    I'm asking how to solve the problem that a single patien can also have more than one disease.
    Is there any way to implement this ?

    thanks to everyone for the answers
    I've some questions.
    to olapworld:
    have you any sample code to show me how to implement the dimensionalized valueset and the customizations needed ??
    to scott:
    I think I'm not understanding your suggestion:
    my target is to add the "ilnesses" selection to other ones. The most important cube of my applications analyze
    healthcare expenses from six dimensions. Customer wants analyze cube "adding" a way to select only "ilnesses" patients and elvaluate their expense.
    I'm in doubt becouse a patient can also have more then one ilness, so I can't simply add a "ilnesses" dimensions to the cube and mapping it to an "ilness_id" in the fact table.
    How can the two dimensioned cube to help me in this ?
    to Rafalm1:
    in any case, implementing Count(Distinct patient) would be useful for me, to have a way to count the number of patients who had a healthcae assistence. Can you suggest me how to implement this ?

  • How to implement this in Oracle Apps 11i

    Hello Friends
    I am working as a consultant for a manufacturing company.
    They have a format for charging Excise and Sales tax on their products (example below). I dont know how to implement this using oracle apps. Please help me ASAP.
    eg.
    Product A:
    MRP = Rs. 100
    Assessable Value (i.e. the value at which I have contract with the Government to pay Excise Duty) = 60% of MRP = Rs. 60 in this case.
    Excise Duty = 16% of AV =0.16*60 = Rs. 9.6
    Now, let’s suppose I am selling my product to a dealer at 30% discount.
    Therefore, Sale Price = 70% of MRP = Rs. 70
    Sales Tax = 4% of Sale Price = 0.04*70 = 2.8
    Therefore, total revenue from the deal = 70-9.6-2.8 = Rs. 57.6

    you can use Advance Pricing or creating discount or attiribute while calculating.
    this is not much complex, possible even with Advance Pricing too. Thanks
    Shiv

  • How to implement this code in labview?

    How do implement this pseudo code in labview? Please keep in mind "a" and "c" in the code below ARE VARIABLES
    for i =0 to i=maxvalue
           if i <= a 
               output = output2
           else if i > a AND i<=c
               output = output2
           else if i < c 
               output = output3
           else i = d
               output = output4
    I understance i can use a case structures and modify the label, but i do not know how to make the label dependent on a variable value. 
    Thanks 

    Try an array of boudaries and use threshold array. See this old example:
    Now just iterate over an array of values using a FOR loop.
    LabVIEW Champion . Do more with less code and in less time .

  • How to implement this planning function using Fox formula

    Hello,
    I am new to Fox.
    I want to implement this complex logic in a planning function
    i have A (Kf X from infoprovider Z_A), B (Kf Y from infoprovider Z_B) & moreover there is one more condition,
    If current FISCPER > variable value of FISCPER
    KF Z = KF Z1 (from Cube C1)
    Else KF Z = KF Z2 (from Cube C2).
    for a particular calender week,
    X =   ( Y * Z ) / (summation of (Y * Z)  for each week of the whole year)
    I know it is complex.
    but i have to implement this in a planning function.
    The aggreagtion level is built on a multiprovider having A, B , C1 & C2.
    Can someone help me out with the FOX formula for this? or is there any better way to do this.
    Thanks john

    Hi Gerardo,
    Thanks for that.
    I have tried something similiar to it
    DATA CHA_CALWEEK TYPE 0CALWEEK.
    DATA CHA_COMP_CODE TYPE 0COMP_CODE.
    DATA CHA_FISCPER TYPE 0FISCPER.
    DATA VAR_PERIOD  TYPE 0FISCPER.
    DATA SUM_YEAR TYPE F.
    DATA TEMP_D TYPE F.
    DATA SUM_WEEK TYPE F.
    CURRENCY IS LOCAL CURRENCY. FOR DATA SELECTION TO BE RIGHT, NECESSARY TO DERIVE FROM CC.
    DATA UN_LOC_CURRCY TYPE 0LOC_CURRCY.
    UN_LOC_CURRCY = VARV(Z_U_I100).
    CHA_COMP_CODE = VARV(Z_U_I100).
    To Calculate the D
    VAR_PERIOD = VARV(Z_U_I010).
    SUM_YEAR = 0.
    TEMP_D =0.
    IF CHA_FISCPER > VAR_PERIOD.
    TEMP_D = {ZSA_BUD2X,CHA_COMP_CODE,CHA_FISCPER,YBUDG_01X,CHA_CALWEEK}.
    FOREACH CHA_CALWEEK.
    SUM_YEAR = SUM_YEAR + TEMP_D * {ZCREENTSV,CHA_COMP_CODE,CHA_FISCPER,ZIP_RREF1} .
    ENDFOR.
    ELSE.
    TEMP_D = ({ZSAEXCUSV,CHA_COMP_CODE,CHA_FISCPER,YRT_C02X} - {ZCREENTSV,CHA_COMP_CODE,CHA_FISCPER,YRT_C02X}).
    FOREACH CHA_CALWEEK.
    SUM_YEAR = SUM_YEAR + TEMP_D * {ZIP_INDEX,CHA_COMP_CODE,CHA_FISCPER,ZIP_RREF1}) .
    ENDFOR.
    ENDIF.
    But i am getting a syntax error
    Formula error: } expected
      Syntax error in row 21, column 20
    i have marke line21 in bold. above.
    I feel it is correct, still wonder why i am getting this error.
    can you pls help ?

  • One Target column depending on other target column in ODI.

    I have a scenario in which one Target column is depending on other target column in ODI.
    for ex:
    Target Table:
    EDBT EDLN
    sss 1
    sss 2
    abc 1
    sss 3
    In short,EDLN will maintain sequence for repeating values of EDBT.
    Is there any solution?

    Yes, it's possible. But more difficult and unsupportable.
    How to do this:
    1. Create view and lookup on it in interface LKP_TARGET
    select EDBT, max (EDLN) MAX_EDLN from Target2. From source select VIEW_SOURCE
    select EDBT, row_number() over (partition by EDBT order by ??date??) RN from Source3. In target expression (Quick-edit tab)
    EDLN = LKP_TARGET.MAX_EDLN + 1 + VIEW_SOURCE.RN

  • How to implement this logic in odi

    suposse my table is like this
    a b c
    1234 01-JAN-09 0
    1234 02-JAN-09 1
    1234 05-JAN-09 1
    1244 06-JAN-09 1
    1234 10-JAN-09 0
    1234 13-JAN-09 1
    1234 25-JAN-09 0
    1234 27-JAN-09 1
    1234 30-JAN-09 1
    1235 01-JAN-09 1
    1235 02-JAN-09 0
    1235 05-JAN-09 1
    1245 06-JAN-09 1
    1235 10-JAN-09 1
    1235 13-JAN-09 3
    1235 25-JAN-09 2
    1235 27-JAN-09 0
    1235 30-JAN-09 0
    i want out put like this
    a b c
    1234 01-JAN-09 0
    1234 02-JAN-09 1
    1234 05-JAN-09 2
    1244 06-JAN-09 3
    1234 10-JAN-09 3
    1234 13-JAN-09 4
    1234 25-JAN-09 4
    1234 27-JAN-09 5
    1234 30-JAN-09 6
    1235 01-JAN-09 1
    1235 02-JAN-09 1
    1235 05-JAN-09 2
    1245 06-JAN-09 3
    1235 10-JAN-09 4
    1235 13-JAN-09 7
    1235 25-JAN-09 9
    1235 27-JAN-09 9
    1235 30-JAN-09 9
    to get out put like that iam using this query
    select a,b,sum(c) over(partition by a order by b) from table.
    how to implement "sum(c) over(partition by a order by b)" in odi interface mappings

    Hi
    if you don't want to aggregate try to define a user function
    analytic_sum($(value))
    implémented by
    sum($(value))
    after that
    replace your
    sum(NOTICES) over ( partition by property order by RELAVANTDATE range between interval '30' day preceding and current row)
    by
    analytic_sum(NOTICES) over ( partition by property order by RELAVANTDATE range between interval '30' day preceding and current row)

  • How to implement this calendar function in ABAP code

    Hi everyone,
    Our requirement is : Give a date (e.g. YYYY.MM.DD, 1983.12.26), then we need to know which weekday it is. Is there a existing FM for this fuction? or how to implement it in ABAP?
    Thanks a lot for any hint
    Best regards
    Deyang

    Hi Deyang Liu,
        Could you please check these the below links they would give you some idea ....[SAP Calendar Control|http://help.sap.com/printdocu/core/print46b/en/data/en/pdf/BCCICALENDAR/SAP_KALENDER.pdf]
    [Calendar functions |http://help.sap.com/saphelp_nw04/Helpdata/EN/2a/fa00f6493111d182b70000e829fbfe/content.htm]
    [SAP Functions|http://abap4.tripod.com/SAP_Functions.html]
    [Determine calendar |http://help.sap.com/saphelp_nw04/helpdata/en/2a/fa00e9493111d182b70000e829fbfe/content.htm]
    Regards,
    S.Manu

  • How to implement this in Smartforms

    Hello,
    I have been given this information for what is wanted in a proforma invoice:
    Print a field for bankcode. Field name = tempBANKL.
    Logic:
    Select BANKS BANKL into tempBANKS tempBANKL from T012
    where BUKRS = ls_bil_invoice-HD_ORG-COMP_CODE and HBKID = tempHBKID.
    What do I need of nodes in my window in order to implement this ?
    Thanks in advance.

    Hi
    In the program line node just before the Text node where you need to print the Bank  code, pass ls_bil_invoice-HD_ORG-COMP_CODE  and tempHBKID as Inputs/Import and tempBANKS and tempBANKL as ouput/Export
    In this program line node, you can have your select statement. And, the text node below, will have &tempBANKL& as content.
    Regards
    Raj

  • How to implement this function in JSP/Servlet env?

    Hi all,
    I working on a project, it provides functionality to upload file using JSP/Servlet. In the first JSP page, there is file location and submit button. After user select a file to upload and click submit button, a message, like "sending file to XXXX", will be shown on the screen. Once uploading and validation are done on the server-side, a successful/error msg will be shown to user.
    Here I have a question for the "sending..." msg and the successful/error msg. They should be put in one jsp page or in two separate page? how to implement them?
    Thanks for any help!
    Tranquil

    For the sending message... Well, the thing is, when you click submit, it's sending the file to the server and the server is processing it, and this is all done before the "complete" page is sent to the server. So one would need to use some Javascript on the page before the actual submit happens to show some message. This is done on Ebay when you put something for sale, you can upload an image, and there is a little popup message telling you that it's uploading, and it is removed when the process is done. Now, I'm not sure the exact details of how this works, but my educated guess is this:
    1) The onsubmit function of the form checks that the file upload fields have a value (no need to popup a message if no file upload, since that's what usually takes the time, although it could just be assumed there is a file). If a file is to be uploaded, or just want to show the message anyway, a new popup window is opened with the window.open method and the "sending" message is shown (either written via Javascript or just load a small web page to the window).
    2) The popup window, since you can't transfer the window object from the form page to the next page, has to check window.opener for some value that the success/error page would have to set. The success/error page could use it's body onload function to set a variable in it's own window object to denote that the page is loaded. The popup window can use a looping check using setTimeout or setInterval in Javascript to check for window.opener.isLoadedVariable to be present, and if so, close itself.
    I've never done that, but I see no reason why it wouldn't work.

  • How to implement this Scenario(JMS to IDOC)

    Hi Frnds,
    I am working on one scenario JMS to IDOC .based on JMS Message my XSLT Mapping will genarate Multiple Idocs(max 3) or 2 or one.
       I have to send this IDOCS based on some conditions,the conditions mentioned below.
    xslt mapping genarats one message ,but this contains 3 IDOCS or 2 or 1.(Order Create , Order Change and Order Response),
    what is the best approach to implement this scenario
    1)f Order Create  segment exists (new PO), first check SAP to see if PO does actually exist using RFC Z_BBPR46_GET_PO_FROM_FPA ,If it does not exist, pass Order Create idoc to SAP to create new purchase order
    If it does exist, retrieve PO details from RFC and pass Order Change idoc to SAP to update existing purchase order
    2)If Order Change segment exists (change PO), retrieve PO details using RFC Z_BBPR46_GET_PO_FROM_FPA and pass Order Change idoc to SAP to update existing purchase order
    3)If Order Response segment exists (goods movement), retrieve PO details using RFC Z_BBPR46_GET_PO_FROM_FPA and pass Order Response idoc to SAP to create goods movement.
    Above logic i implemented in one mesage mapping Source is XSLT Mapping Output and Receiver message in message mapping is Multimapping selected 3 IDOCS.
    Regards,
    raj

    thanks

  • How to implement this typical sign workflow? Urgent

    Hi Adobe Experts,
    I am new to LC (two months only). Recently company is doing some evaluation on LC 8.2 and my boss assigned the following task to me  (I simplified it):
    Form: (Enclosed)
    * Two text fields: CommentTextField1 and CommentTextField2
    * Two signature fields: SignatureField1 and SignatureField2
    I've associated the SignatureField1 to lock CommentTextField1 and associated the SignatureField2 to lock CommentTextField2.
    The progress to implement is:
    Step 1) Ray Woodard open the form in workspace, type in CommentTextField1, Sign the SignatureField1, Submit.
    Step 2) Alex Pink open the form in workspace, type in CommentTextField2, Sign the SignatureField2, Submit.
    Any suggestions on how to implement the progress? Please help! Thanks a lot!
    (What I am able to accomplish so far is the step 1, but I am not confident about that. Please point me the right solution. Should I use xfaForm or Document Form, render/submit as default or PDF, submit as XDP or PDF etc...? I am so confused and frustrated now!)

    Steve, thank you so much!!!
    Your example helped me a lot. I am able to run the process, but I still have three doubts:
    1) When I set "Submit As" to "PDF" rather than "XDP" by default, I am not able to submit the form in the workspace client with "Adobe Reader" installed. But I am able to submit the form in the workspace client with "Adobe Acrobat" installed. Is it normal?
    2) What does "Form Bridge" do in this whole process here?
    3) If I don't want to hard code the submit URL  in the form, do I have another option, like using other renders?
    Thanks again!
    Wayne

  • How to implement this need help

    I created a datacontrol for a named query which (using Ejb entity beans) which accepted a employee id and click on find show me the respected employee details in a table.
    case 1: In one single page
    when i added the form consisting of a single text box , button and the table to show the result of the find method in one single page it worked out perfectly,,,
    case 2 : using 2 different pages
    But then i tried adding only the form in one page named page1 and and the table to show the result in another page i.e page2 , Also in the command action of find button of page1 i asked it to redirect to page 2 and show result . But it never showed me any results..
    Question :
    1) How to implement case2 i.e to have a form on one page and the resultant table to be show on another page i.e When users sees first page he adds the employee id in text box and clicks find .The user then needs to be redirected to page2 and the result of search should be shown in table...
    Can anyone guide me over this... ???

    Hi,
    you use a method on the EJB that takes a argument (e.g. the employee ID). You then put the method result set on page 2 (the method argument shall be pointed to a request or session attribute using EL : #{sessionScope.EmployeeId}
    On the search page - when the user hits the search button - you set the attribute "EmployeeId" in the session before navigating to the next page
    Frank

  • How to implement this functionality?

    hi,
    I want to use a thread to send all message centrally. The thread will check if the internal queue is empty. If the queue isn't empty, it sends the message, otherwise, it yields. The code snippet is as the following.
      public void run()
        logger.info("Sending thread started.");
        try{
          while (isConnected) {
            if (!bufferQueue.isEmpty() && !isReconnecting) {
              sendMsgInternal();
            } // bufferQueue.isEmpty()
            else {
              Thread.yield();
        catch (Exception e)
          logger.error("Fatal exception in sending thread", e);
          isConnected = false;
        finally
          sendThread = null;
      }This method works fine. But I found the CPU occupying rate is always 100%.
    Can somebody give me the better method to implement this logic with lower CPU occupying rate??
    Thanks in advance!
    Regards,
    Jason

    I think i have gotten the solution. It shouldn't use yield() method. It waste so much CPU time.
    I think the solution is using wait() and notify() in pair. The snippet code is as the following:
       public final synchronized void send(Object m) {
          if (m == null) {
             System.err.println("null message passed to send()");
             throw new NullPointerException();
          numMessages++;
          messages.addElement(m); // at end
          if (numMessages <= 0) notify();
       public final synchronized Object receive() {
          Object receivedMessage = null;
          numMessages--;
          if (numMessages < 0) {
             while (true) {     // we must be notified not interrupted
                try {
                   wait();
                   break;       // notify(), so get message
                catch (InterruptedException e) {
                   System.err.println
                      ("receive(): InterruptedException, wait again");
                   // race condition fix, see Semaphore.java
                   if (numMessages >= 0) break;
                   else continue;    // no message yet
          receivedMessage = messages.firstElement();
          messages.removeElementAt(0);
          return receivedMessage;
       public void run()
         logger.info("Sending thread started.");
         try{
           while (isConnected) {
               sendMsgInternal(receive());
         catch (Exception e)
           logger.error("Fatal exception in sending thread", e);
           isConnected = false;
         finally
         { // Set to null, avoid restarting the thread.
           sendThread = null;
       }For the details of this method, please refer to the following link:
    http://www.cs.drexel.edu/~shartley/ConcProgJava/messaging.html
    If there are some drawbacks, please let me know.
    Regards,
    Jason

Maybe you are looking for