Dense dim - dynamic calc

Hi
Essbase / Planning 11.1.2.1 - BSO db.
We are reviewing our app / db design following implementation last year. One of the things I have noticed is that one particular dense dimension has all members as stored (ie the non-level 0 members are not dynamic calc). Dimension has no member formulas, it is a straight roll up with consolidation for members consisting of (+ and ~).
I have changed this in our dev environment and ran some tests - calc time dramatically improved and total page file size halved (hard disk space becoming a slight issue for us so this is useful).
If we ran with this change, is there anything we need to do or be aware of, other than amending any business rules to exclude calc dims or partial aggs on the amended dimension? It seems a fairly low risk change, but looking for clarification that this is the case.....
The documentation on this states that any required combinations at non level 0 members will be calculated on the fly (eg a user retrieve). Is the same true if a non level 0 intersection is used within a business rule? (testing this on Sample Basic seems fine, again just looking for confirmation).
Thanks
JB

Yes, the same is true within a rule (i.e. if you reference an upper level in a dense dimension, Essbase will calculate it for you).
I think the only major functional issue that you haven't mentioned is that you need to be sure that none of your existing loads / calculations / user lock & send activities depend on being able to store a value at an upper level - for example, that you never load to a Quarter and then run a calc that allocates down to the Periods.

