Aggregate only portion of sparse dimension

System 9 BI+(9.3) - Here's my problem.
I need to aggregate only a portion of a sparse dimension.
All members are stored data. Dimension looks like this:
Total Europe
-Western Europe
--France
--Germany
--United Kingdom
--Iberia
---Spain
---Portugal
-Central Europe
-Eastern Europe
I tried
FIX(May, 2009, @IDESCENDANT("Iberia"))
agg(Products,Channel)
ENDFIX
but all it does is aggregate Spain and Portugal, but not Iberia.
I also tried
FIX(May, 2009, @IDESCENDANT("Western Europe"))
agg(Products,Channel)
ENDFIX
but again all it does is aggregate France, Germany, Spain, Portugal, bit not Iberia or Western Europe.
Any ideas/assiatnce appreciated.

The comment on Network54 (sorry, I forgot who posted it) is on the money -- you are not aggregating Region/Geography/whatever your dimension is called.
Assuming your dimension order is:
Region
Products
Channel
I would write a script like:
FIX(@LEVMBRS("Products", 0), @LEVMBRS("Channel", 0))
@IDESCENDANTS("Iberia") ;
ENDFIX
FIX(@IDESCENDANTS("Iberia"))
AGG("Products", "Channel") ;
ENDFIX
You will have to rearrange this a little bit if your dimension order is different. As an example, if your dimension order is Products, Region, Channel, your code might look like:
FIX(@RELATIVE("Iberia", 0), @LEVMBRS("Channel"))
AGG("Products") ;
ENDFIX
FIX(@IDESCENDANTS("Products"), @LEVMBRS("Channel"))
@IDESCENDANTS("Iberia") ;
ENDFIX
FIX(@IDESCENDANTS("Products"), @IDESCENANTS("Iberia"))
AGG("Channel") ;
ENDFIX
This may look painful, but you may find a significant performance increase.
Take a look at my blog post, ignore all the Planning stuff, and jump to the bit where I explain how a BSO db consolidates. The concept is identicial to the one I outline above. Here's the link: http://camerons-blog-for-essbase-hackers.blogspot.com/2009/06/why-i-hate-and-love-business-rules-part_17.html
Regards,
Cameron Lackpour

