Set createnonmissingblk on;

I used set createnonmissingblk on; in a business rule before calculating the required figures. I want to ask whether this script will make all the blocks on all the possible combinations of dimension members in Global Range or just where the Business Rule has to send figure?

I used set createnonmissingblk on; in a business rule before calculating the required figures. I want to ask whether this script will make all the blocks on all the possible combinations of dimension members in Global Range or just where the Business Rule has to send figure?

Similar Messages

  • Set createnonmissingblk on/off issue

    EXAMPLE:
    four dimensions in outline:
    account (dense) (members: A1,A2)
    time(dense) (member: T1,T2)
    entity (sparse) (member: E1,E2)
    product(sparse) (member:P1,P2)
    need to create blocks to enter data, BR like that:
    FIX("E1")
      SET CREATENONMISSINGBLK ON;
      "P1"=1;
       CLEARDATA "P1";
      SET CREATENONMISSINGBLK OFF;
    ENDFIX;
    FIX("E1","A1","A2","T1","T2")
    "P1"=100;
    ENDFIX;
    QUESTION:
    "P1"=100 cannot be set to Essbase in the above BR, only if I delete the syntax:"SET CREATENONMISSINGBLK OFF;" then I can set 100 to "P1".
    WAHT I THINK:
    with the blow script,
    FIX("E1")
    SET CREATENONMISSINGBLK ON;
      "P1"=1;
       CLEARDATA "P1";
    I have already make the block P1->E1 an existing block, then my "SET CREATENONMISSINGBLK OFF;" does not effect the existing block. but why cannot me add "SET CREATENONMISSINGBLK OFF;"?? I don't understand.

    FIX("E1")
      SET CREATENONMISSINGBLK ON;
      "P1"=1;
       CLEARDATA "P1";
      SET CREATENONMISSINGBLK OFF;
    ENDFIX;
    It is because of CLEARDATA, HERE CLEAR DATA is removing block!!!
    [Tue Jun 11 03:23:08 2013]Local/testStel/as/hypadmin@Native Directory/4720/Info(1012668)
    Calculating [ PEriod(P1)] with fixed members [Entity(E1)]
    [Tue Jun 11 03:23:08 2013]Local/testStel/as/hypadmin@Native Directory/4720/Info(1012672)
    Calculator Information Message:
    Maximum Number of Lock Blocks: [100] Blocks
    Completion Notice Messages: [Disabled]
    Calculations On Updated Blocks Only: [Enabled]
    Clear Update Status After Full Calculations: [Enabled]
    Calculator Cache: [Disabled]
    [Tue Jun 11 03:23:08 2013]Local/testStel/as/hypadmin@Native Directory/4720/Info(1012672)
    Calculator Information Message:
    Create Blocks on Equations: [Enabled]
    Create Non #Missing Blocks: [Enabled]
    [Tue Jun 11 03:23:08 2013]Local/testStel/as/hypadmin@Native Directory/4720/Info(1012677)
    Calculating in serial
    [Tue Jun 11 03:23:08 2013]Local/testStel/as/hypadmin@Native Directory/4720/Info(1012672)
    Calculator Information Message: Executing Block - [E1], [P1]
    [Tue Jun 11 03:23:08 2013]Local/testStel/as/hypadmin@Native Directory/4720/Info(1012672)
    Calculator Information Message:
    Total Block Created: [1.0000e+000] Blocks
    Sparse Calculations: [1.0000e+000] Writes and [0.0000e+000] Reads
    Dense Calculations: [0.0000e+000] Writes and [0.0000e+000] Reads
    Sparse Calculations: [0.0000e+000] Cells
    Dense Calculations: [0.0000e+000] Cells
    [Tue Jun 11 03:23:08 2013]Local/testStel/as/hypadmin@Native Directory/4720/Info(1012672)
    Calculator Information Message:
    Total #Missing Blocks Not Written Back: [0.0000e+000] Blocks
    [Tue Jun 11 03:23:08 2013]Local/testStel/as/hypadmin@Native Directory/4720/Info(1012555)
    Clearing data from [P1] partition with fixed members [Entity(E1)]
    [Tue Jun 11 03:23:08 2013]Local/testStel/as/hypadmin@Native Directory/4720/Info(1017018)
    Removed [1] data blocks
    Message was edited by: _RahulS_
    Message was edited by: _RahulS_

  • Slow calc time with SET CREATEBLOCKONEQ OFF for block creation

    Hello everyone,
    I have a problem with the slow execution of one of my calc scripts:
    A simplified version of my calc script to calculate 6 accounts looks like this:
    SET UPDATECALC OFF;
    SET FRMLBOTTOMUP ON;
    SET CREATEBLOCKONEQ ON;
    SET CREATENONMISSINGBLK ON;
    FIX (
    FY12,
    "Forecast",
    "Final",
    @LEVMBRS("Cost Centre",0),
    @LEVMBRS("Products",0),
    @LEVMBRS("Entities",0)
    SET CREATEBLOCKONEQ OFF;
    "10000";"20000";"30000";"40000";"50000";"60000";
    SET CREATEBLOCKONEQ ON;
    ENDFIX
    The member formula for each of the accounts is realtively complex. One of the changes recently implemented for the FIX was openin up the cost center dimension. Since then the calculation runs much slower (>1h). If I change the setting to SET CREATEBLOCKONEQ ON, the calculation is very fast (1 min). However, no blocks are created. I am looking for a way to create the required blocks, calculate the member formulas but to decrease calc time. Does anybody have any idea what to improve?
    Thanks for your input
    p.s. DataStorage in the member properties for the above accounts is Never Share

    MattRollings wrote:
    If the formula is too complex it tends not to aggregate properly, especially when using ratios in calculations. Using stored members with member formulas I have found is much faster, efficient, and less prone to agg issues - especially in Workforce type apps.We were experiencing that exact problem, hence stored members^^^So why not break it up into steps? Step 1, force the calculation of the lower level member formulas, whatever they are. Make sure that that works. Then take the upper level members (whatever they are) and make them dynamic. There's nothing that says that you must make them all stored. I try, wherever possible, to make as much dynamic as possible. As I wrote, sometimes I can't for calc order reasons, but as soon as I get past that I let the "free" dense dynamic calcs happen wherever I can. Yes, the number of blocks touched is the same (maybe), but it is still worth a shot.
    Also, you mentioned in your original post that the introduction of the FIX slowed things down. That seems counter-intuitive from a block count perspective. Does your FIX really select all level zero members in all dimensions?
    Last thought on this somewhat overactive thread (you are getting a lot of advice, who knows, maybe some of it is good ;) ) -- have you tried flipping the member calcs on their heads, i.e., take what is an Accounts calc and make it a Forecast calc with cross-dims to match? You would have different, but maybe more managable block creation issues at that point.
    Regards,
    Cameron Lackpour

  • @ATTRIBUTESVAL works properly in Calc script but not in Member Formula.

    We are using Essbase 11.1.2 –
    "Global_Period" is a Dynamic Calc Member. Below is its Member Formula:
    "ProjType " is an attribute (text) dimension.
    "Global_Period" ="ValidAccount";
    IF (@ISLEV ("Total_Expenses", 0) AND @ISMBR("HSP_InputValue") AND @ISLEV ("Version",0) AND
    @ISMBR("No_GL_Account") AND @ISLEV ("Scenario",0) AND @ISLEV ("Years",0) AND @ISMBR ("Local")
    AND @ISLEV("Tot_Org",0) AND NOT @ISIDesc ("Service_Division") AND @ISLEV("Tot_PRJ",0) )
    "Global_Period"->"No_GL_Account"-> @CURRMBR ("Projects") =
    1* "ValidAccount"->"Global_Version" ->"Global_Scenario"->&Budget_Year->"Global_Entity"->
    "No_GL_Account"->"HSP_InputValue"->"Local"->
    @MEMBER(@NAME(@CONCATENATE ("Proj_",@ATTRIBUTESVAL("ProjType"))));
    ENDIF
    The above Member- Formula is failed to work when opening a Data Form that contain "Global_Period".
    The error messages in the log file are as follow:
    [Thu Mar  1 16:55:39 2012]Local/Projects/Plan1/admin@Native Directory/1122748736/Error(1200370)
    Error executing formula for [Global_Period] (line 1): attempt to cross a null member in function [@X]
    [Thu Mar  1 16:55:39 2012]Local/Projects/Plan1/admin@Native Directory/1122748736/Error(1200370)
    Error executing formula for [Global_Period] (line 0): attempt to cross a null member in function [@_VAL]
    When converting the "Global_Period" to be a Store member.
    The Calc Script below is exactly equivalent to the Formula, and run perfectly with no Errors.
    "Global_Period" ="ValidAccount";
    FIX ("HSP_InputValue", "Local","No_GL_Account", @RELATIVE ("Total_Expenses", 0),
    @RELATIVE ("Version",0), @RELATIVE("Scenario",0), @RELATIVE ("Years",0),
    @REMOVE (@RELATIVE ("Tot_Org",0),@IDESCENDANTS ("Service_Division")),
    @RELATIVE ("Tot_PRJ",0))
    SET CREATENONMISSINGBLK ON;
    "Global_Period"
    ("Global_Period"->"No_GL_Account" -> @CURRMBR ("Projects")=
    1* "ValidAccount"->"Global_Version" ->"Global_Scenario"->&Budget_Year->
    "Global_Entity"->"No_GL_Account"->"HSP_InputValue"->"Local"->
    @MEMBER(@NAME(@CONCATENATE ("Proj_",@ATTRIBUTESVAL("ProjType"))));
    SET CREATENONMISSINGBLK OFF;
    ENDFIX
    For many reasons we prefer to use the Dynamic Calc Formula for "Global_Period".
    As result of some checking I discover that the problem is with the function @ATTRIBUTESVAL,
    because the formula has worked fine when I replace the @ATTRIBUTESVAL with a string.
    Please help, what is the right way to write the formula in order to make it work.
    Thanks
    Tami Kedem

    Dear Cameron Lackpour,
    Thank you very much, for your reply.
    I'd given it a try, but it didn't help.
    The purpose of this formula is as follow:
    We holds 1's (ones) for allowable combinations of "Project_Type and Accounts", namely, each project type has different list of accounts that are allowed for input.
    I need to populate the input 1's to all projects (and their children) according to its "ProjType".
    The Data forms has periods in columns, thus by putting "Global_Period" (Hide) as the first column, and use "Suppress Missing rows" - for each project (on the "Page") , the form will show just the allowable Accounts in rows.
    (we have around 300 Accounts, 50,000 members in Project dimension and around 25 Types of projects).
    Please help.
    Thanks!
    Regards,
    Tami Kedem

  • Optmization of calculation script Please help urgent

    hi all,
    I know three ways to tackle the block creation issue.
    1. Set CreateBlockon equation.
    2. try some data copy.
    3. calcualte a member via sparse dimension.
    I have a calc as shown below:
    Set CACHE HIGH;
    Set UPDATECALC OFF;
    SET AGGMISSG ON;
    FIX( @Relative("Entity",0),
         @Relative("Business Unit",0)
         @Relative("Branch",0),
         &CurScenario,
         &CurVersion,
         &CurYr,
         "M00",
         "P00000",
         "I000"
    FIX("AAAA")
    "DH" = "Gross Sales"->"External sales"->"MEU" * "Freight Out Percent"->"U000"->"D00000"->"B000"->"00";
    ENDFIX
    ENDFIX
    This is the third method that i mentioned above i am trying to apply to this calc that is calcualtion it via sparse dimesion as first 2 are not working good.
    "AAAAA" is dense dimesion member in accounts and rest every member is sparse.
    The member gross sales, External sales and MEU are all dynamic calc.
    This Calc run for 45 mins just to calculate one account and i have 4 accounts that need to be calculated by this in the same manner and i am trying to optimize this script so that i can reduce its run time.
    However i made another copy of this script in the following way:
    Set CACHE HIGH;
    Set UPDATECALC OFF;
    SET AGGMISSG ON;
    FIX( @Relative("Entity",0),
         @Relative("Business Unit",0)
         @Relative("Branch",0),
         &CurScenario,
         &CurVersion,
         &CurYr,
         "M00",
         "P00000",
         "I000"
    "DH"
    IF (@ISMBR("AAAAA"))
    @CALCMODE(BLOCK);
    @CALCMODE (Bottomup);
    "DH"= @Round((("Gross Sales"->"External Sales"->"MEU") * ("Freight In Percent"->"U000"->"D00000"->"B000"->"00")),2);
    ElSEIF (@ISMBR("BBBBB"))
    @CALCMODE(BLOCK);
    @CALCMODE (Bottomup);
         "DH"= @Round((("Gross Sales"->"External Sales"->"MEU") * ("Freight Out Percent"->"U000"->"D00000"->"B000"->"00")),2);
    ENDIF
    ENDFIX
    In th above version of the script it runs very fast but dont calculate any value :( for the account "AAAAA" & "BBBB"
    I have tried almost every way to do this and running short of ideas to optmize this.
    Is there any other way in which i can tackle the block creation issue or a way in which i can bring down the run time of this calculation
    Any suggestion regarding this would be great
    Thanks for help!
    Edited by: user4958421 on Jun 29, 2009 10:18 AM
    Edited by: user4958421 on Jun 29, 2009 10:18 AM

    For block creation issue:
    SET CREATEBLOCKONEQ equation will only work if the left side of an assignment statement is sparse.
    If the left side of an assignment is dense, you need to use SET CREATENONMISSINGBLK ON.
    For example:
    1.
    FIX("DH")
    SET CREATENONMISSINGBLK ON;
    "AAAAA" = "Gross Sales"->"External sales"->"MEU" * "Freight Out Percent"->"U000"->"D00000"->"B000"->"00";
    ENDFIX
    With the above, try to fix as little as possible. For example: do you really need to run the above
    formula for @Relative("Entity",0),@Relative("Business Unit",0), and @Relative("Branch",0)? Or
    actually the above formula is only needed for specific entity, business units and branch.
    2.
    FIX("AAAA")
    SET CREATEBLOCKONEQ ON;
    "DH" = "Gross Sales"->"External sales"->"MEU" * "Freight Out Percent"->"U000"->"D00000"->"B000"->"00";
    ENDFIX
    Another technique you can try:
    3.
    FIX("AAAA")
    "DH" = 0;
    "DH" = "Gross Sales"->"External sales"->"MEU" * "Freight Out Percent"->"U000"->"D00000"->"B000"->"00";
    ENDFIX
    And, you can also consider to change member "AAAA" to dynamic calc, and
    put the formula in the member. With this, you will not have calculation performance issue.
    If you use a calc like this:
    Sales (
    IF (@ISMBR(Jan))
    Sales=100;
    ENDIF)
    You do not need to repeat sales, so,
    it will be:
    Sales (
    IF (@ISMBR(Jan))
    100;
    ENDIF)

  • How to get TRIMMEAN  excel function in Essbase

    Hi,
    I am in Essbase 11.1.2, where we have a requirement to calculate avg of some value by following Excel function business use in Excel.
    IF(TRIMMEAN(AS13:AZ13,$BA$11)<0,0,TRIMMEAN(AS13:AZ13,$BA$11))
    just wanted to know if anyone use this in Essbase or any workaround to get this function value in Essbase.
    -KP

    You have to go through DBAG for more info on @XREF
    here is example of script we use
    SET UPDATECALC OFF;
    FIX(members in employee, members in entity)
    SET CREATENONMISSINGBLK ON;
    "Account_1" = @XREF(_Location alias, "PRODUCT");
    ENDFIX
    what we do is pull data from account_1 of databse 2 to database 1.
    you should specify location alias in database before executing this script.
    good luck.

  • How to find the next empty member to use it in the FIX statement?

    Hi,
    I need to create a HBR that, when launched, finds the first member that has a #MISSING value and updates this value with 1. I've tried to create similar code to those from Workforce, however with no success.
    The value of 1 should be entered for the first empty child of "Transactions" in combination with account "A-1061800", "No Custom3", "No Custom4", "FY10", "E-00000", "BegBalance", "Robocza", "Budget", and "C2-00000".
    The code I've developed looks like this:
    SET CREATENONMISSINGBLK ON;
    +FIX("BegBalance",[KHSA_PLAN2_CUSTOM3],[KHSA_PLAN2_CUSTOM4],"E-00000","FY10","Budget","Robocza",[KHSA_PLAN2_CURRENCY],HSP_InputValue)+
    +"A-1061800"(+
    IF(@MAXS(SKIPMISSING,@CHILDREN("Transactions")) == #MISSING)
    +"C2-00000" = 1;+
    ENDIF)
    ENDFIX
    The HBR however updates all children of "Transactions" with value of 1 - for two days I've been searching for a way to fix on a first empty child of "Transactions".
    Maybe someone could help me, please?
    Regards
    Marcin Stawny

    There isn't a built-in function to perform calculations on thable cells. What you can do is to retrieve thable cells values and calculate the average by yourself.
    To retrieve a bunch of cells in a single instruction you can use GetTableCellRangeVals: prerequisite for this function to work correctly is that cells are all included in a Rect structure (shortly, a rectangle) and are all of the same data type. See the help for the function for some explanations and the link to an example of its usage. In Cell range parameter you can pass VAL_TABLE_ROW_RANGE (row) macro to retrieve an entire row. See here for details.
    Once you have retrieved cell values in an array, you can pass it to Mean function to calculate the average.
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • DATACOPY from Dynamic Calc Member not working

    Hello,
    I have a BR to Copy from one Scenario to another. I let the user chose the Scenario via RTP. When they chose a dynamic calc scenario no data is copied.
    Here is the Rule
    SET CREATENONMISSINGBLK ON;
    SET COPYMISSINGBLOCK ON;
    FIX(Dec, "Daten brutto", "Daten_brutto_P_M")
    DATACOPY [TEBIT_COPY_Year_Source]->[TEBIT_COPY_Scenario_Source]->Final TO [TEBIT_COPY_Year_Target]->[TEBIT_COPY_Scenario_Target]->Version_1;
    ENDFIX
    I fix on some specific Members an then copy from a specific Year->Scenario combination the Final Version to another Year->Scenario combination Version_1. Doing this with a store Scenario works, with a dynamic calc Scenario it doesnt.
    Thx for your Help.

    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

  • FIX STATEMENT AND LARGE SPARSE DIMENSIONS

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

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

  • Essbase 9.3.3 - data export files

    Hi
    I know when creating exports in Essbase when a file reaches 2gb Essbase will automatically generate a new file of the same and append the extension _1 to the name. I'm trying to find out if there is a way to control where the split happens. At the moment when I open the second file it starts halfway through a data line and then the header row appears about 80 rows down into the file. This means I get issues when trying to load this file into another cube using a load rule.
    These are the settings I have at the top of my export file.
    SET LOCKBLOCK HIGH;
    SET UPDATECALC OFF;
    SET AGGMISSG ON;
    SET NOTICE DEFAULT;
    SET MSG SUMMARY;
    SET CACHE HIGH;
    SET CALCPARALLEL 3;
    SET EMPTYMEMBERSETS ON;
    SET CREATEBLOCKONEQ OFF;
    SET CREATENONMISSINGBLK OFF;
    SET FRMLBOTTOMUP ON;
    SET DATAEXPORTOPTIONS
    DataExportLevel LEVEL0;
    DataExportDynamicCalc OFF;
    DataExportDecimal 6;
    DataExportPrecision 16;
    DataExportColFormat ON;
    DataExportColHeader "Synapse Pipeline Stage";
    DataExportDimHeader ON;
    DataExportRelationalFile OFF;
    DataExportOverwriteFile ON;
    DataExportDryRun OFF;
    Thanks in advance for any help.

    Could you not break up the export into multiple exports to bring the file size down to less than 2GB, then load the multiple exports into your target database.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Aggregation taking more time

    Dear All,
    I am running the below aggregation script which is taking more than 45 mins to run ... can u pls suggest the the optimizing the script further
    SET AGGMISSG OFF;
    SET CACHE HIGH;
    SET CALCPARALLEL 6;
    SET CLEARUPDATESTATUS OFF;
    SET LOCKBLOCK HIGH;
    SET UPDATECALC OFF;
    SET CREATENONMISSINGBLK OFF;
    Fix ("Actual",{RTP_Year},"HSP_InputValue")
    Fix (@IDESCENDANTS({RTP_Period})
    AGG ("BusinessUnit","Category","Region","Brand","Channel","SubCategory","Promotion");
    "Gross Margin %" = "Gross Margin" / "Revenue";
    "Net Gross Margin %" = "Net Margin" / "Revenue";
    ENDFIX
    CALC DIM ("Account","Period");
    ENDFIX

    I am making some recommendations based on my own assumptions that were formed by the calc you provided.
    1. Utilize upper level dynamic calc in Dense dimensions. (eliminate the "CalcDim("Accounts", "Period"), also then you fix on @Relative(RTP_Period, 0) instead of all descendants)
    2. Create different members for driver inputs and metric reporting, where "Gross Margin Pct", etc are dynamic calc members. (eliminates the "Back Calc")
    3. Design your app to only calculate on level 0 members, and utilize essbase's inherent aggregation calculation capabilities for rollup (I know, a general statement, but a good one)
    Good luck, it's an art form optimizing calcs.
    Robert

  • HBR Error thrown when using @NEXTSIBLING or @SHIFTSIBLING within the FIX

    Hi,
    I'm working on a HBR that works fine, when using the following code:
    SET CREATENONMISSINGBLK ON;
    +FIX("BegBalance",[KHSA_PLAN2_ACCOUNT],[KHSA_PLAN2_CUSTOM3],[KHSA_PLAN2_CUSTOM4],"E-00000","FY10","Budget","Robocza",[KHSA_PLAN2_CURRENCY],HSP_InputValue)+
    FIX(T4)
    +"C2-00000"= 2;+
    ENDFIX
    ENDFIX
    Now, I'd like to use the @NEXTSIBLING or @SHIFTSIBLING within the second FIX statement, so the BR code looks like this:
    SET CREATENONMISSINGBLK ON;
    +FIX("BegBalance",[KHSA_PLAN2_ACCOUNT],[KHSA_PLAN2_CUSTOM3],[KHSA_PLAN2_CUSTOM4],"E-00000","FY10","Budget","Robocza",[KHSA_PLAN2_CURRENCY],HSP_InputValue)+
    FIX(@NEXTSIBLING(T4))
    +"C2-00000"= 2;+
    ENDFIX
    ENDFIX
    When launched, the HBR throws an error: Detail:Cannot calculate. Essbase Error(1200315): Error parsing formula for [FIX STATEMENT] (line 3): invalid object type
    I'm missing sth, am I not?
    Thanks for help, regards
    Marcin Stawny

    It truly helped, however I went further and wanted to use @SHIFTSIBLING where the shift integer comes from a sum of data values. The code looks like this:
    SET CREATENONMISSINGBLK ON;
    +FIX("BegBalance",[KHSA_PLAN2_ACCOUNT],[KHSA_PLAN2_CUSTOM3],[KHSA_PLAN2_CUSTOM4],"E-00000","FY10","Budget","Robocza",[KHSA_PLAN2_CURRENCY],HSP_InputValue)+
    FIX(@MEMBER(@SHIFTSIBLING("T1", (@SUM(@DESCENDANTS("Transactions"))))))_
    +"C2-00000"= 1;+
    ENDFIX
    ENDFIX
    The @SUM(@DESCENDANTS("Transactions")) calculates the sum properly (verified this part of the code in another place), however it seems that it has to be passed as an integer to the @SHIFTSIBLING, hasn't it?
    How can I do that?
    Regards
    Marcin Stawny

  • Hyperion Planning - Calculation script take too much time to complete

    Dear all,
    I'm using version 11.1.2.1, and i need your help to solve our problem
    I had 5 dimension:
    Entity : Parent Company with > 50 level 0 member
    Items: Capex-Asset Item with > 500 level 0 member
    Account: Capex Account with > 20 level 0 member and 1 member is Exchange_rate
    Currency Dimension: with 3 member: VND, Euro & USD
    And 1 dimension with 2 member: Input & Total
    - I enter data in Input member and with Total member i write a rule:
    Fix (@descendants("Parent Company",0),@descendants("Capex-Asset Item",0),@descendants("Capex Account",0),VND,Total)
    Jan = Jan->Input + (Jan->Input->USD * Jan->Input->USD->Exchange_rate) + (Jan->Input->Euro * Jan->Input->Euro->Exchange_rate);
    Dec= Dec->Input + (Dec->Input->USD * Dec->Input->USD->Exchange_rate) + (Dec->Input->Euro * Dec->Input->Euro->Exchange_rate);
    ENDFIX
    - After running this rule, the data didn't come, but when i enter manually data in 1 row and save -> calculated data came.
    - I think this issue occur because the rule can't create block, so i add 1 command in my rule : SET CREATENONMISSINGBLK ON;
    - The calculated data came after adding new command but it took more than 30 mins to complete.
    Please give me some advices or solutions to turning this rule to run more faster.
    Many thanks for your help....
    Regards,
    SonNT

    You have a block creation issue. The reason it worked after you entered a 1 is because that created the block. If you have a dense dimension on the left (Jan), it will never create the block (unless you have the createblockonequation setting ON). If you turn this setting on, it will take a REALLY long time to run.
    My suggestion to you is that you change the formula so you have a sparse member on the left side of the equation. If you are trying to copy, in some fashion, data from input to total, put total on the left side of the equation and change your fix to Input. You won't need to reference any period as it will run on all the periods because they aren't in the fix. You will basically be looping through the Input blocks, and for every block, you will put the data TO Total.
    Again, assuming you are trying to copy to Total
    Change
    Jan = Jan->Input + (Jan->Input->USD * Jan->Input->USD->Exchange_rate) + (Jan->Input->Euro * Jan->Input->Euro->Exchange_rate);
    To
    Input = Input + (Input->USD * Input->USD->Exchange_rate) + (Input->Euro * Input->Euro->Exchange_rate);
    Again, don't forget to change the fix from Total to Input
    Kyle Goodfriend
    http://www.in2hyperion.com
    h4. Please make sure to assign helpful/answered to responses if applicable - it rewards those who help and benefits the user community.

  • How to use the xref function in essbase

    please give some examples

    You have to go through DBAG for more info on @XREF
    here is example of script we use
    SET UPDATECALC OFF;
    FIX(members in employee, members in entity)
    SET CREATENONMISSINGBLK ON;
    "Account_1" = @XREF(_Location alias, "PRODUCT");
    ENDFIX
    what we do is pull data from account_1 of databse 2 to database 1.
    you should specify location alias in database before executing this script.
    good luck.

  • Trend

    Hi All,
    I have daily calendar and fact data for FY03-06 loaded into my DB.
    The task is to forecast budget for FY07. I am first trying to do it for just one day:
    FIX(Budg,Income,Final)
         "01 01 01011 01 0000 110"
    (@TREND
    (@LIST(Fact03->"Jan-1",Fact04->"Jan-1",Fact05->"Jan-1",Fact06->"Jan-1")
    "Fcast-Jan07"->"Jan-1",LR);
    endfix;
    the rule is valid and the calculation completes ok, but no forecast appears,
    what is wrong in my script?
    "01 01 01011 01 0000 110" - line item (account member)
    "Fcast-Jan07" - forecast scenario
    Fact03-06 - scenarios for the fact data.
    Budg,Income,Final - Generic, Entity, version members,
    the fact data does exist.
    thanks in advance,
    Andrei

    Andy, Glenn,
    thanks to both of you.
    SET CREATENONMISSINGBLK ON - did help and I see the forecast for Jan-1 and the given account.
    but now I need to forecast this account for each day of January in one go. is it possible?
    I tried this but Essase just copied the values from Fact03 to the forecast scenario:
    FIX(Budg,Income,Final,"Fcast-Jan07",FY07)
    SET CREATENONMISSINGBLK ON;
    "01 01 01011 01 0000 110"
    (@TREND
    (@LIST(Fact03->FY03->@CHILDREN(Jan),Fact04->FY04->@CHILDREN(Jan)
                   ,Fact05->FY05->@CHILDREN(Jan),Fact06->FY06->@CHILDREN(Jan))
    @CHILDREN(Jan),LR););
    endfix;
    best regards,
    Andrei

Maybe you are looking for

  • Socket with different ports

    hello everyone! i have a java.net.ServerSocket listening on port 5000. "normal" users can connect to it, but those who sit behind a school/office/etc LAN can't use port 5000, only port 80 (and sometimes 443), so they can't connect. is there a way to

  • Photoshop Elements 6 - Organiser Hangs - XP

    For the last couple of months, when I open the Organiser it just hangs and I have to force it to shut down. Anyone else have this problem and know how to fix it? Glen

  • GeForce 4 MX440 not working properly

    Dear all. Can somebody help: I just bought a computer with a MX440 card, and games, even the bundled games, don't display properly. Especially when coming across lights (torches, night vision), window panes and mirrors, the screen goes hay-wire with

  • Server won't boot after update

    This is the second server that's had this issue. I've rebooted after successful installation of updates and I get dumped at the recovery screen like this: No amount of rebooting fixes it. Disabling automatic repair drops me to a files missing error s

  • Default Posting Date KSU5

    Hi, While running KSU5 , the default posting date is last day of period. We need to change the default posting date to current date.Please advise on any userexit/ solution if it has been implemented for same. Thanks in advance. Regards, S.Sumana.