Dynamic Calc

Have a Dyname Calc member using this 1. formula and IT IS working fine. I want to add another piece to it so that my monthly members act the same way 2.
So far the 2. part does nothing. Can anyone provide me some hints or tips on why this has no affect on my monthly members?
1.
IF (@ISLEV (\"Time\", 0)) \"27102\" * -1;
ELSEIF (@ISMBR (\"Q1\")) \"27102\"->\"Q1\" * -1;
ELSEIF (@ISMBR (\"Q2\")) (\"27102\"->\"Q2\" - \"27102\"->\"Q1\") * -1;
ELSEIF (@ISMBR (\"Q3\")) (\"27102\"->\"Q3\" - \"27102\"->\"Q2\") * -1;
ELSEIF (@ISMBR (\"Q4\")) (\"27102\"->\"Q4\" - \"27102\"->\"Q3\") * -1;
ELSEIF (@ISMBR (\"Total Year\")) \"27102\"->\"P12\" * -1;
ELSEIF (@ISMBR (\"P1YTD\")) \"27102\"->\"P1YTD\" * -1;
ELSEIF (@ISMBR (\"P2YTD\")) \"27102\"->\"P2YTD\" * -1;
ELSEIF (@ISMBR (\"P3YTD\")) \"27102\"->\"P3YTD\" * -1;
ELSEIF (@ISMBR (\"P4YTD\")) \"27102\"->\"P4YTD\" * -1;
ELSEIF (@ISMBR (\"P5YTD\")) \"27102\"->\"P5YTD\" * -1; .
ELSEIF (@ISMBR (\"P6YTD\")) \"27102\"->\"P6YTD\" * -1;
ELSEIF (@ISMBR (\"P7YTD\")) \"27102\"->\"P7YTD\" * -1;
ELSEIF (@ISMBR (\"P8YTD\")) \"27102\"->\"P8YTD\" * -1;
ELSEIF (@ISMBR (\"P9YTD\")) \"27102\"->\"P9YTD\" * -1;
ELSEIF (@ISMBR (\"P10YTD\")) \"27102\"->\"P10YTD\" * -1;
ELSEIF (@ISMBR (\"P11YTD\")) \"27102\"->\"P11YTD\" * -1;
ELSEIF (@ISMBR (\"P12YTD\")) \"27102\"->\"P12YTD\" * -1;
ENDIF;
2.
ELSEIF (@ISMBR (\"P1\")) \"27102\"->\"P1\" * -1;
ELSEIF (@ISMBR (\"P2\")) \"27102\"->\"P2\" * -1;
ELSEIF (@ISMBR (\"P3\")) \"27102\"->\"P3\" * -1;
ELSEIF (@ISMBR (\"P4\")) \"27102\"->\"P4\" * -1;
ELSEIF (@ISMBR (\"P5\")) \"27102\"->\"P5\" * -1;
ELSEIF (@ISMBR (\"P6\")) \"27102\"->\"P6\" * -1;
ELSEIF (@ISMBR (\"P7\")) \"27102\"->\"P7\" * -1;
ELSEIF (@ISMBR (\"P8\")) \"27102\"->\"P8\" * -1;
ELSEIF (@ISMBR (\"P9\")) \"27102\"->\"P9\" * -1;
ELSEIF (@ISMBR (\"P10\")) \"27102\"->\"P10\" * -1;
ELSEIF (@ISMBR (\"P11\")) \"27102\"->\"P11\" * -1;
ELSEIF (@ISMBR (\"P12\")) \"27102\"->\"P12\" * -1;
ENDIF;

If P1 thru P12 are level 0, maybe your first statement @ISLEV("Time",0) AND your @ISMBR("P1") are BOTH getting executed, thus *-1 applied twice = no change.  Although you would expect that subsequent ELSEIF would not be executed if the first IF were satisfied.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

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..!!

  • Dynamic Calc processor cannot lock more than [100] 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).

    Hi,
    Our Environment is Essbase 11.1.2.2 and working on Essbase EAS and Shared Services components.One of our user tried to run the Cal Script of one Application and faced this error.
    Dynamic Calc processor cannot lock more than [100] 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).
    I have done some Google and found that we need to add something in Essbase.cfg file like below.
    1012704 Dynamic Calc processor cannot lock more than number 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).
    Possible Problems
    Analytic Services could not lock enough blocks to perform the calculation.
    Possible Solutions
    Increase the number of blocks that Analytic Services can allocate for a calculation:
    Set the maximum number of blocks that Analytic Services can allocate to at least 500. 
    If you do not have an $ARBORPATH/bin/essbase.cfg file on the server computer, create one using a text editor.
    In the essbase.cfg file on the server computer, set CALCLOCKBLOCKHIGH to 500.
    Stop and restart Analytic Server.
    Add the SET LOCKBLOCK HIGH command to the beginning of the calculation script.
    Set the data cache large enough to hold all the blocks specified in the CALCLOCKBLOCKHIGH setting. 
    Determine the block size.
    Set the data catche size.
    Actually in our Server Config file(essbase.cfg) we dont have below data  added.
    CalcLockBlockHigh 2000
    CalcLockBlockDefault 200
    CalcLockBlocklow 50
    So my doubt is if we edit the Essbase.cfg file and add the above settings and restart the services will it work?  and if so why should we change the Server config file if the problem is with one application Cal Script. Please guide me how to proceed.
    Regards,
    Naveen

    Your calculation needs to hold more blocks in memory than your current set up allows.
    From the docs (quoting so I don't have to write it, not to be a smarta***:
    CALCLOCKBLOCK specifies the number of blocks that can be fixed at each level of the SET LOCKBLOCK HIGH | DEFAULT | LOW calculation script command.
    When a block is calculated, Essbase fixes (gets addressability to) the block along with the blocks containing its children. Essbase calculates the block and then releases it along with the blocks containing its children. By default, Essbase allows up to 100 blocks to be fixed concurrently when calculating a block. This is sufficient for most database calculations. However, you may want to set a number higher than 100 if you are consolidating very large numbers of children in a formula calculation. This ensures that Essbase can fix all the required blocks when calculating a data block and that performance will not be impaired.
    Example
    If the essbase.cfg file contains the following settings:
    CALCLOCKBLOCKHIGH 500  CALCLOCKBLOCKDEFAULT 200  CALCLOCKBLOCKLOW 50 
    then you can use the following SET LOCKBLOCK setting commands in a calculation script:
    SET LOCKBLOCK HIGH; 
    means that Essbase can fix up to 500 data blocks when calculating one block.
    Support doc is saying to change your config file so those settings can be made available for any calc script to use.
    On a side note, if this was working previously and now isn't then it is worth investigating if this is simply due to standard growth or a recent change that has made an unexpected significant impact.

  • Dynamic Calc Member with Formula to Calculate a Rolling 13 Year

    I have to create a rollup in my time dimension that will have 13 members representing each month of a 13 rolling forecast. I am having trouble setting this up as dynamic calc members with a formula assigned to it. For example, on of the members has the following formula.
    As you can see, I am referencing several substitution variables since I want to make this as most dynamic as possible without having to make any changes to the formula member. Only making changes to the substitution variable. Any help would be much appreciated.
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Jan"));
    "RTM 6" = @MDSHIFT(&Act_RF_Last_Month, -1, "Years", , 5, "Period",);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Feb"));
    "RTM 6" = @MDSHIFT(&Act_RF_Last_Month, -1, "Years", , 5, "Period",);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Mar"));
    "RTM 6" = @MDSHIFT(&Act_RF_Last_Month, -1, "Years", , 5, "Period",);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Apr"));
    "RTM 6" = @MDSHIFT(&Act_RF_Last_Month, -1, "Years", , 5, "Period",);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "May"));
    "RTM 6" = @MDSHIFT(&Act_RF_Last_Month, -1, "Years", , 5, "Period",);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Jun"));
    "RTM 6" = @MDSHIFT(&Act_RF_Last_Month, -1, "Years", , 5, "Period",);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Jul"));
    "RTM 6" = @MDSHIFT(&Act_RF_Last_Month, -1, "Years", , 5, "Period",);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Aug"));
    "RTM 6" = @SHIFT(&Act_RF_Last_Month,-7);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Sep"));
    "RTM 6" = @SHIFT(&Act_RF_Last_Month,-7);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Oct"));
    "RTM 6" = @SHIFT(&Act_RF_Last_Month,-7);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Nov"));
    "RTM 6" = @SHIFT(&Act_RF_Last_Month,-7);
    ELSE #Missing;
    ENDIF
    IF((@ISMBR(&Current_Year)) AND (&Act_RF_Last_Month == "Dec"));
    "RTM 6" = @SHIFT(&Act_RF_Last_Month,-7);
    ELSE #Missing;
    ENDIF

    We use similar logic but its in a calc script, not a dynamic formula.
    Here's an example of what we do:
    FIX (&Year, &Scenario)
    IF (@ISMBR("JAN"))
    "Average Usage%" = @AVG(SKIPBOTH, @MDSHIFT("Usage %"->"DEC"->&actYear, -1, "Year",), "Util %"->"JAN"->&actYear);
    ELSEIF
    ENDFIX
    Another example in a different database:
    IF (@ISMBR("JAN")) ((@MDSHIFT("Fees"->APR,-1,YEARS,)+@MDSHIFT("Fees"->MAY,-1,YEARS,)+@MDSHIFT("Fees"->JUN,-1,YEARS,)+@MDSHIFT("Fees"->JUL,-1,YEARS,)+@MDSHIFT("Fees"->AUG,-1,YEARS,)+@MDSHIFT("Fees"->SEP,-1,YEARS,)+@MDSHIFT("Fees"->OCT,-1,YEARS,)+@MDSHIFT("Fees"->NOV,-1,YEARS,)+@MDSHIFT("Fees"->DEC,-1,YEARS,)+"Fees"->JAN)/10)*12;

  • Bug while deleting values in form and it's parent member is dynamic calc

    Hi,
    I'm having a problem that seems to be a bug. I am trying to delete the values of member A11 in the following hierarchy, in a Planning Form:
    A (Dynamic Calc)
    |_A1 (Dynamic Calc)
    |__A11 (Store)
    |_A2(Dynamic Calc)
    !_A21 (Store)
    However when I save the form that has IDescendants(A) in rows, values aren't deleted and it's replaced with the value in A1. I'm not sure whats going on but if I place Ilvl0Descendants(A) in form, it works without problems.
    Anyone had this problem before? Thank you

    Hi, have a read of http://docs.oracle.com/cd/E17236_01/epm.1112/hp_admin_11122/ch02s04.html
    to understand what's happened and why

  • Dynamic Calc, 2 Pass with Attributes!

    Hi there,We have an Occupancy KPI within our Measures dimension, that works off the following member calc:(("Agency"/"Occupancy")/"Actual"->"DayInMonth"->"DummyHome")*7;This is set with <Dynamic Calc> <Two-Pass>This works great accross our cost centres until we start to use attributes within the ADD-In. Then the figures are shown as #Missing - Nuts!Any ideas would be welcomeMany Thanks in advanceMark

    Are you also trying to pull dynamic time series or any other dynamically calculated member? If every other intersection is stored, I would expect this to work. However, if you attempt to pull, say Q-T-D(&CurrWk), then a #Mi result is quite possible, and unavoidable (depending on your outline).

  • Problem with Dynamic Calc members in calc script

    Hi
    i wrote a calc script which calculates the value of acct2 which is dependant on the value of acct1 that is calculated from acct0 as bellow:
    FIX(
    M1
    acct1(
    acct1=acct0->M2;
    acct2=acct1->M2;
    ENDFIX
    the value of the intersection of M1->acct0 is 100 as input ,what i wanted from this calc script is the acct2->M1 to be 100 after executing the script once
    but the fact is i have to run it twice to get the expected result.
    the outline is like this:
    M:
    M2 Dynamic calc M2=M0+M1
    M0 Stored
    m1 stored
    Account:
    acct0 stored
    acct1 stored
    acct2 stored
    Can anyone tell me the reason and how to solve it?
    Edited by: user10450070 on 2011-1-25 上午1:38

    Is acct1 correct after one run of the calculation, but acct2 incorrect? If so, it's because Essbase is calculating them both at the same time (parallel), whereas it has to be forced to calculate acct1 first and acct2 second. You can do this with separate fixes as below:
    FIX(M1)
    acct1=acct0->M2;
    ENDFIX
    FIX(M2)
    acct2=acct1->M2;
    ENDFIX
    Or, you can you can force it into calculating in serial mode:
    SET CALCPARALLEL 0;
    FIX(M1)
    acct1=acct0->M2;
    acct2=acct1->M2;
    ENDFIX
    Sabrina
    Edited by: SabrinaD on Jan 26, 2011 7:56 AM

  • Substitution variable in Dynamic Calc

    Hi,
    We are using Essbase 9.3.0 on Windows and are seeing this behavior in our BSO cubes.
    When we use a substitution variable in a Scenario member with Dynamic Calc (not store) setting, after the first retrieve, if we change the value of the substitution variable, the subsequent retrieves do not generate updated results.
    I suspect that the value is cached in the Dynamic Calculator Cache, and for some reason does not track changes in Substitution Variables to know that the value must be re-calculated. Here is what I see in the Application log -
    [Mon Aug 09 10:31:51 2010]Local/App1/db1/user1/Info(1020055)
    Spreadsheet Extractor Elapsed Time : [0.032] seconds
    [Mon Aug 09 10:31:51 2010]Local/App1/db1/user1/Info(1020082)
    Spreadsheet Extractor Big Block Allocs -- Dyn.Calc.Cache : [4] non-Dyn.Calc.Cache : [0]
    This says that 4 blocks were used from the Dynamic Calc Cache, and none from outside it. Does this mean that existing blocks were read and not re-populated?
    If I make a change to the formula, wherein I hard code the value of the sub var and perform the retrieve, then the value is updated. Subsequent retrieves, after restoring the formula still returns the updated results.
    My question is, is this expected behavior? Or am I doing something /reading something wrong?
    Thanks,
    Andy

    when a subst variable value is changed... to use the value in member formula or calc script, the concerned application has to be restarted...
    - Krish

  • 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

  • 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.

  • Data not replicated with partition and dynamic calc

    HI
    I am using Essbase 11.1.2.1.
    I want to use a replicated pratition wetween two Essbase BSO applications.
    But in my source application, I have to send an account ACCOUNT (level 1) with several stored members and 1 dynamic calc member with formula. Due to this Dynamic calc account, the partition doesn't work (data are not replicated).
    How could I do?
    Thanks
    Fanny

    You're right, dynamic calc account are not issues. I am using them in partition.
    But py issue is there :
    The source dimension is like this :
    TAX (Dynamic Calc)
    - 6xxxxxxx
    - 6yyyyyyy
    - 6zzzzzzz (Dynamic Calc) = formula
    The target dimension is like this :
    TAX
    And so I need to send TAX (Source) to TAX (cible).
    I don't think it is possible, but I would like a confirmation before using something else.
    I hope it is clearer now.
    thanks
    Fanny

  • How to create dynamic calc account in multi-plan type application

    Hi expert,
    I have a planning application with 3 plan types.
    I created a calculation script which fixed on accounts in plan type 1 only and the calculation suppose to calculate a "dynamiccalc" account with a member formula attached. Everytime I run the script, it takes very long time and I found there are sessions at the back of essbase with "Process local xref/xwrite request" request to other plan types.
    It does not has this kind of session if I change the account to "store".
    Would like to check, is it possible to create a dynamic calc account to calculate for only 1 plan type in a multi-plan type application? Is there any special setting that I need to do to enable this? I already selected source plan type as Plan type 1 for my dynamic calc account. Please help!
    Many thanks!!
    My HP application is on version 11.1.2.1.

    Hi Jake,
    Thanks for pointing out the check box. Overlooked it and the checkbox was not unchecked, even I only wanted the account to exist in 1 of the plan type.
    However, after I unchecked and refresh now, when I run the calc script, it still trigger process at the back to the other 2 plan types with "Process local xref/xwrite request" request. What else could I have missed?
    I already added the "HSP_Nolink" UDA to all accounts in plan type 2 and plan type 3 and confirmed that there's no account with "Xref" member formula, I really don't know why it is trying to process local xref request. Can anyone help??
    Many thanks!!!

  • Unable to use Dynamic Calc members on webform Column.

    Hi All,
    I am getting an error 'invalid webform' if i keep a dynamic calc member in webform column. For example if i keep scenario "Variance", a dynamic calc member with a formula "Actual -Budget" on webform column, the form is giving me the error.
    What could be the issue. I am using 11.1.2.1. It is working fine in our old version 9.3.1.
    Many Thanks

    Have you checked the essbase application log as it may be generating an error, could need the cache increasing.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Essbase : Order evalution with dynamic Calc : Account x Scenario

    Hi everybody,
    I'm trying to calculate a variation N / N-1 in % for All Accounts.
    basically : %/ N-1 = (Actual- Actual N-1) / Actual N-1 - I create a scenario.
    I create a scenario %_N_1 which is Dynamic Calc.
    "%_N_1" = ("ACTUAL" - @MDSHIFT( "ACTUAL" , -1 , "Year" , ))/@MDSHIFT( "ACTUAL" , -1 , "Year" , )*100;
    But with agregated Accounts (which are dynamic calc also), Essbase sums the % ... which is wrong !!!
    Question : How could we set the priority between Scenario and Account for Dynamic Calculation.
    regards,
    ps : I want not to put this calculation in Financial Reporting, because there are a lot of reports that use this measure : %_N_1 !

    Two-pass Calc
    You should basically put this on every formula that is a % to make sure it happens after the aggregation stuff.
    It get's tricky if you did two-pass on two pass but I believe you aren't using two-pass so you should be good to go

  • 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

Maybe you are looking for