Similar Messages

  • Why should we associate attribute dimension to base sparse dimension only

    hi experts,
    I have query, please suggest that.
    Why should we associate attribute dimension to base sparse dimension only ? any reason is there.
    thanks in advance

    Have a read of - why attribute dimension attached to sparse dimension and Attribute Dimension and association with multi level base members
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Attribute dimensions may only be added to sparse dimensions

    Hello everyone,
    I got this error several times. It wouldn't be so surprising for me if my Account dimension would be set as dense. But it is set to be sparse...
    Could anyone help me with this?
    Maybe some details will be helpfull:
    I have created an attribute dimension with only one member - "Yes". Then, I have created flat file for Account dimension with 6 custom properties, every property associated with the attribute dimension. Account dim is set as sparse, not dense. Importing flat file results ok, with no errors and warnings. Validating the application is ok.

    Hi Andy,
    I'm using only Plan1 and account dimension is set as sparse in this plan type.
    What do you mean with "refreshing"? I'm doing redeploy of the whole application from EPMA. Or should I try refreshing the database from the application? I think the first step may be the redeploy. Or am I wrong?
    Thanks,
    Vlado

  • FIX STATEMENT AND LARGE SPARSE DIMENSIONS

    Hello all,
    We have the following Essbase BSO db;
    Account (Dense) (285 Members) (Aggregating Dimension)
    Period (Dense) (65 Members) (Aggregating Dimension)
    D1 (Sparse) (3700 Members)
    (Aggregating Dimension)
    D2 (Sparse) (8900 Members)
    (Aggregating Dimension)
    D3 (Sparse) (15000 Members)
    (Aggregating Dimension)
    Version (Sparse) (3 Members) (NON-Aggregating Dimension)
    Scenario (Sparse) (5 Members) (NON-Aggregating Dimension)
    Year (Sparse) (3 Members) (NON-Aggregating Dimension)
    Currency (Sparse) (11 Members) (NON-Aggregating Dimension)
    D4 (Sparse) (20 Members) (NON-Aggregating Dimension)
    Block Size = ~150KM
    Index Cache = 4GB
    Data Cache = 8GB
    CPUs = 8
    MEMORY FREE = 26GB
    NOTE:
    We are executing the database with data loaded for "JUST" 10 BLOCKS,
    SO
    VERY VERY SMALL VOLUME OF DATA!!!
    We have come across a rather irritating and strange issue while executing
    the following calc;
    CASE 1: With LEVEL-0 OF RELEVANT
    SPARSE DIMENSIONS IN FIX STATEMENT
    //ESS_LOCALE English_UnitedStates.Latin1@Binary
    SET MSG ERROR;
    SET CACHE HIGH;
    SET UPDATECALC OFF;
    SET LOCKBLOCK HIGH;
    SET AGGMISSG OFF;
    SET CALCPARALLEL 4;
    SET CREATENONMISSINGBLK OFF;
    FIX(ACTUAL,"2013",@LEVMBRS(D1,0),@LEVMBRS(D2,0),@LEVMBRS(D3,0),@LEVMBRS(D4,0),
    @RELATIVE("EBITDA",0))
    DATACOPY ARS->CURRENCY_VERSION TO ARS->WORKING;
    DATACOPY CAD->CURRENCY_VERSION TO CAD->WORKING;
    DATACOPY CHF->CURRENCY_VERSION TO CHF->WORKING;
    DATACOPY COP->CURRENCY_VERSION TO COP->WORKING;
    DATACOPY EUR->CURRENCY_VERSION TO EUR->WORKING;
    DATACOPY GBP->CURRENCY_VERSION TO GBP->WORKING;
    DATACOPY MXN->CURRENCY_VERSION TO MXN->WORKING;
    DATACOPY CNY->CURRENCY_VERSION TO CNY->WORKING;
    ENDFIX
    $$$$$$NOTE1: The above FIX STATEMENT
    works just fine and executes in 1 sec as its just a DATACOPY. ESSENTIALLY I
    HAVE CREATED THE BLOCKS I WANT TO PERFORM THE BELOW SPARSE CALCULATION$$$$$$
    FIX(ACTUAL,"2013",@LEVMBRS(D1,0),@LEVMBRS(D2,0),@LEVMBRS(D3,0),@LEVMBRS(D4,0),
    @RELATIVE("EBITDA",0))
    ARS = ARS->CURRENCY_VERSION *
    "ARS_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    CAD = ARS->CURRENCY_VERSION *
    "CAD_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    CHF = ARS->CURRENCY_VERSION *
    "CHF_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    COP = ARS->CURRENCY_VERSION *
    "COP_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    EUR = ARS->CURRENCY_VERSION *
    "EUR_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    GBP = ARS->CURRENCY_VERSION *
    "COP_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    MXN = ARS->CURRENCY_VERSION *
    "MXN_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    CNY = ARS->CURRENCY_VERSION *
    "CNY_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    ENDFIX
    $$$$$$NOTE2: The above FIX STATEMENT
    is where we have a problem, THE CALC JUST HANGS AND DOES NOT CALCULATE$$$$$$
    CASE 2: With “specific” members of
    RELEVANT SPARSE DIMENSIONS IN FIX STATEMENT
    //ESS_LOCALE English_UnitedStates.Latin1@Binary
    SET MSG ERROR;
    SET CACHE HIGH;
    SET UPDATECALC OFF;
    SET LOCKBLOCK HIGH;
    SET AGGMISSG OFF;
    SET CALCPARALLEL 4;
    SET CREATENONMISSINGBLK OFF;
    FIX(ACTUAL,"2013",W1,"2251026",MORSCREJWHITE,MORSCREJWHITE_S,KG,TRADESALES)
    DATACOPY ARS->CURRENCY_VERSION TO ARS->WORKING;
    DATACOPY CAD->CURRENCY_VERSION TO CAD->WORKING;
    DATACOPY CHF->CURRENCY_VERSION TO CHF->WORKING;
    DATACOPY COP->CURRENCY_VERSION TO COP->WORKING;
    DATACOPY EUR->CURRENCY_VERSION TO EUR->WORKING;
    DATACOPY GBP->CURRENCY_VERSION TO GBP->WORKING;
    DATACOPY MXN->CURRENCY_VERSION TO MXN->WORKING;
    DATACOPY CNY->CURRENCY_VERSION TO CNY->WORKING;
    ENDFIX
    $$$$$$NOTE3: The above FIX STATEMENT
    works just fine and executes in 1 sec as its just a DATACOPY. ESSENTIALLY I
    HAVE CREATED THE BLOCKS I WANT TO PERFORM THE BELOW SPARSE CALCULATION$$$$$$
    FIX(ACTUAL,"2013","2251026",MORSCREJWHITE,MORSCREJWHITE_S,KG,WORKING)
    ARS = ARS->CURRENCY_VERSION *
    "ARS_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    CAD = CAD->CURRENCY_VERSION *
    "CAD_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    CHF = CHF->CURRENCY_VERSION *
    "CHF_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    COP = COP->CURRENCY_VERSION *
    "COP_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    EUR = EUR->CURRENCY_VERSION *
    "EUR_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    GBP = GBP->CURRENCY_VERSION *
    "GBP_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    MXN = MXN->CURRENCY_VERSION * "MXN_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    CNY = CNY->CURRENCY_VERSION *
    "CNY_RATE"->"NO_CURRENCY"->"C_NONE"->"L_NONE"->"S_NONE"->"U_NONE"->WORKING;
    ENDFIX
    $$$$$$NOTE4: The above FIX
    STATEMENT works just fine, as I am fixing on just ONE member from relevant
    dimensions in the FIX STATEMENT$$$$$$
    Please note the only difference between NOTE 2
    and NOTE 4 is the FIX statements. I.e., Fixing all required lev-0 members from
    required dimensions as opposed to Fixing on just single lev-0 members from
    required dimensions.
    Also please note that NOTE 1 FIX statement works
    just fine! So, there is no problem with the FIX statement itself but rather
    with the combination of Sparse Calculations and with Fixing all LEV-0 members
    from required dimension in the FIX. Probably because the Sparse dimensions are
    VERY LARGE.
    Could anyone shed some light on what might be wrong here?
    We are on Essbase standalone V11.1.2.
    Your inputs are very much appreciated!
    Thanks

    Hi,
    One minor thing I notice - your NOTE 2 problem script does not fix on your Working version, whereas the NOTE 4 script does.
    With your small number of blocks, this should not be the problem, but it's probably worth quickly testing and eliminating before delving deeper.
    Your script could be invoking member formulae from the Account dimension - does your outline validate ok..?
    I cannot tell from your NOTE 4 script which member relates to the Account dimension - is it 2251026?
    Whichever it is, it is worth expanding NOTE 4 script up to @RELATIVE("EBITDA",0)....
    - if it runs, you know the problem is with your sparse member selections (ie number of blocks being calculated).
    - If it doesn't run, then you know there is a problem in calculating one or more of the Accounts under EBITDA.  In which case, gradually narrow the range of Accounts to locate the Account or Accounts that trigger the issue.  Chances are there's a problem with the member formula

  • Max. possible no of members in sparse dimension.

    Hi,
    Just wanted to know the maximum no of members in a sparse dimension (BSO cube) that is recommended by Oracle.
    Regards,
    Lijoy

    Hi,
    Have a look at the limits section at :- http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/html_esb_dbag/limits.htm for the official Oracle suggestions.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • How can config for SNP Aggregate only aggregate demand not stock on hand?

    Dear SCM Expert,
    Now we want the system aggregate only demand and not aggregate stock on hand ( Stardard system aggregate both of them) so what i have to do?
    thanks so much.

    Hi
    The stock on hand is a calculated key figure. It is calculated based on macros. So you have to write a macro or you can copy the stock balance macro logic from the standard detailed book. In the detailed book no aggregation is done. But to avoid aggregating stock on hand you have to put logic in the macro
    Thanks
    Aparna

  • Only portion of iTunes library visible on AppleTV via HomeShare

    Using up to date versions of iTunes for Windows (running on Windows 8.1 64 bit), Airport Time Capsule, and current Apple TV. Even though Apple TV can connect to Media Library via Home Sharing, only portion of my library is displayed. I have restarted the Apple TV, Router, Modem, and Computer, nothing seems to force the library to be refreshed with the missing content, though the items that are listed play fine. Also tried logging out of and back into home sharing but no joy. Is there a firewall setting that I am missing, not sure what the problem is since it was working a couple of weeks ago, thank you in advance for reading this.

    Hi all, sorry, but I seemed to have figured out my own problem. The missing files somehow got recategorized as home videos and music so they naturally were not showing in the TV Shows and Movies Section. Sorry for any inconvenience, take care all.

  • FIX on Sparse Dimensions.

    Hi,
    I know that FIX can be used on both Sparse as well as Dense Dimensions. But its more efficient when used on Sparse Dimensions. Is there any logic behind...? Coz the functionality of FIX is to restrict the dimensions and members, but why is it more effective in Sparse...?
    Please let me know...
    Thanks,

    If you fix on a sparse dimension you restrict the data blocks that must be accessed; thus it is faster.
    If you fix on a dense dimension the calculation must go through every data block.
    Please also refer to http://www.network54.com/Forum/58296/thread/1208974485/Order+of+Fixes+-Doesit+matter-

  • Sparse Dimension

    Hello,
    Recently Added 2 alternate heirarchies to a sparse dimension. I have made all the parents of alternate Heirarchies dynamic while all the lev0 are shared. while the parents and Lev0 for main heirarchy are stored.
    1) Is it a good practise to have parents of alternate Heirarchy Dynamic? since its a sparse dimension.
    2) My .pag size has increased ? why would adding shared members increase the .pag size?
    3) also my Calc time has gone up... simple Agg which is fixed for single month and year which initially used to take 6 mins is taking 15 mins... Any advice on improving the calc time?
    Thank You for your help.

    1) This is usually not a good practice, as dynamic calcs on sparse dimensions can cause a lot of I/O during a retrieval. This can have an adverse affect on retrieve performance. Sometimes you can get away with it if
    there aren't a lot of members under the dynamic member though.
    2) I recently had a similar question on Network54. In my case, the answer was likely fragmentation. Does your .pag size go down after a dense restructure?
    3) What happens if you say *@IDESC(Stored Parent Name);* instead of AGG (Dimension);. Any difference?
    Hope this helps,
    - Jake

  • Applemail email sending only portion of written message (from a POP account)

    Starting about 2 days ago my email (a POP mailbox from a Dreamhost account) began to send only portions of the emails I have been writing. I have no clue why... Already checked with Dreamhost and their end is good.

    Why not using ASP?
    If on your webpage you have some buttons that runs at server, the server can create a web Client and using your IP address retrieved from the cession, communicate with your application (that will act as web Server). 
    then the web client on the web server can send request to your VB application and read a stream as response.
    This web client being control by the buttons on the web page, gives you complete control over what and when the data is sent
    This way you will have a complete control over the VB application from the web page.
    I am not saying that the way you want to do it cannot work, ... but it seems more complicated

  • Re-Order the Sparse Dimensions

    Hi,
    We have a typical scenario where in we need to change the order of sparse dimensions in the outline.The cube is already in use,however,as we got rid of few members in one of the sparse dimension and we want to change the order of sparse dimensions in the outline to enhance the performance.
    My question here is,
    1.How to change the order of the sparse dimensions in the outline?
    2.What would be the impact?
    Any quick response on this is highly appreciated !!
    Thanks,
    RNG

    1) We can improve calculation performance by changing the order of standard (not attribute) sparse dimensions in the database outline. We can Order standard sparse dimensions by the number of members they contain, placing the dimension that contains the fewest members first.
    This arrangement provides a number of possible improvements, depending on the site:
    ●The calculator cache functions more effectively, providing approximately a 10% performance improvement if you have a database outline with a very large dimension (for example, a dimension containing 1000 members).
    ●Parallel calculation, if enabled, is more likely to be used if the standard sparse dimension with the most members is the last standard sparse dimension in the outline.
    2) I think there would not be an any impact...
    JSA

  • Sparse Dimension calc order

    Hi,I have some sparse dimension with different number of members.Which is the correct order in the outline to maximize the calc time ?Thank you.

    You may achieve improvement in calculation performance by changing the order of the sparse dimensions in the database outline. Order the sparse dimensions by their number of members, starting with the dimension that contains the fewest members. (Ref :Database Admin guide)

  • Sparse dimension problem (2)

    This message is for Jade Cole and Farid Rashid:I'm working on Hyperion Essbase 5.0.2 patch 11 and when you assign a constant to a member in a sparse dimension, Essbase DOESN'T create data blocks for sparse dimension member combinations!!! It must be a bug!!! I have replicated the situation on Hyperion Essbase 6.0 and works fine.Thank you,Lucas.

    You need to restrict the CLEARDATA further, as it seems to be deleting the entire block. Hence, the Account = 1 is failing.There are a few ways to remedy the problem - one way would be to use DATACOPY to create the Enterprise1 and Enterprise2 blocks, but you would need a source member that had numbers.The other thing you could do is re-arrange the formula so that a sparse member appears on the left hand side of the equation, rather than a dense member. This will create the blocks and populate the values, but you should be careful, as it may create more blocks than you want.Hope that helps.Regards,Jade-------------------------------Jade ColeSenior Business Intelligence ConsultantClarity [email protected]

  • Essbase ASO - How to aggregate all Parents in multiple dimensions when using member formulas

    We are trying to add a few MDX member formulae on some of our Accounts in the ASO cube. We recently understood that member formulas in ASO calculate both LEVEL0 and Parent members of other dimensions, So we are trying to tell Essbase to calculate LEVEL0's only and to aggregate all other levels in all dimensions. However we are unable to get the syntax right. Below is what we so far have
    AccA has below formula:
    CASE WHEN ISLEVEL([Period].Currentmember,0)
    THEN
    AccX+AccY
    WHEN ISLEVEL([Period].Currentmember,1) OR ...etc
    THEN SUM({LEAVES([Period].Currentmember)},[AccA])
    END
    This does work fine and gives correct values for Parent members in Period dimension. But we also have 3 other dimensions like Product, Area and Entity. We tried the below but this throws an error during retrival.
    CASE WHEN ISLEVEL([Period].Currentmember,0)
    THEN AccX+AccY
    WHEN ISLEVEL([Period].Currentmember,1) OR ...etc
    THEN SUM({LEAVES([Period].Currentmember),LEAVES([Product].Currentmember)},[AccA])
    END
    Should we add multiple SUM commands in there? All we want to do is tell Essbase to aggregate all other dimensions to parent levels. Please help.

    Sorry to reiterate the post again.
    DanPressman Was wondering what would be other way to write calculations other than Accounts.
    I have a case where the user wants to calculate Ending Equity and this should be calculated at level0 using the rates and all parents of entity has to aggregate.
    1. Level0 of entities calculate with rates
    2. aggregate its children to parent entity
    I have used solve order to get it work but taking a lot of time.
    Is there any other alternative way of doing it? Which other dimension i can choose to perform this calculation? This is exactly similar to productsum calculation

  • Financial Reporting: Suppress pages for large sparse dimension combinations

    Hello,
    I am trying to create a Financial Reporting report that shows only pages that are populated with data, but the dimensions that I have on the page are fairly large and very sparse. There are 8,000+ combinations of sparse members, only of which about 120 have data populated and those 120 are what I want to return on my report. I can't call out the page member combinations individually as new combinations appear regularly and I want to avoid running maintenance on the report definition each time the data in the cube is refreshed. My report isn't executing, so I suspect it is running for each of the 8,000+ combinations before determining whether or not it should render each particular page. Does this behavior sound right? If so, is there a workaround or some other trick to get Financial Reporting to test for the presence of populated combinations before rendering the pages?
    Any help would be much appreciated!
    Thanks,
    Rob M
    Synapse Group/Time, Inc.

    You can achieve this by doing following:
    1. Open report
    2. Select grid (left top corner)
    3. On 'Properties' window, select suppression
    4. Select '#Missing' in 'Basic option' section.
    Good luck & let me of the results.
    Venu

Maybe you are looking for

  • Why is my Firefox browser slow all of a sudden?

    All of a sudden, my Firefox browser is extremely slow. I did not change anything nor did I download any software. It takes me some time to go to web pages and such. What can i do?

  • Audio Configuration

    When I open up iTunes 7.3 I receive an error message "iTunes has detected a problem with your audio configuration. Audio/Video playback may not operate properly." Then when I am in iTunes it does not play any of my music, just stays on 0:00. My TV sh

  • PDF Signing Info

    Functionality what we required: We have a PDF on ASP.NET web page with some content related to business contract. User has to accept the contract by signing (clicking the buttons) on that PDF. It may be possible user have to put more than one signatu

  • Telling if client is on N in 891W router

    We have an 891W wireless router on which we have enabled 802.11n speeds. When we connect with a 802.11n laptop client, it seems to be connecting on non-N data rates. We're trying to figure out if we've missed something in configuring the router or so

  • HT1338 How do I retrieve documents off of a jump drive?

    I am trying to get my husbands resume off of his jump drive.  I plug in the drive and nothing happens.