How to generate a Yearly report based on a calculation at the Month level

Have the need to create a report as follows. Any ideas on how this can be accomplished in OBI is appreciated. I have already tried different ways but non worked for me.
The data is stored in a table at day level as follows:
Day Amount_A Amouont_B
1/1/2008     100     100
1/15/2008     200     100
2/1/2008     100     400
2/15/2008     300     200
1/1/2009     100     300
1/15/2009     100     200
2/1/2009     200     100
2/15/2009     400     300
The report should be displayed at Year level. Amount_A is just the summation of Amount_A from the table at daily level rolled up to the Year level in the Time dimension. The same thing for Amount_B.
The formula for Absolute_Error is Absolute(Amount_A - Amount_B). But the problem is that it has to be calculated at the Month level instead of Day Level. So following is the logic for Absolute_Error:
Month     Amount_A Amount_B     Absolute_Error
Jan-2008     300     200     100
Feb-2008     400     600     200
Jan-2009     200     500     300
Feb-2009     600     400     200
The report should be displayed as follows:
Year Amount_A Amount_B     Absolute_Error
2008     700     800     300
2009     800     900     500
Note that the calculation of Absolute_Error results in a different value if it is calculated at the Month level and summed up to Year than if it were calculated at the Day level and then summed up to Year. It is required to be based on Month level for this report.
Is there a way to do this without having to build an aggregated fact table at the Month level?

Hi.
Do this:
1. Create Amount_A and Amount_B in BMM without SUM as default aggregation rule.
2. Now, just go to Answers and make report with three columns:
YEAR -- EXPRESSION 1 -- EXPRESSION 2
EXPRESSION 1 is:
sum(Amount_A) - sum(Amount_B)
EXPRESSION 2 is:
sum
abs
sum(Amount_A by MONTH)
sum(Amount_B by MONTH)
My example in Answers:
TIMES.CALENDAR_YEAR
sum(SALES.QUANTITY_SOLD_NORMAL) - sum(SALES.AMOUNT_SOLD_NORMAL)
sum( abs(sum(SALES.QUANTITY_SOLD_NORMAL by TIMES.CALENDAR_MONTH_DESC) - sum(SALES.AMOUNT_SOLD_NORMAL by TIMES.CALENDAR_MONTH_DESC) ) )
This will first summarize amount A and amount B on a month level and then do a difference, after that ABS and then sum on the year level.
This is workaround to avoid larger RPD changes.
Regards,
Goran O
http://108obiee.blogspot.com/