Similar Messages

  • Problem at calculation time, when using Dynamic Calc measures

    Hello,<BR><BR>We are using Essabse v6.5 and we want to upgrade to v7.1.<BR>we are performing some tests, in order to check that the Cubes we have created in 6.5 are working properly in v7.1.<BR><BR>the problem that we are experiencing is that the calculation time for the cubes that have dynamic calc members has exploaded to 10 times more, compared to what it took at version 6.5.<BR><BR>Do you have any idea why this happens. (also we are still using the old client "Application Manager")<BR><BR>Furhermore, I have set up 2 cubes that are the same, except the 1st has dynamic calc memebers, whereas the 2ns has not.<BR>I perform calcualtions with the “SET MSG DETAIL;” and receive the following:<BR>CUBE (A) with Dynamic Calc<BR>Total Block Created: [4.3720e+03] Blocks <BR>Sparse Calculations: [8.0620e+03] Writes and [2.5338e+05] Reads <BR>Dense Calculations: [2.8000e+01] Writes and [2.8000e+01] Reads <BR>Sparse Calculations: [6.0202e+06] Cells <BR>Dense Calculations: [1.1476e+06] Cells <BR><BR>CUBE (B) withOUT Dynamic Calc<BR>Total Block Created: [4.3720e+03] Blocks <BR>Sparse Calculations: [4.3720e+03] Writes and [3.5887e+04] Reads <BR>Dense Calculations: [2.8000e+01] Writes and [2.8000e+01] Reads <BR>Sparse Calculations: [6.0202e+06] Cells <BR>Dense Calculations: [1.1476e+06] Cells <BR><BR>Question: Why does Cube (A) has more “Sparse Calculations” than Cube(B) ????<BR><BR><BR>thanx

    Yes, all the settings were exactly the same. See following:<BR>- Data Cache (note: we are NOT using the Data File Cache) <BR>- Index Cache<BR>- Index Page<BR>- Commit Block Interval<BR>- Cache memory Locking<BR>- Access Mode = buffered IO<BR>- Data Compression = Bit-Map encoding<BR>- Two Pass Calculatino = ON<BR>- Aggregate Missing Values = ON<BR>- CFG file<BR><BR><BR>Is there any new settings in 7.1 that I must configure?<BR>Is there any settings that I cannot see through the old client Application Manager, which is important? Must I install the new client in order to be able to configure correctly the Outline/Cube?<BR><BR>Thnkx<BR><BR>

  • Error: 1012704 Dynamic Calc processor cannot lock more than [25] ESM blocks

    Dear All,
    I get the Following Error in the Essbase console when I try to Execute any CalcScript.
    Error: 1012704 Dynamic Calc processor cannot lock more than [25] ESM blocks during the calculation, please increase CalcLockBlock setting and then retry(a small data cache setting could also cause this problem, please check the data cache size setting)_+
    Please find the detailed output of the Statics of my Planning Applications Database and outline.
    please help guys........
    GetDbStats:
    -------Statistics of AWRGPLAN:Plan1 -------
    Dimension Name Type Declared Size Actual Size
    ===================================================================
    HSP_Rates SPARSE 11 11
    Account DENSE 602 420
    Period DENSE 19 19
    Year SPARSE 31 31
    Scenario SPARSE 6 6
    Version SPARSE 4 4
    Currency SPARSE 10 10
    Entity SPARSE 28 18
    Departments SPARSE 165 119
    ICP SPARSE 80 74
    LoB SPARSE 396 344
    Locations SPARSE 57 35
    View SPARSE 5 5
    Number of dimensions : 13
    Declared Block Size : 11438
    Actual Block Size : 7980
    Declared Maximum Blocks : 3.41379650304E+015
    Actual Maximum Blocks : 1.87262635317E+015
    Number of Non Missing Leaf Blocks : 10664
    Number of Non Missing Non Leaf Blocks : 2326
    Number of Total Blocks : 12990
    Index Type : B+ TREE
    Average Block Density : 0.01503759
    Average Sparse Density : 6.936782E-010
    Block Compression Ratio : 0.001449493
    Average Clustering Ratio : 0.3333527
    Average Fragmentation Quotient : 19.3336
    Free Space Recovery is Needed : No
    Estimated Bytes of Recoverable Free Space : 0
    GetDbInfo:
    ----- Database Information -----
    Name : Plan1
    Application Name : AWRGPLAN
    Database Type : NORMAL
    Status : Loaded
    Elapsed Db Time : 00:00:05:00
    Users Connected : 2
    Blocks Locked : 0
    Dimensions : 13
    Data Status : Data has been modified
    since last calculation.
    Data File Cache Size Setting : 0
    Current Data File Cache Size : 0
    Data Cache Size Setting : 3128160
    Current Data Cache Size : 3128160
    Index Cache Size Setting : 1048576
    Current Index Cache Size : 1048576
    Index Page Size Setting : 8192
    Current Index Page Size : 8192
    Cache Memory Locking : Disabled
    Database State : Read-write
    Data Compression on Disk : Yes
    Data Compression Type : BitMap Compression
    Retrieval Buffer Size (in K) : 10
    Retrieval Sort Buffer Size (in K) : 10
    Isolation Level : Uncommitted Access
    Pre Image Access : No
    Time Out : Never
    Number of blocks modified before internal commit : 3000
    Number of rows to data load before internal commit : 0
    Number of disk volume definitions : 0
    Currency Info
    Currency Country Dimension Member : Entity
    Currency Time Dimension Member : Period
    Currency Category Dimension Member : Account
    Currency Type Dimension Member :
    Currency Partition Member :
    Request Info
    Request Type : Data Load
    User Name : admin@Native Directory
    Start Time : Mon Aug 15 18:35:51 2011
    End Time : Mon Aug 15 18:35:51 2011
    Request Type : Customized Calculation
    User Name : 6236@Native Directory
    Start Time : Tue Aug 16 09:44:10 2011
    End Time : Tue Aug 16 09:44:12 2011
    Request Type : Outline Update
    User Name : admin@Native Directory
    Start Time : Tue Aug 16 10:50:02 2011
    End Time : Tue Aug 16 10:50:02 2011
    ListFiles:
    File Type
    Valid Choices: 1) Index 2) Data 3) Index|Data
    >>Currently>> 3) Index|Data
    Application Name: AWRGPLAN
    Database Name: Plan1
    ----- Index File Information -----
    Index File Count: 1
    File 1:
    File Name: C:\Oracle\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\APP\AWRGPLAN\Plan1\ess00001.ind
    File Type: INDEX
    File Number: 1 of 1
    File Size: 8,024 KB (8,216,576 bytes)
    File Opened: Y
    Index File Size Total: 8,024 KB (8,216,576 bytes)
    ----- Data File Information -----
    Data File Count: 1
    File 1:
    File Name: C:\Oracle\Middleware\user_projects\epmsystem1\EssbaseServer\essbaseserver1\APP\AWRGPLAN\Plan1\ess00001.pag
    File Type: DATA
    File Number: 1 of 1
    File Size: 1,397 KB (1,430,086 bytes)
    File Opened: Y
    Data File Size Total: 1,397 KB (1,430,086 bytes)
    File Size Grand Total: 9,421 KB (9,646,662 bytes)
    GetAppInfo:
    -------Application Info-------
    Name : AWRGPLAN
    Server Name : GITSHYPT01:1423
    App type : Non-unicode mode
    Application Locale : English_UnitedStates.Latin1@Binary
    Status : Loaded
    Elapsed App Time : 00:00:05:24
    Users Connected : 2
    Data Storage Type : Multidimensional Data Storage
    Number of DBs : 3
    List of Databases
    Database (0) : Plan1
    Database (1) : Plan2
    Database (2) : Plan3

    ESM Block Issue
    Cheers..!!

  • Shared members and dynamic calc

    I am trying to replicate a new cube from current GL cube and wish to remove unused shared members if they have any impact on essbase.
    2/3 of my accounts (dense) member is stored with the remainder being shared members. Shared members do not add to block size. But having so many of them, does it impact on calc scripts or retrievals or any other impacts?
    Secondly, in accounts and divisions, we have four levels. except for level 0, the remaining levels are all dynamic calc. Division is sparse member. Its not advisable to have dynamic calc on dense dimension. What about sparse dimension like division? Will it be better to change level 2&3 to dynamic and change level 1 to store as well?
    We have also been advised by our consultant to change accounts to sparse dimension considering the number of times we need to update outline for new members (stored and shared).
    Dimension          Type          Stored     Shared
    Measure               Dense     1378     796     rest
    Time               Dense     106     13     rest
    Year               Dense     9     8     
    Currency          Sparse     12     9     
    Scenario          Sparse     41     38     
    Market               Sparse     20     12     
    Division          Sparse     490     302     rest
    Product               Sparse     635     308     
    Reportcode          Sparse     327     299

    Hi,
    Having shared members in dense hierarchy will not have much of impact on Cube size or retrieval performance.
    but its always advisable to avoid unnecessary hierarchies (shared or stored or dynamic).
    Having top level dense members as dynamic lines is a good design but having sparse dynamic calc will impact retrieval performance.
    its not at all advisable to make sparse members as dynamic calc but if needed we can make sparse members with very few children as dynamic calc (or dynamic calc & store). yet again its not advisable to have a dynamic calc children to a sparse stored parent as this will affect the batch calculation while aggregating parent sparse member.
    And as suggested by your consultant it is feasible to make the dimension getting modified more often, as a sparse dimension as this will reduce the restructuring time (sparse restructure will take less time compared to dens restructure).
    But that alone cannot be considered as factor as there are many other factors to be considered for making a dimension sparse.
    - Krish

  • Retrive time with Dynamic Calc

    Hi Experts,
    My users run a large smart view report which works well
    However, when they change one of the member on the query to DC member (dense)
    Then the retrieve takes forever and they getting network error from smart view.
    I try to figure out , how can I improve the retrieve time on my BSO app, focusing on DC issues
    I try to increase the data cache, index cache, retrieval buffer and sort.
    I add command of DYNCALCCACHEMAXSIZE and the retrieve doesn’t getting better.
    In addition, can you pls help me understand the app log file,
    Here’s what happen after I ran the report, maybe it will lead
    To the problem:
    [Mon Aug 06 02:41:03 2012]Local/Orac///1768/Info(1200481)
    Formula for member [YTD USD Display] will be executed in [TOPDOWN and CELL] mode
    [Mon Aug 06 02:41:03 2012]Local/Orac///1768/Info(1012710)
    Essbase needs to retrieve [1] Essbase Kernel blocks in order to calculate the top dynamically-calculated block.
    [Mon Aug 06 02:41:03 2012]Local/Orac///1768/Info(1012736)
    The Dyn.Calc.Cache for database [Main] can hold a maximum of [242] blocks.
    [Mon Aug 06 02:41:03 2012]Local/Orac///1768/Info(1012737)
    The Dyn.Calc.Cache for database [Main], when full, will result in [allocation from non-Dyn.Calc.Cache memory].
    [Mon Aug 06 02:41:03 2012]Local/Orac///1768/Info(1019018)
    Writing Parameters For Database [Main]
    [Mon Aug 06 02:41:03 2012]Local/Orac///1768/Info(1019017)
    Reading Parameters For Database [Main]
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1070013)
    Index cache size ==> [307200000] bytes, [37500] index pages.
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1070014)
    Index page size ==> [8192] bytes.
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1070081)
    Using buffered I/O for the index and data files.
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1070083)
    Using waited I/O for the index and data files.
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1019019)
    Reading Data File Free Space Information For Database [Main]...
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1006025)
    Data cache size ==> [512000000] bytes, [9359] data pages
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1006026)
    Data file cache size ==> [0] bytes, [0] data file pages
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1080053)
    Free space recovery skipped. Estimated free space recoverable by RecoverDbFreeSpace: [11068706640] bytes
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1024033)
    Missing Database Config File [E:\Hyperion\AnalyticServices\APP\Orac\Main\Main.cfg], Query logging disabled
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1203135)
    Starting the Data Mining Framework
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1203136)
    Data Mining Framework successfully initialized.
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1200551)
    Allocated TRIGMAXMEMSIZE: [4096] Bytes.
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1013205)
    Received Command [Get Database Volumes]
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1013205)
    Received Command [Set Database State]
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1019018)
    Writing Parameters For Database [Main]
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1019018)
    Writing Parameters For Database [Main]
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1013205)
    Received Command [Get Database State]
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1013205)
    Received Command [Get Database Info]
    [Mon Aug 06 02:41:05 2012]Local/Orac///1768/Info(1013205)
    Received Command [SetApplicationState]
    [Mon Aug 06 02:41:06 2012]Local/Orac///1768/Info(1019010)
    Writing Application Definition For [Orac]
    [Mon Aug 06 02:41:06 2012]Local/Orac///1768/Info(1019011)
    Writing Database Definition For [Main]
    [Mon Aug 06 02:41:06 2012]Local/Orac///1768/Info(1019022)
    Writing Database Mapping For [Orac]
    [Mon Aug 06 02:41:06 2012]Local/Orac///5132/Info(1013210)
    User [essadmin] set active on database [Main]
    Pls help me find out how can I overcome this.
    Many thanks,

    I'll add on to Dan's comment that you very much need to test the dynamic calc (if indeed that is the problem) in the proper context.
    Amusing but painful story:
    I was once tasked with reducing calc time on a BSO database. i saw long ugly stored member calcs. Hah! I cleverly converted them to dynamic and calc times dropped. No one told me (and I didn't ask) how they were to be reported. There were thousands of instances of this member on the Excel sheet. What had been a nice fast retrieve dropped to five minutes. Whoops.
    Take your pain wherever you like -- if you are reading multiple blocks to do the calc (my guess) nothing on earth is going to make it fast. Why make it dynamic in the first place? How many times is the member retrieved? Is it all in the block or, as i guessed, across multiple blocks?
    Last comment -- again (this is getting boring) I agree with Dan -- caches are not, usually, the source of any performance joy and it always comes down to design.
    Regards,
    Cameron Lackpour

  • Optimizing a dynamic calc

    Hi In our measures dimension we have a MTD member, which is a dynamic calc.The formula is:if (not @ISLEV (Time,0))"AIP-Sales";else@SUMRANGE("AIP-Sales",@ILSIBLINGS(@CURRMBR(Time)));endif;The problem is that it takes very long to fetch on this member.If I just put in if (not @ISLEV (Time,0))"AIP-Sales";else"AIP-Sales";endif;the fetch is instantaneous but whith the first fetch it takes 30 seconds even when fetching on an upper level member of time. Does Essbase evaluate the full expression regardles of the if statement?Time is a dense dimension, with the isolated dates beiing lvl 0, months lvl 1 then qtrs etc.The strange thing is that with the first formula it retrieves 3 blocks, even though there are no references outside the current block.With the second formula only 1 block is fetched as should be expected.Soren

    Check out"Dynamic Time Series"in the Essbase documentation.Machismo

  • Problem with a calc involving @MDSHIFT and Dynamic Calc

    Hi all,
    I have a problem with the calculation of a member in a calc script. The formula of this member is :
    "R70100"
    IF(@ISMBR("M01"))
    ("T_008"->"Cumul"->"HT"+"T_003"->"Cumul"->"HT")*"AVCT_PR" - @MDSHIFT("R70100" -> "Cumul" -> "HT" -> "M12", -1, "Year", );
    ELSE
    ("T_008"->"Cumul"->"HT"+"T_003"->"Cumul"->"HT")*"AVCT_PR" - @MDSHIFT("R70100" -> "Cumul" -> "HT", -1, "Period", );
    ENDIF
    - R70100 is a member of a dense dimension.
    - T_008, T_003 and AVCT_PR are spare and stored.
    - "Cumul" is a dynamic member which allow us to calculate cumulative from monthly.
    - Time is split into two dimensions, Period and Year.
    The problem is that the @MDSHIFT doesn't seems to work with the dynamic calc as the monthly result is the cumulative correct value. I didn't know what is wrong BUT each time I launch the script, values are good for one more month.
    After one run, for example, I obtained this result :
    !http://zenon.apartia.fr/stuff/200910070001.GIF!
    Two run later, here are the news values :
    !http://zenon.apartia.fr/stuff/200910070002.GIF!
    Any idea on what going on and how to correct it ? Thanks !
    Frédéric

    A couple of questions for you:
    1) Do you need the overhead of @MDSHIFT when you are only moving in one dimension? Wouldn't @PRIOR have been a lot easier? At least this is true for the ELSE condition.
    2) Could you post just the results of the @MDSHIFT calculation so we (okay, this may be just for me, it's still breakfast time here and not enough coffee has been ingested yet to read a spreadsheet without recourse to the formulas) can better see the impact?
    3) Have you tried using your code against a non-dynamic member? Does it make a difference?
    Regards,
    Cameron Lackpour

  • Function @Parent with Member Dynamic calc

    Hi Everybody,
    I have a simple Business Rule where i need to assign the Parent value to a child. The parent is a Dynamic Calc and using the function @Parent Essbase doesn't retrieve the data. The formula is as follows:
    Fix (
    Account_1,
    product_1
    Version_X = @Parent(Currmbr(Account))->@Parent(Currmbr(product))->Version_Y;
    Endfix
    The parent of Account_1 is a Dynamic Calc member. I already tried with @Parentval, but it isn't the solution.
    Thank you all guys
    Maurizio
    Maurizio

    Thanks for your reply Soul but it didn't work in my case. I tried using @Ancest function but when the business rule is launched Essbase returns missing value. The member on which i'm assigning value is a Sparse Dimension Member (Version) whereas the Dimension member from which i'm trying to retrieve value (Dynamic Calc Member) is a Dense Dimension Member (Account).
    I also tried the SET FRMLRTDYNAMIC....
    Thank you anyway.... if you have any other idea please tell me... otherwise i will have to use @Sumrange function to obtain the value of the childrens of that Account Member.
    Tks
    Maurizio

  • Retrieval performance become poor with dynamic calc members with formulas

    We are facing the retrieval performance issue on our partititon cube.
    It was fine before applying the member formulas for 4 of measures and made them dynamic calc.
    The retrieval time has increased from 1sec to 5 sec.
    Here is the main formula on a member, and all these members are dynamic calc (having member formula)
    IF (@ISCHILD ("YTD"))
    IF (@ISMBR("JAN_YTD") AND @ISMBR ("Normalised"))
    "Run Rate" =
    (@AVG(SKIPNONE, @LIST (@CURRMBR ("Year")->"JAN_MTD",
    @RANGE (@SHIFT(@CURRMBR ("Year"),-1, @LEVMBRS ("Year", 0)), @LIST("NOV_MTD","DEC_MTD")))) *
    @COUNT(SKIPNONE,@RSIBLINGS(@CURRMBR ("Period")))) + "04";
    ELSE
    IF (@ISMBR("FEB_YTD") AND @ISMBR ("Normalised"))
    "Run Rate" =
    (@AVG (SKIPNONE, @RANGE (@SHIFT(@CURRMBR ("Year"),-1, @LEVMBRS ("Year", 0)),"DEC_MTD"),
    @RANGE (@CURRMBR ("Year"), @LIST ("JAN_MTD", "FEB_MTD"))) *
    @COUNT(SKIPNONE,@RSIBLINGS(@CURRMBR ("Period")))) + "04";
    ELSE
    "Run Rate"
    =(@AVGRANGE(SKIPNONE,"Normalised Amount",@CURRMBRRANGE("Period",LEV,0,-14,-12))*
    @COUNT(SKIPNONE,@RSIBLINGS(@CURRMBR ("Period"))))
    + "Normalised"->"04";
    ENDIF;
    ENDIF;
    ELSE 0;
    ENDIF
    Period is dense
    Year is dense
    Measures (normalised) is dense
    remaining all sparse
    block size 112k
    index cache to 10mb
    Rertrieval buffer 70kb
    dynamiccalccahe max set to 200mb
    Please not that, this is partition cube, retriving data from 2 ASO, 1 BSO underline cubes.

    I received the following from Hyperion. I had the customer add the following line to their essbase.cfg file and it increased their performance of Analyzer retrieval from 30 seconds to 0.4 seconds. CalcReuseDynCalcBlocks FALSE This is an undocumented setting (will be documented in Essbase v6.2.3). Here is a brief explanation of this setting from development: This setting is used to turn off a method of reusing dynamically calculated values during retrievals. The method is turned on by default and can speed up retrievals when it involves a large number of dynamically calculated blocks that are each required to compute several other blocks. This may happen when there is a big hierarchy of sparse dynamic calc members. However, a large dynamic calculator cache size or a large value of CALCLOCKBLOCK may adversely affect the retrieval performance when this method is used. In such cases, the method should be turned off by setting CalcReuseDynCalcBlocks to FALSE in the essbase.cfg file. Only retrievals are affected by this setting.

  • Datacopy from Dynamic Calc member

    Hi All,
    Within a dense dimension(Accounts) I want to copy data from dynamic calc member to a stored member. Below is the structure of my dimension.
    Member X (~, Stored)
    Member A (Dynamic calc, TBLast)
    ----Member A1 (Dynamic Calc)
    ----Member A2 (Dynamic Calc)
    ----Member A3 (Member formula, Dynamic Calc, TBFirst)
    Now I want to copy data from Member A to Member X. I believe we cannot copy from Member A because it is a dynamic calc member, instead we can write a script which adds the children of Member A1, A2 and A3 provided A3 did not have member formula. I hope i'm right. Any suggestions will be highly appreciated. Using ver 11.1.13.
    Thanks

    Kevin,
    Unfortunately, I think this is the way it works. DATACOPY will not copy dynamically calculated members to stored members.
    Although it is not in the DATACOPY Tech Ref documentation, that's the way it works.
    Here are some older threads on the "other" board:
    http://www.network54.com/Forum/58296/thread/1184768427/DATACOPY+Help
    http://www.network54.com/Forum/58296/thread/1054220911/Datacopy+Problem
    You are going to have to come up with another way of copying the Scenario by summing the members into the target Scenario. It can be a pain because you're going to have to mind the creation of the blocks. SET CREATEBLOCKONEQ will be your friend on this one.
    Regards,
    Cameron Lackpour

  • Sparse Dynamic Calc Member

    All,
    Is it better to have a sparse store member and calculating in Calcscript/Rule or sparse dynmic calc member with formula?
    Thank You

    Here's a little background on why sparse dynamic calcs can sometimes (but not always) be bad for retrieval performance:
    - Essbase stores data in one of two types of files - the Index file and the Page file. (there can be many of each type of file, depending on how much data is stored in your cube)
    - The index file stores all of the combinations of sparse members (where there is data). Think of each sparse dimension as a column in the index file.
    - The page file contains "blocks" that are made up of your dense dimension members. Each "cell" in a block is 8 bytes. (a cell being a single combination of members from each dense dimension)
    - Each row in your index file points to one and only one block. (this is why you need one member from every dimension to get to a data value)
    So let's say we have three members in one of our sparse dimensions. For the sake of simplicity, let's say this is the only sparse dimension in the cube.
    - Member "A" is stored.
    - Member "B" is stored.
    - Member "C" is a dynamic calc equal to "A" - "B".
    Question - if you retrieve on member "C", how many blocks does Essbase have to pull into memory? 2 (the blocks for A and B), plus it has to create a block in memory for member "C". (at least I think it creates a block in memory . . . . ) Either way, that's a lot of I/O, relatively speaking.
    If "C" were calculated in batch and stored, the same retrievel would only have to pull a single block into memory - the stored block for C. This is less I/O.
    So why are some dynamic sparse calcs bad and others aren't? It all comes down to how many blocks the retrieval forces Essbase to pull into memory. (FYI this "memory" is really your database caches)
    This is why sparse dynamic calcs like variance scenarios are common. A sparse dynamic calc that compares Actual to Budget doesn't pull a lot of blocks into memory. However, if you set a sparse parent to be dynamic, and it had 100 children, this would be pretty bad for performance.
    If you can visualize this concept, you can performance tune a BSO cube. It's all about I/O.
    Hope this helps,
    - Jake

  • Dynamic calc problem while calculation another dynamic calc member

    I have 6 dimensions. Two of them are dense and are tagged as Accounts and Time. The dimension I am having problem with is called "Metrics". It was originally dense. But because the calc scripts were executing slowly, I decided to make "Metrics" a sparse dimension. Now the calc scripts are all executing pretty fast. However, I now have data issues. For example: Within Metrics, I have a hierarchy that looks as follows: Metrics Input.Amount ~ BW.YAG.EQU Dynamic Calc, Two Pass Pct.YAG.EQU Dynamic calc, Two Pass. Both of these Members have a member formula associated with them. "Pct.YAG.EQU" member refers to "BW.YAG.EQU" within it's member formula. Also, notice "Pct.YAG.EQU" comes after "BW.YAG.EQU" Any other thoughts. Really appreciate all your help in this matter. Thanks

    I have 6 dimensions. Two of them are dense and are tagged as Accounts and Time.The dimension I am having problem with is called "Metrics". It was originally dense. But because the calc scripts were executing slowly, I decided to make "Metrics" a sparse dimension. Now the calc scripts are all executing pretty fast. However, I now have data issues.For example:Within Metrics, I have a hierarchy that looks as follows:Metrics Input.Amount ~ BW.YAG.EQU Dynamic Calc, Two Pass Pct.YAG.EQU Dynamic calc, Two Pass.Both of these Members have a member formula associated with them. "Pct.YAG.EQU" member refers to "BW.YAG.EQU" within it's member formula. Also, notice "Pct.YAG.EQU" comes after "BW.YAG.EQU"Any other thoughts.Really appreciate all your help in this matter.Thanks

  • Dynamic Calc Member in formula not working

    Hello,
    I am having an issue trying to calculate a dynamic calc member in a calc script.
    Lets say this is our outline:
    OC_GRANDPA (Dynamic Calc)
    OC_PART1 (Dynamic Calc) (+)
    Child1 (Calculated at top of calc script - STORED member) (+)
    Child2 (Calculated at top of calc script - STORED member) (+)
    OC_PART2 (Calculated in middle) of calc script - STORED member [NO CHILDREN] (+)
    I need to use OC_GRANDPA in a formula
    Final = OC_GRANDPA * .05 Rate;
    It is giving me 0 when I run the calc the first time and works if i run it a second time. Is this issue two dynamic calc members? I tried making them twopass and no luck either. I really do not want to make them stored then do a calc dim (accounts) in my calc script. Any other ideas?? If I make my formula use the level 0 members and not the OC_GRANDPA it works but that is not good coding in case I added more Children Id like to automatically pick up. PLEASE HELP!!!! Thanks!

    Thanks Cameron! I think I actually posted my mini hierarchy incorrectly as I am trying to put a formula on a different member under grandpa that has no children. Regardless it kept coming up zero -- all of the level 0 members are also calculated in the script. After much trial and error I ended up using the calc script for fomulas for the level 0's then I put a member formula on the member that I could not get to calculate in the script and also made it two pass. So then my calc script has the formulas for the level 0, a Calc Dim (Accounts) to perform the agg and calc the member formula then a calc two pass to calc yet another formula that uses this member.
    I do however now have a different question regarding member formulas - do you know if they calculate top down or bottom up?

  • Dynamic Calc with if statements

    Hello
    I have a dynamically calced member who’s calculation depends on what member of another dimension the user is looking at, so in the calc we have several if statements using the @ismbr function. Our calc looks something like this:
    If (@ismbr("Dim Member1") or @ismbr("Dim Member2"))
         Big Calc 1;
    elseif (@ismbr("Dim Member3") or @ismbr("Dim Member4"))
         Big Calc 2;
    elseif(@ismbr("Dim Member5"))
         Big Calc 3;
    else
         Last Big Calc;
    endif;
    What we are seeing is that when we run a query that should fall through to the final else (IE the Last Big Calc;) every calculation under every if is being executed. To come to this conclusion we did the following. Each of the calculations is pretty complex and can take a bit of time to run so we replaced Big Calcs 1-3 with very simple calcs that are very fast and ran the same query again, and while the result returned was the same (IE the result of Last Big Calc) it returned 10 times faster.
    I’m pretty naive about most things Essbase but I’m stuck with trying to solve this problem so I was hoping that someone might have run into something like this before or knows how I can solve it. Any insight will be very appreciated.
    I’m using Essbase 9.3.1 and my cube is a BSO cube.
    Thanks
    David

    Is it possible that the intermediate results can be put into "memo" members as a stored value, being "on call" so they don't get re-calculated as often?
    This wouldn't eliminate the source of the issue, but it would return the results much faster during retrieves. The downside of course is that these values would extend the calc time, so it may not be the right answer for you.
    Alternative #2: Make the final value stored, using a calc script to iterate the formulas only for the appropriate member sets, eliminating the duplicate efforts but moving the calculations away from the D-C realm.
    -Doug.

  • Dynamic Calc member has more than 100 children

    In my db, I've a dynamic calc member, in say hierarchy Accounts, that has more than 100 members under it (children).
    I'm using MaxL scripts to update the Accounts hierarchy i.e. adding new members, tagging UDA's etc.
    However, the MaxL command is erroring out with a Network Error: Cannot Recieve/Send data. I understand if I try doing the update via
    EAS and try to save the outline, it gives me the more than 100 children warning but still allows me to save it but via MaxL I cannot force
    it to do so.
    This is just a warning and shouldn't MaxL still save the outline? Is there something else that am missing or is there any solution for this issue.
    This is a Sparse dimension. More members will be added to the hierarchy monthly, thereby not reducing the count below hundred.
    Any help/advise is much appreciated. Thanks.
    @deepak

    I am envisioning an entire sparse Accounts dimension with all of the upper levels dynamic. If it is like most accounts dimensions I have seen it has a lot of level zero members and a lot of parent rollups. looking at top level members could be very slow (relative to if they were calculated or dense). We have all done interesting things in our cubes to gain some performance measure trading off calculation and retrieval performance. Doing something like this is an area where a testing is crital

Maybe you are looking for

  • ICloud back up too long (160h !)

    Hello, I've got an IPad I need to back up. I've got 25Go iCloud Plan. I've got around 10Gb of data to back up. Alter a looooong Time, when I try to back up, my iPad tells me the estimated time needed is about 160h... I know my internet connection is

  • How do I delete everything on the iPod so that I can sell it?

    I just purchased the new ipod touch and now I would like to sell my 30G video ipod with all songs deleted. Any suggestions?

  • How to share UDF volume attached to LION MBP over GbE to SL MacPro?

    Okay, so before anyone references it, I've already done this from the KB: http://support.apple.com/kb/HT4700 I have a MacBook Pro with an expresscard slot connected to my MacPro tower via Ethernet.  I want to be able to mount and copy a UDF-formatted

  • Forum for SEEBURGER Adapter

    Hi ALL,            I have been posting quiet a few questions on SDN regarding SEEBURGER Adapter, But I don't seem to be getting much help in SDN. I understand there is not much information avaiable on net about SEEBURGER Adapter. Is anyone aware of a

  • Has anyone had a SD card melt while in the SD card slot in a mac book pro?

    I own a MacBook Pro, from Mid 2012, (owned it for about a year, brand new) up-to-date software and have never had any problems with my MacBook until I recently tried to put an SD card into my SD card slot. I tried to see if I could see if there was a