Outline Ordering of Dense Dimensions

To optimize your cube I understand that you first have your dense dimensions at the top of the outline then your sparse with few members, then sparse with most members and last your attribute dimension. But didn't find any provision of which order a dense dimension should be? Should the dense dimension with few members be at the top or dense dimension with most members?TIA

The recommended configuration is the "hourglass" shape - largest dense to smallest, smallest sparse to largest. Personally, I can understand the sparse dimension ordering - it has an impact on the efficiency of the calculator cache, but I have not seen any documentation or experienced significant performance gains by changing the order of dense dimensions.That being said, changing the order of dense dimensions WILL have an impact on the calculation order, which may be important if you have certain types of formulas or dependencies in your dense dimensions.The thing to keep in mind about optimization is that the order of the dimensions in your outline is probably lower on the list of priorities, behind the sparse/dense settings, optimizing scripts, using dynamic calcs, intelligent calc, etc.Regards,Jade---------------------------------Jade ColeSenior Business Intelligence ConsultantClarity [email protected]

Similar Messages

  • Extracting an Essbase Dimension in Outline Order

    Has anyone been successful extracting an Essbase dimension in outline order and loading the outline in the same order to another application? Our requirement is to extract an Essbase dimension in outline order so the results can be loaded using ODI to a Planning application. The desired result is the dimension order from the original Essbase outline be the same as the dimension order in the Planning application. Any support or suggestions would be greatly appreciated. Thanks!

    John,
    We are using ODI 11.1.6. We successfully extracted the Essbase outline, but the order of the extract is incorrect. We've tried a few things including a Order by query, but are unable to get the outline in an order that will load to Planning and provide the same outline order as the original outline.
    Thanks for your reply,
    Kim
    Edited by: CooleyK on Sep 6, 2012 6:00 AM

  • Optimal outline order for retrieval

    <p>Hi</p><p>good after noon to all.</p><p>i am wondering whether the "HOUR GLASS MODEL" modelfor outline is optimal outline for both retrival and calculation.if not how should we arrange for optimal retrival and for optimalcalculation?</p><p> </p><p>thanks and regards,</p><p>Balu.</p><p> </p>

    hyperion Reporting (Financial Reporting)uses Report scripts to generate its data. The optimal report has dense dimensions as the columns and inner most row of data from the dense dimensions. if you have a common format of how the reports pull data having the outline ordered from the left most report row member to the right most member
    So if you had the sparse dimensions of product market and customer and your report looks like customer, product market switching the order of the dimensions to match that could help report preformance (assuming you are drilling into each of these dimensions. I've also heard having your most commonly accessed sparse dimension last is better. And of course if you are using attribute dimensions in your report having the base dimension associated with the attribute dimensions last is recommended for better report retrieval (I don't know why)

  • Optimal outline order for Hyperion Reporting

    Good Morning -
    What is the best outline order for faster report retrieval ? I am not referring to optimal order for calculation which is modified hour glass.
    Is it still inverse order of hour-glass?
    Thanks

    hyperion Reporting (Financial Reporting)uses Report scripts to generate its data. The optimal report has dense dimensions as the columns and inner most row of data from the dense dimensions. if you have a common format of how the reports pull data having the outline ordered from the left most report row member to the right most member
    So if you had the sparse dimensions of product market and customer and your report looks like customer, product market switching the order of the dimensions to match that could help report preformance (assuming you are drilling into each of these dimensions. I've also heard having your most commonly accessed sparse dimension last is better. And of course if you are using attribute dimensions in your report having the base dimension associated with the attribute dimensions last is recommended for better report retrieval (I don't know why)

  • Why to open Block only with Dense dimension Member ???

    Hi All,
    I want to understand the logic behind opening the block with dense member. Generally we open the block with member of dense dimension by fixing the sparse members
    e.g. below considering C1, P1,Working,Actual are members of sparse dimension customer, product, Version, Scenario.
    Fix(C1,P1,Working,Actual)
    Jan
    IF(Some condition)
    Calculation on Account Member
    ENDIF
    Now if i change the code as below making Jan in FIX and opening the block with Actual. How it will affect the performance. The Number of iterations in total number of datacells will be same in bothe cases above and below then why to give priority to dense dimension member for opening the block.
    Fix(C1,P1,Working,Jan)
    Actual
    IF(Some condition)
    Calculation on Account Member
    ENDIF
    ENDFIX
    I know the logic behind keeping sparse dimension member in FIX but here i think keeping 'Actual' member for opening the block is also a type of fix which will tell the code to do the calculation only for blocks of 'Actual'.
    In 1st case i have fixed the number of blocks containing members C1,P1,Working,Actual and by keeping Jan for opening block means Jan is also fixed for the particular application means code will not run for feb march etc.
    Means code will run for C1->P1->Working>Actual->Jan
    In 2nd case also i have fixed C1,P1,Working,Jan and by keeping Actual for opening block means Actual is also fixed for the particular application means code will not run for other members of Scenarion dimension.
    Means code will run for C1->P1->Working>Jan->Actual
    Then what is the difference??? Why it will effect performance???

    when using an IF statement in a calc script you have to specify a member to associate it with for the calc member block. This is like temporarily assigning it to that member as a formula in the outline. In most cases calculations on dense dimensions can work faster as the block is in memory. Remember that a block statement can have multiple calculation statements in it. When this occurs, having the calculations on a dense member can speed it up as it may not have to swap blocks to do the calculation.
    Also consider that if a sparse combination of members does not exist, the block will not exist and there will be no attempt to do the calculations. If a sparse member is on the calc member block, it will cycle through all of the sparse members looking to do the calculation.

  • Outline Order, Calc Script Performance, Substitution Variables

    Hi All,
    I am currently looking in to the performance side.
    This is mainly about the calculation script performance.
    There are lot of questions in my mind and as it is said you can get the results only by testing.
    1. Outline order should be from least sparse to most sparse
    (other reason : to accomodate as many sparse members in to calculator cache) correct me if I am wrong
    2. Is Index entry created based on the outline order. For example I have outline order as Scenarios, Products, Markets then does my index entry be like scenario -> Products -> Markets ?
    3. Does this order has to match with the order of members in FIX Statement of calculation script?
    4. I have 3 sparse dimensions. P (150 members), M (8 members), V (20 members).
    I use substitution variables for these three in the calculation script. And these three are the mandotary things in my calculation script. Now when I see the fix statement, these three are the first 3 parameters of the fix statemtn and since I am fixing on a specific member, placing these three members as the first 3 sparse dimensions in the outline, ill it improve performance?
    In one way, I can say that a member from P, M,V becomes my key for the data.
    Theoritically if I think, may be it will...but in practical terms I don't see any of such thing.. Correct me If my thinking is wrong.
    One more thing, I have a calc script with say around 10 FIX statements and this P,M,V is being used in every FIX statemnts. Since my entire calculation will be only on one P, one M, one V. Can I put everything in one FIX at the beginning and exclude it from remaining FIX statememts?
    5. I have a lot of cross dimensional operations in my calc scripts for accounts dimension (500 + ) members.
    Is there a way to reduce these?
    6. My cube statistics..
    Cube size : 80 GB +
    Block Size : 18 KB (Approx)
    Block density : 0.03 . This is what I am more worried about. This really hurts me.
    This is one of the reason why my calculation time is > 7 hours and some times it is horrible when there is huge amount of data (it takes aound 20 + hours) for calculation.
    I would be looking forward for your suggestions.
    It would be really apprecialble if It is Ok to share your contact number so that I can get in touch with you. That could be of great help from your side.

    I have provided some answers below:
    There are lot of questions in my mind and as it is said you can get the results only by testing.
    ----------------------------You are absolutely right here but it helps to understand the underlying principles and best practices as you seem to understand.
    1. Outline order should be from least sparse to most sparse
    (other reason : to accomodate as many sparse members in to calculator cache) correct me if I am wrong
    ----------------------------This is one reason but another is to manage disk I/O during calculations. Especially when performing the intial calculation of a cube, the order of sparse dimensions from smallest to largest will measurably affect your calc times. There is another consideration here though. The smallest to largest (or least to most) sparse dimension argument assumes single threading of the calculations. You can gain improvements in calc time by multi-threading. Essbase will be able to make more effective use of multi-threading if the non-aggregating sparse dimensions are at the end of the outline.
    2. Is Index entry created based on the outline order. For example I have outline order as Scenarios, Products, Markets then does my index entry be like scenario -> Products -> Markets ?
    ----------------------------Index entry or block numbering is indeed based on outline order. However, you do not have to put the members in a cross-dimensional expression in the same order.
    3. Does this order has to match with the order of members in FIX Statement of calculation script?
    ----------------------------No it does not.
    4. I have 3 sparse dimensions. P (150 members), M (8 members), V (20 members).
    I use substitution variables for these three in the calculation script. And these three are the mandotary things in my calculation script. Now when I see the fix statement, these three are the first 3 parameters of the fix statemtn and since I am fixing on a specific member, placing these three members as the first 3 sparse dimensions in the outline, ill it improve performance?
    --------------------------This will not necessarily improve performance in and of itself.
    In one way, I can say that a member from P, M,V becomes my key for the data.
    Theoritically if I think, may be it will...but in practical terms I don't see any of such thing.. Correct me If my thinking is wrong.
    One more thing, I have a calc script with say around 10 FIX statements and this P,M,V is being used in every FIX statemnts. Since my entire calculation will be only on one P, one M, one V. Can I put everything in one FIX at the beginning and exclude it from remaining FIX statememts?
    --------------------------You would be well advised to do this and it would almost certainly improve performance. WARNING: There may be a reason for the multiple fix statements. Each fix statement is one pass on all of the blocks of the cube. If the calculation requires certain operations to happen before others, you may have to live with the multiple fix statements. A common example of this would be calculating totals in one pass and then allocating those totals in another pass. The allocation often cannot properly happen in one pass.
    5. I have a lot of cross dimensional operations in my calc scripts for accounts dimension (500 + ) members.
    Is there a way to reduce these?
    -------------------------Without knowing more about the application, there is no way of knowing. Knowledge is power. You may want to look into taking the Calculate Databases class. It is a two day class that could help you gain a better understanding of the underlying calculation principles of Essbase.
    6. My cube statistics..
    Cube size : 80 GB +
    Block Size : 18 KB (Approx)
    Block density : 0.03 . This is what I am more worried about. This really hurts me.
    This is one of the reason why my calculation time is > 7 hours and some times it is horrible when there is huge amount of data (it takes aound 20 + hours) for calculation.
    ------------------------Your cube size is large and block density is quite low but there are too many other factors to consider to simply say that you should make changes based solely on these parameters. Too often we get focused on block density and ignore other factors. (To use an analogy from current events, this would be like making a decision on which car to buy solely based on gas mileage. You could do that but then how do you fit all four kids into the sub-compact you just bought?)
    Hope this helps.
    Brian

  • Populated dense dimension member failed ?

    Hi,
    I have a scenario dimension which is dense with this member : Actual and Budget, and I would like to copy Budget to Actual.
    Actual member are already populated on month M1, M2, M3
    ACTUAL BUDGET
    M1 100
    M2 200
    M3 300
    I wrote a HBR like this :
    Fix(M1:M3,other sparse dimension member)
    Budget = Actual
    ENDFIX
    but only M3 has been populated
    ACTUAL BUDGET
    M1 100
    M2 200
    M3 300 300
    I don't understand why because datablock already exist for M1, M2, M3.
    I tried to use CREATEONMISSINGBLOCK ON but didn't change anything.
    So I changed my script with a datacopy like this :
    Fix(M1:M3,other sparse dimension member)
    Datacopy Actual to Budget;
    ENDFIX
    And now it work
    ACTUAL BUDGET
    M1 100 100
    M2 200 200
    M3 300 300
    But I don't understand why my first script failed ?
    Regards
    Benjamin

    when using an IF statement in a calc script you have to specify a member to associate it with for the calc member block. This is like temporarily assigning it to that member as a formula in the outline. In most cases calculations on dense dimensions can work faster as the block is in memory. Remember that a block statement can have multiple calculation statements in it. When this occurs, having the calculations on a dense member can speed it up as it may not have to swap blocks to do the calculation.
    Also consider that if a sparse combination of members does not exist, the block will not exist and there will be no attempt to do the calculations. If a sparse member is on the calc member block, it will cycle through all of the sparse members looking to do the calculation.

  • Modified Hour Glass Outline Order

    When doing the modified hour glass outline order where the non aggregating sparse dimensions are at the bottom (anchor). Do those need to be in any certain order based on number stored members?

    since you typically don't aggregate these dimensions (use them in fix statements) it really does not matter the order

  • 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

  • How to make a calc script on a dense dimension ?

    Dears,
    I want to make a calculation script on a dense dimension where :
    - I want to get an input from a member, then make a mathematical calculation , then populate the result in another member at the same dimension .
    For More Clarification :
    I have the following fix
    CALC ALL ;
    FIX ("SAR","Working.V01","Budget2012","FY12","G_10","NM_CAT01","Employee General","BegBalance")
    "Internal Transportation" = "Monthly Transportation"*30 ;
    ENDFIX
    -Internal transportation and monthly transportation are 2 members on FB_account dimension (dense dimension) .
    Waiting for your response, Thanks in advance.

    Dear ,
    I appreciate your feedback . But, My problem is that after executing the calc script , No calculation happens .
    by another means ,
    -If I wrote "Internal transportation" = 500 ; --> It put 500 in it
    -If I wrote "Internal transportation" = "Internal transportation" * 100 ; --> No calculation happened but it executed successfully
    -if I wrote "Internal transportation" = "Monthly transportation" = 500; --> No calculation happened but it executed successfully
    I don't know Why ???

  • Make parent appear ABOVE the child members (in fact as the outline order is)

    Hi all,
    Is ther a way to make SV open nodes in a way the the parent appears ABOVE it's child members (in fact as the outline order is)
    There is an option under "Smart View ->options->Member Options->General -> Ancestor Position". However this seems to have no effect at all.
    SV 11.1.2.5.215
    Thanks in advance!
    Andre

    Yes - I understand it's just about presentation.  And no, you can't do what you want to do in normal ad hoc mode.  Sorry.
    One workaround is to create a 'Smart Slice' - there is a Smart Slice option to set Ancestor Position to 'Top' in zooms, and this does work with Essbase connections.
    By the way, there is a regular Smart View option to grey out options (like Ancestor Position) that don't apply to the current connection type - it's on the Advanced tab.  May help avoid confusion.

  • Member block component only select dense dimension members

    I used Calculation Manager to create Business Rule for Planning app. The Member Block component only show dense dimensions. Why?

    Its trying to force you to write the calculation optimally. Calculations with sparse member blocks are much slower than dense dimension blocks. Even if you cannot select, you can always type in the sparse dimension member name. You dont need to use member selector.

  • Is having large no. of child in dense dimension ideal?

    we have a BSO application in which some of the dense dimension have over 1500 members in them, is it ideal?
    the hierarchy is not too flat but still there are some parents which have over 200 children.. i read somewhere that BSO throws error if the no. of children exceed 100.. is that statement true?

    It doesn't throw an error, it throws a 'warning', which you can ignore.  In a dense dimension it is unlikely be a performance problem (sparse is a bigger deal), but it might be hard for users to navigate.
    A dense dimension with 1500 members is not problem in itself.  Whether it's ideal or not is pretty hard to answer from what you've posted.  How did you decide which dimensions to make dense?  Do you actually have a performance problem or are you asking out of curiosity (not that there's anything wrong with that)?

  • Keep the basemembers order of a dimension when importing it.

    Hi all,
    I am working with Hyperion Planning and I am facing a problem when I try to import a dimension from interface tables to the Shared Library of the workspace. Once I order the basemembers of a dimension in the shared library, I import the dimension again using interface tables (I have the properties of the dimension members in these tables) and I use the merge option, but it gets out of order.
    What can I do if I want to keep the basemembers order of a dimension as it is in the shared library, without losing it every time I import it?
    Thank you!

    In iMovie 10 the select the clip in the Events pane, click Adjust then Info (white circle with "i" in it above the viewer) and the clip name, date and time appears above the viewer.
    Geoff.

  • Are there any implications on changing a dense dimension to sparse?

    We have some calculation performance issues where our calc is taking a long time to run. We have 6 dimensions, Scenario, Period/Months, Years, Currency, Market, and Accounts. Market and Accounts are the only Sparse members. We tried to make Years sparse (through research, although all the years have data), and the calculation time improved significantly. My question is, will this change have any implications on retrieval or data load?
    Here's our calc:
    Agg(Accounts, Market)

    The short answer is 'yes', it may have implications, and you will have to test to figure out what they are.
    'Years' is a classic candidate to be a sparse dimension (as is 'Scenario'). But your cube design sounds unusual, at least in my experience, which may or may not be for good reasons. So it's all but impossible to make predictions or recommendations without knowing more about the cube and the input dataset.
    Incidentally, the simple fact that all years have some data doesn't in itself make Years a candidate for a dense dimension (which is what you seem to be implying). Within reasonable limits of block size, you want to select dense and sparse dimensions such that when data exists at a sparse intersection, the largest possible proportion of dense combinations are populated. Just for example, if you have Product, Region, Account and Period dimensions and your company sells only a small proportion of Products in any given Region, Account and Period are likely good candidates to be Dense dimensions: Where data does exist for a Product / Region combination, many Account / Period combinations are filled. Region and Product are likely poor candidates for Dense dimensions, because almost all Region / Product combinations are empty even where data exists for an Account / Period. So the simple fact that all Products have some data doesn't make Product a good dense candidate.
    Hope this is of some use... :)

Maybe you are looking for

  • Installing XP on your Intel Mac

    Our favourite company just released this public Beta : http://www.apple.com/macosx/bootcamp/ Pro music users among us should at least be, well, very very cautious before experimenting with this new opportunity. I for one will not go for it - there si

  • ALE IDOC  with T-code :IE01

    How is an ALE IDOC generated when an equipment is created with T-code :IE01

  • Click to open in new tab

    Hi, I normally do google and when I click on a link it opens in the same window instead I want it to open in new tab. Let me know where I can change these settings. And I noticed that the scratch pad "3 fingures and 2 fingures swipes or any swipes" d

  • JAVA(Ajax + (SVG or XAML)) is better than JAVA(Swing or SWT)?

    A new startup claims it has invented a process to create reusable Ajax GUI Classes that are better than Java/Swing classes. http://cbsdf.com/misc_docs/why-gui-api.htm http://cbsdf.com/misc_docs/gui-api-brief.htm It has published the innovative proces

  • If stolen iPhone deactivated, can thieves still access apps, data?

    Phone stolen. Reported, deactivated. Question: if thieves crack password, can they access apps, email, Facebook, data, etc?