Similar Messages

  • How to create dynamic Invoice report based on Tax calculations

    Hi Ppl,
    I have an invoice report requirement. There are multiple line items in invoice and each line item will have a tax % and discount associated with it. Discount has to be applied at line item level. Tax will be applicable on resultant amount which respect to tax share on total amount. Below is example
    Part# Tax     Qty     UnitPrice Amount     Discount     Net Value
    1     12.5%     40     10          400          100          300
    2     12.5%     50     20          1000          200          800
    3     4%     10     30          300          50          250
                             SubTotal                    1350
                             VAT 12.5% on 1100(300+800)     137.50
                             VAT 4% on 250               10
                             Total Amount               1497.5
    I have created a static rtf which does all calculations correctly. I have hardcoded 12.5 and 4 % tax values for calculations. But issue is that taxes are changeable in future so I want to create dynamic template which takes care for tax calculations. I thought of to create an array to store distinct tax values from XML data and then to perform calculation but don’t know how to do that.
    Can some body help me out as this is very critical and urgent?
    Note: Tax calculation can be done at line item level itself but there are some scenarios where additional discounts are there so tax calculation can not be done at line item level.
    Below is the sample XML data
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ListOfBipActionTest>
    - <Action>
    <AccountId>1</AccountId>
    <PartName>17211KCC900LS</PartName>
    <TAX>12.5</TAX>
    <QTY>40</QTY>
    <UNITPRICE>47.06</UNITPRICE>
    <DIS>15.00</DIS>
    <TaxType>CST</TaxType>
    </Action>
    - <Action>
    <AccountId>2</AccountId>
    <PartName>17213KCC900LS</PartName>
    <TAX>12.5</TAX>
    <QTY>50</QTY>
    <UNITPRICE>19.53</UNITPRICE>
    <DIS>8.00</DIS>
    <TaxType>CST</TaxType>
    </Action>
    - <Action>
    <AccountId>3</AccountId>
    <PartName>28302KAG900S</PartName>
    <TAX>12.5</TAX>
    <QTY>50</QTY>
    <UNITPRICE>59.49</UNITPRICE>
    <DIS>15.00</DIS>
    <TaxType>CST</TaxType>
    </Action>
    - <Action>
    <AccountId>4</AccountId>
    <PartName>2830AKAG900S</PartName>
    <TAX>12.5</TAX>
    <QTY>10</QTY>
    <UNITPRICE>168.7</UNITPRICE>
    <DIS>15.00</DIS>
    <TaxType>CST</TaxType>
    </Action>
    - <Action>
    <AccountId>4</AccountId>
    <PartName>91001GF6000S</PartName>
    <TAX>4.00</TAX>
    <QTY>60</QTY>
    <UNITPRICE>115.34</UNITPRICE>
    <DIS>17.00</DIS>
    <TaxType>CST</TaxType>
    </Action>
    </ListOfBipActionTest>
    Thanks
    Ashish

    Dear Efstratios Kara,
    I installed SAP Integration Kit 3.1. Yes I installed the integration kit after installing CR.
    I have uninstalled the earlier version and i have reinstalled CR with (12.3.0.601) version.
    But still i cant view the SAP connectivity. can u tell me from which version they have included this connectivity option in CR.
    If CR going to support SAP Table connectivity on specific version, what is that version.
    Waiting for your reply.
    Regards,
    Suman

  • How To Generate And Print Reports In PDF Format From EBS With The UTF8 Char

    Hi,
    I want to know How To Generate And Print Reports In PDF Format From EBS With The UTF8 Character Set in R12.0.4.
    Regards

    Refer to Note: 239196.1 - PASTA 3.0 Release Information
    https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=239196.1
    Or, you can use XML Publisher.
    Note: 551591.1 - Need Latest XML Publisher / BI Publisher Patches For R12
    https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=551591.1

  • How to generate a csv report to determine paper size in a pdf or pdf/a file ?

    how to generate a csv report to determine paper size in a pdf or pdf/a file ?

    Use the cfpdf tag as follows:
    <cfpdf
        action = "getinfo"
        name = "pdf_info"
        source = "C:\temp\testFile.pdf">
    My Operating System is Windows. This tag gets information about testFile.pdf, and stores it in a structure. I have given this structure the name pdf_info. This structure has the key you are interested in, namely, pageSizes.
    Pdf_info.pageSizes is an array whose indices correspond to the respective page number in the PDF. You can use this to generate Comma-Separated Values (CSV) for each page.
    <!--- Initialize CSV list --->
    <cfset csv = "">
    <!--- Add headers or first row, followed by carriage-return --->
    <cfset csv = "Page,Height,Width" & chr(13)>
    <cfloop from="1" to="#arrayLen(pdf_info.pageSizes)#" index="i">
    <cfset row_info = i & "," & pdf_info.pageSizes[i]["height"] & "," & pdf_info.pageSizes[i]["width"] & chr(13)>
    <cfset csv = csv & row_info>
    </cfloop>
    <!--- Output CSV --->
    <cfoutput>#csv#</cfoutput>
    <!--- Write CSV to file --->
    <!--- <cffile action="write" file="C:\temp\output.csv" output="#csv#"> --->
    Done!

  • How to generate a single report  using multiple Databases

    Hi All
    Is it possible to create a single report using multiple databases
    I am working on Database A to generate reports usually,, but now i have a second database for which the data is coming from flat files now i have to use few tables from
    Database B to generate a single report,,,,, can any one help with the process

    Hi,
    i didn't see this properly in your post:
    but now i have a second database for which the data is coming from flat files if you have ETL then make flat files as source then create target tables in db:B itself.. .Now, import them in the rpd..
    If not, import both those tables into rpd with different connections..
    Create physical joins by selecting those tables and perform joins operations over db's in physical layer..

  • How to generate a PDF report using ADF RichTable?

    Hi,
    I am using JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660. I am displaying my data from db in a JSF Fragment(JSFF) using ADF RichTable component. Actually now I want to generate a PDF report using that data shown in the table on click of a Generate Button. Can anyone please provide me code or sample for that?
    Thanks,
    Vikas

    http://kohlivikram.blogspot.com/2009/04/generate-pdf-report-in-adf.html
    Thanks,
    Navaneeth

  • How Can I print Oracle Report 9i directly To Printer on the local network?

    Dear All;
    How Can I print Oracle Report 9i directly To Printer on the local network?
    or to any other computer ? or to my default printer without prevoiues know the printer name i mean found it in my connected printer?
    plear help me?
    Best Wishes

    1. Check documentation for DESNAME and DESTYPE
    2. See 1 as long as they are a shared resource
    3. Think you must know the name, but please check or documentation
    Regards,
    Martin
    PS. There's a Reports Forum here which would be a better option for posting this question

  • How to generate random password as per password policy by knowing the resou

    Hi,
    Any body tell me, how to generate random password as per password policy by knowing the resource object in OIM11g
    Regards,
    Nishith Nayan

    Hi Nayan,
    You can try below code snippet:
    UserRepository ur = new DBUserRepository();
    UserInfo user = ur.getUserInfo(userKey);     
                   ResourceRepository rrepo = new ResourceDBRepository();
                   Resource resource = rrepo.findResource(resourceName);
                   PasswordPolicyAssignmentsRepository par = new PasswordPolicyAssignmentsDBRepository();
                   PasswordPolicyRepository ppr = new DBPasswordPolicyRepository();               
                   List passwordPolicyAssignments = par.getPasswordPolicyAssigments(resource);     
                   PasswordPolicy passwordPolicy;     
                                            PasswordPolicyAssignment passwordPolicyAssignment = (PasswordPolicyAssignment) passwordPolicyAssignments.get(0);
                             if (isApplicable(passwordPolicyAssignment, getMappedAttributes(userInfo.getAttributes()))) {                            
                                  passwordPolicy = ppr.find(passwordPolicyAssignment.getPasswordPolicyID());                    
                                                 RandomPasswordGeneratorImpl rpg = new RandomPasswordGeneratorImpl();
                             password = rpg.generatePassword(userInfo, passwordPolicy);
    regards,
    gyan

  • Script needed to generate a list of paragraph and character styles from the Book Level

    Hello,
    I am using FrameMaker 11 in the Adobe Technical Communication Suite 4 and I need to find a script that will generate a list
    of paragraph and character styles from the book level.
    I am working with unstructured FrameMaker books, but will soon be looking at getting a conversion table developed
    that will allow me to migrate all my data over to Dita (1.1 for now).
    Any thoughts, ideas on this is very much appreciated.
    Regards,
    Jim

    Hi Jim,
    I think the problem you are having with getting a response is that you are asking someone to write a script for you. Normally, you would have to pay someone for this, as it is something that folks do for a living.
    Nonetheless, I had a few minutes to spare, so I worked up the following script that I believe does the job. It is very slow, clunky, and totally non-elegant, but I think it works. It leverages the book error log mechanism which is built in and accessible by scripts, but is spendidly unattractive. I hope this gives you a starting point. It could be made much more beautiful, of course, but such would take lots more time.
    Russ
    ListAllFormatsInBook()
    function ListAllFormatsInBook()
        var doc, path, fmt;
        var book = app.ActiveBook;
        if(!book.ObjectValid()) book = app.FirstOpenBook;
        if(!book.ObjectValid())
            alert("No book window is active. Cannot continue.");
            return;
        CallErrorLog(book, 0, 0, "-----------------------------------------------------------");
        CallErrorLog(book, 0, 0, "** Book format report for:");
        CallErrorLog(book, 0, 0, book.Name);
        var comp = book.FirstComponentInBook;
        while(comp.ObjectValid())
            path = comp.Name;
            doc = SimpleOpen (path, false);
            if(doc.ObjectValid())
                CallErrorLog(book, 0, 0, "-----------------------------------------------------------");
                CallErrorLog(book, 0, 0, "-----------------------------------------------------------");
                CallErrorLog(book, doc, 0, "");
                CallErrorLog(book, 0, 0, "-----------------------------------------------------------");
                CallErrorLog(book, 0, 0, "-----------------------------------------------------------");
                CallErrorLog(book, 0, 0, "Paragraph formats:");
                fmt = doc.FirstPgfFmtInDoc;
                while(fmt.ObjectValid())
                    CallErrorLog(book, 0, 0, "  - " + fmt.Name);
                    fmt = fmt.NextPgfFmtInDoc;
                CallErrorLog(book, 0, 0, "-----------------------------------------------------------");
                CallErrorLog(book, 0, 0, "Character formats:");
                fmt = doc.FirstCharFmtInDoc;
                while(fmt.ObjectValid())
                    CallErrorLog(book, 0, 0, "  - " + fmt.Name);
                    fmt = fmt.NextCharFmtInDoc;
            else
                CallErrorLog(book, 0, 0, "-----------------------------------------------------------");
                CallErrorLog(book, 0, 0, "!!!  Could not open: " + comp.Name + " !!!");
                CallErrorLog(book, 0, 0, "-----------------------------------------------------------");
            comp = comp.NextComponentInBook;
    function CallErrorLog(book, doc, object, text)
        var arg;
        arg = "log ";
        if(book == null || book == 0 || !book.ObjectValid())
            arg += "-b=0 ";
        else arg += "-b=" + book.id + " ";
        if(doc == null || doc == 0 || !doc.ObjectValid())
            arg += "-d=0 ";
        else arg += "-d=" + doc.id + " ";
        if(object == null || object == 0 || !object.ObjectValid())
            arg += "-O=0 ";
        else arg += "-O=" + object.id + " ";
        arg += "--" + text;
        CallClient("BookErrorLog", arg);

  • How to transfer game from iPad to iPad and still maintain the same level of game play of each game?

    How to transfer game from iPad to iPad and still maintain the same level of game play of each game?

    Check the following:
    That both your Mac and your iPad are signed into the same iCloud account
    Go to System Preferences>iCloud on your Mac, confirm that you have checked Documents & Data, then click Options and confirm that Pages is checked.
    Go to Settings>Pages on your iPad and confirm that "Use iCloud" is turned on.  Also go to Settings>iCloud and confirm that Documents & Data is on, and that Pages is turned on in the app list.

  • How to generate a PDF Report to print all records

    Hi,
    I have two fields on the page
    1.Id
    2.year
    both are select list.
    When Id and year is selected from the list a pdf report is generated showing the details of that particular ID.
    I want to generate a pdf report for all Id's for a particular year rather than selecting each Id.
    How to do it?
    thanks,
    Ven.

    Ven,
    Your where clause should look something like this:
    AND ( :px_id = '%null%'
    OR id_code LIKE '%' || :px_id|| '%'
    Your LOV for the id item should have Yes selected on Display Null and Null display value should have something like -- All Ids --
    Jeff

  • How to generate Top sales report from SAP data ?

    Hello experts,
    I am completely a newbie to SAP BO , can any one guide me how to generate TOP sales of the year report from SAP data ?

    Hi David,
    First Let me know the Source & Tools to involve.
    Let me go with the generic approach:
    If the source is BW, then you can create the logic in query designer designer and then you can incorporate the data into the dashboard or webi or crystal report whatever its.
    If the source is sql or anyother DB then it can also be achievable in crystal or webi to write the logic in top 10 values by ranking then you can incorporate the data into the dashboard, but here you can limit the top or bottom values.
    Hope this helps, please revert for more clarifications on this.
    --SumanT

  • How to schedule the webi report based on data changes in the report data

    Hello,
    I want  to schedule a webi report based on data change in a column in the report.
    The scenario is something like below:
    1. If a data of a particular column changes from 2 to 3 than I would like to schedule this report and sent it to users mail box.
    I know how to apply alerts or schedule a report or data tracking for capturing changes in the report but I dont know how to schedule the report only for data changes.
    Anybody done this before.
    Thanks
    Gaurav

    Hi,
    May be these links can help you:
    http://devnet.magicsoftware.com/en/library?book=en/iBOLT/&page=SAP_R_3_Master_Data_Distribution_Defining_Change_Pointers.htm
    SEM-BCS: Load from data stream schedule
    Attribute Change Run

  • How to generate a project report for a BPM project in Oracle Jdeveloper 11g

    Hi,
    Till Oracle 10g we can generate a project report by right clicking on project name in BPM studio project navigator.
    Is this facility available with Jdeveloper 11g for BPM project as I am not able to generate the report.
    If this is possible than please let me know how can i generate.
    Thanks
    GG

    Hi there,
    I would also like to know when the Project Report functionality will be available for 11g.
    My client have several BA's who are crying out for documentation and exported diagrams, which are exactly what the Project Report features provided.
    Any ideas if it will come back?
    Cheers,
    Chris

  • How to secure access of Report based on a condition

    Hello Experts,
    My project requirement is to secure BW Reports based on a condition. For e.g a user should be authorized to access the Report if:
    1. He is the WBS Manager of the selected WBS Element
    OR
    2. If he is authorized to access the Profit center Hierarchy Node which is the parent of the selected WBS Element.
    I think this may be achieved by using a Customer exit in the Analysis authorization but i don't know how.
    Do you have any idea, whether it is possible to achieve in BI7 Security Model? Any help will be highly appreciated.
    Thanks
    Rajat

    Hi Tomer,
    There will be a selection variable for WBS in all BW reports. If the user selects a particular WBS Element then he can only see the result of the report if he fulfill EITHER of the following conditions:
    1. If he is the WBS Manager of the selected WBS Element
    OR
    2. If he is authorized to access the Profit center Hierarchy Node which is the parent of the selected WBS Element.
    WBS managers will keep on changing so it is not possible to maintain the users in one role.
    Secondly, according to the second condition, even if the user is not WBS Manager but he is authorized to access Profit center Hierarchy Node, which is the parent of the selected WBS Element, he should view the report.
    Please let me know if don't understand the question.
    Thanks
    Rajat

Maybe you are looking for