Skip to Content
avatar image
Former Member

Time of Calculation "Before Aggregation" obsolete in NW2004S

Hi all,

As mentioned in note 935903 the option Time of Calculation "Before Aggregation" is obsolete in NW2004S .

Can anyone tell me how to achieve a "Before Aggregation" in BEx in NW2004S?

The examply we would like to re-produce:

- Key figure A holding difference between 2 dates (number of days)

- Creation of CKF's with 'Before Aggregation':

-> (A>20) * Amount

-> (A>30) * Amount

-> (A>40) * Amount

-> ...

=> Calculation on cube level not possible as key users need to be able to define new CKF based upon A.

- Lowest level of detail in cube (document + item).

Thanks a lot for your feedback.

Kind Regards,

Kurt

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

5 Answers

  • Best Answer
    avatar image
    Former Member
    Feb 09, 2007 at 07:02 AM

    Hi Kurt,

    please read the documentation, http://help.sap.com/saphelp_nw2004s/helpdata/en/d2/02223c5f00612be10000000a11402f/frameset.htm.

    Let me quote from there: "Calculating before aggregation results in poor performance because the database reads the data at the most detailed level and the formula is calculated for every record. In formula calculations, often the single record information for just one or two specific characteristics is required; the remaining data from the InfoProvider can be aggregated.

    We recommend that you control the calculation level using an exception aggregation with the corresponding reference characteristic. If you require multiple exception aggregations or reference characteristics, you can nest formulas and calculated key figures in one another and specify an exception aggregation for each formula or calculated key figure."

    Regards, Klaus

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Actually, you should be able to do what you would like to do because you can use exception aggregation in a nested way and you can use it on formula. With calculation before aggregation you might even get wrong results because of e.g. cancelled orders. If you have two Dates D1 and D2, then you can create a formula D1-D2, define an exception aggregation average with regards to characteristic order (and display it per plant).

      Regards, Klaus

  • avatar image
    Former Member
    Feb 08, 2007 at 08:26 PM

    I'm having the same issue. I don't want to create new key figures on the data target, but it sounds like i need to?

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Feb 13, 2007 at 04:30 PM

    Hmm...

    Now tell me this - I have a specific requirement to provide aging buckets of orders. At the cube level, I have written the difference in days. The structure looks like this:

    Order ....... Days Open ....... Qty.......Plant

    123 .......... 25..................... 5...........A

    456............40......................10.........A

    780............15......................8...........A

    743............20......................14.........B

    In my query I want to show:

    Plant........Qty < 30 days..........Qty > 30 days

    A.............13...........................10

    B.............14...........................0

    Previously I would use a formula to calculate prior to aggregation that would look something like ('Days Open' < 30)*Qty.

    In the case of plant A, if this calculation is run after aggregation, it will show that plant A has an aggregated total of 80 days open, so none of my Qty's will fall under the < 30 category.

    What am I missing here?

    (This is an oversimplified example, but I believe the logic remains the same. In reality, the difference in days is NOT stored at the cube level and cannot be because we use current date - document due date to determine the # of days)

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Hi all,

      Sorry for my late reply ...

      Have been experimenting with exception aggregation for a while now and apparently it solves all my 'before aggregation' issues.

      Thx a lot for your help.

      Kurt

  • avatar image
    Former Member
    Mar 18, 2010 at 11:53 PM

    We are trying to do the exact same thing as above with the aging buckets. A unique record is the Order AND Item together. However, you can only pick one Characteristic for the Reference Characteristic. Picking either of those on their own returns incorrect results. I realize that if we had a field in our cube with Order and Item compounded together that would solve the problem. Outside of that, any ideas?

    Thanks!

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi all. Just a follow up because I figured out the answer to my previous question.

      If you want to have two Reference Characteristics that make a unique key:

      1- Create your CKF with the first Characteristic (i.e. Item) selected in Reference Characteristic.

      2- Create a second CKF with no formula in it except for the CKF from step 1. Set the Reference Characteristic in this one to the other Characteristic that forms a unique record (i.e. Order).

      Hope this helps.

      Edited by: Alan Weedman on Mar 19, 2010 5:43 PM

  • avatar image
    Former Member
    Oct 18, 2010 at 05:45 PM

    Hi Gurus,

    I have this message when i try to ejecute my query, can anyone help me to resolve this problem, i have the SAP 7.0 EHP 1, and i just have the upgrade from SAP 3.5.

    I have a lot of CKF's in my queries and all of those use BEFORE AGGREGATION option, when i put in the propietries of my CKF the option after aggregation and then i check my query i have a message "time of calculation before aggregation is obsolete", and then when i put the option before aggregation in my CKF i have the message "CALLATE = 0 is not allowed".

    I hope that someone have the same issue and can help me with this.

    note: i'm using the BEX 3.5 and the BW 7.01 because the client wants that.

    tnks

    regards

    Odiseo

    Add comment
    10|10000 characters needed characters exceeded