Calc script FIX logical control flow?

If I have 2 set of statements in a single calc script how essbase takes control of flow?

example:

FIX (1,2,3,4)

CLEARDATA 5;

ENDFIX;

FIX (1,8,9)

CLEARDATA 7;

ENDFIX;


He would first open the installment of the first fix entirely and goes to the next slice of fix? or would clearly be 1-5 first and 1 side-> 7 > and run the logic by circulating the loop b/w two corrections.

It's maybe a stupid question, and I can miss something very basic.

Thanks for any help.

The first fix and clear would be run, and the other doesn't. The ExdFix is the terminator of each PATCH.
You might have
FIX (1,2,3,4)
Calculation
FIX (A, B, C)
something
ENDFIX
ENDFIX

that would include ABC in the process, but only for 1,2,3,4

Tags: Business Intelligence

Similar Questions

  • Facing the question in calc script while trip data for the current year to the previous year

    Hi all

    Need your serious help in my calc script.

    I am writing a calc script to transfer data from order book of FY15 Q1 to Q4 FY14 here is the problem in my script. If spin this script to copy the same year, it works fine but when trying to load between two different years, it does not work. could someone help me please. where miss me the logic. Thanks for the help in advance.

    Here's the script:

    ESS_LOCALE English_UnitedStates.Latin1@Binary

    SET AGGMISSG

    DIFFICULTY (@List ("real GL", "Real ML", "ACT", & ActualLoadYrBklg))

    () "Dec / (Inc.) in suffering.

    IF (@Ismbr ("Q4"))

    "Dec / (Inc.) in suffering (Non - di) =.

    -1 * (("Q1"-> "starting Backlog",-1,@Relative("Years",0)) @Prior - ' count backward (Non - di) ");

    "DENTE change overdue =.

    -1 * (@Prior ("Q1"-> "Cost",-1, @Relative("Years",0))-"Cost of rear" rear);

    Else if (@IsMbr ("Q1": "Q3"))

    "Dec / (Inc) order book ' =-1 * (@Prior ('Rear start',-1, @Relative("YearTotal",0))-" starting back (Non - di) "");

    'Change of GEAR wheels in suffering' =-1 * (@Prior ("backward Cost",-1,@Relative("YearTotal",0)) - "money back");

    endif ;)

    endfix

    SM.

    My first question is what is the order of members in your dimension years and quarter the level low your dimension of periods? Secondly, what dimensions are rare and dense (can you tell me which members in the calc are in dense and sparse dimensions)

    Third, you cite the specific years FY15 and FY14, I suppose that & ActYearBklg is FY15 assuming this is correct, I would add a substitution variable for & PriorYrBklg with FY14 inside (if I'm back, and then modify the variables) for clarity, I'm going to hardcode the values in the Calc. It also assumes years is sparse

    You can try this

    FIX ("GL 'real 'real ML", "ACT", "FY15") / * you need not @list * /.

    () "Dec / (Inc.) in suffering.

    IF (@Ismbr ("Q4"))

    "Dec / (Inc.) in suffering (Non - di)"-> "FY14 =.

    -1 * ("Q1'-> 'backlog begins' - 'Start rear (Non - di)'->"FY14");

    "DENTE change orders"-> "FY14 =.

    -1 * ("Q1"-> "Of back - cost"Back cost"-> FY14");

    Else if (@IsMbr ("Q1": "Q3"))

    ("Dec / (Inc) order book"-> "FY14' =-1 * beginning backlog->"FY14'-'Begins the backlog (Non - di)');

    'Change of CMV in the order book "->" FY14' =-1 * ('Back cost'-'Back cost'-> "FY14");

    endif ;)

    endfix

    The years may be replaced by the subvars

  • BSO - Calc Script - improve an addition

    Hello

    I have a little problem with my calc script. I want a dynamic script with variables and not explaining each step.

    I want to calculate the EURO currency values.

    Fix ("March")

    'Euro')

    IF (@ISUDA ("Accounts", "AR"))

    IF (@ISUDA ("Entity", "heart")) 'Euro ' is' EUR '.

    ElseIf (@ISUDA ("Entity", "cAED")) 'Euro' = ("AED"-> "January", "AED"-> "February" + "AED"-> "Market") * "AED"-> "Average_Rate"-("euros"-> "Janvier" + "Euro"->"février");

    I want to make the variables of the month as AED-> 'January': 'currmonth'.

    I tried that, but it did not work.

    How to calculate is how: periodical EUR = (YTD(April-LC)*April-FX-Rate)-YTD(March-EUR)

    Can some help me with a Board?

    Thank you very much

    Ben

    Look in the function @SUMRANGE in the Ref of the Essbase Tech, I think this should do what you ask for.

    Oracle Essbase Technical Reference

    Robert

  • Several simultaneous calc scripts?

    Hi all:

    Everyone figured out to launch multiple simultaneous calc scripts, for example using MaxL?

    We have an application of multi-cube wherein BSO cube "A" performs calculations and aggregations and then exports data to the cube BSO 'B' to learn more (heavy expense allowances) treatment. Results in cube 'B' are then exported and loaded into a cube ASO, and then we CLEARBLOCK SUPERIOR and restructuring BSO cube "A", he prepares for the next round, which could be immediate, but for another year (each "run" is performed on a single year and sometimes change us the methods of distribution and re - run several years; other times we just the current year).

    I would like if possible perform the CLEARBLOCK cube 'A' while cube 'B' deals with allowances. Any thoughts on how to achieve this?

    Thank you!

    Hello

    Why not put separate tasks in a batch file to run separately?

    1 batch file-> perform the calculation on A Cube

    2 batch file-> export data Cube B & perform Heavy Duty allowances on Cube B

    Batch file 3-> results are exported to a Cube ASO

    4-> CLEARBLOCK controls and restructuring on A file

    Now that they are distinct from batch files, you can run your first batch file 4 while 2 Batch file runs. Just make sure you have one or the variables assigned in your calc script to pick up the value of the current year

    I hope this helps!

    Thank you

    (Please check this post useful or appropriate if this can help you)

  • Help with pointing to the ATTRIBUTES - Calc Script

    Hi all

    I have a question about pointing to the attributes in the calc script:

    I want to calculate members (level 0) associated with the attribute 'A', but their parent attribute must be tied to the attribute 'B '.

    So if my Sun structure looks like:

    LVL 1: mbr 1 (ATTR = 'B')

    LVL 0: mbr 2 (ATTR = 'A')

    0:MBR lvl 3 (ATTR = 'C')

    lvl1: mbr 4 (ATTR = "D")

    0:MBR lvl 5 (ATTR = 'A')

    0:MBR lvl 6 (ATTR = 'A')

    According to the above example, the calculated member list should be: "mbr 2.

    I don't know how to do in my script to the PARENT of the CURRMBR its attribute is equal to "B."

    The problem is oriented to the PARENT attribute with the IF statement while you run level 0.

    I also tried to FIX it, but it was not effective, you can not write FIX (@CHILDREN (@ATTRIBUTE ('B'))).

    I'll be happy if someone could share their ideas,

    Thank you

    Really?  Documentation (which I corrected not always, I admit) indicates that the parameter mbrList can be 'a comma-delimited list of members grouped together using @LIST or set function member (for example @DESCENDANTS) that returns a list of members.'.

    I created an additional attribute of 'MarketSize' with 'GRL' and 'Sml' members in Sample.Basic, then labeled 'East' and 'Central' as "LRG" and found that it works very well:

    DIFFICULTY (@EXPAND ("@CHILDREN", @ATTRIBUTE ("Lrg")))

    "Sales" = 999;

    ENDFIX

  • tot calc script.

    Hello

    I need to write a calc script that aggregates real exercise, budget and forecasts.

    I have 1 dense and sparse decreases intensity, please help me with example script aggregation.

    Kind regards.

    This is not a simple question to answer without knowing more about your request but try this for starters:

    Fix ("FY13", "Actual", "budget", "Forecast")

    AGG ("SparseDim1", "SparseDim2", "SparseDim3", "SparseDim4");

    ENDFIX

    You can use a variable substitution for the year.

    I guess that dense Sun's dynamic Calc. You ca't aggregate year or scenario as they are in your statement of fix, you do not want to aggregate all other non concentration sparse dimensions such as Version either.

    You probably need something more suited to your environment, but it should be a good starting point.

  • Calc script error

    Hi all

    During the validation of a script to calc we get

    "1012001 calc error invalid script syntex.

    Calc script is

    DIFFICULTY (@RELATIVE ("YearTotal", 0), "BegBalance")
    , 'Budget '.
    "USD", "LC")
    Fix (@relative("NET_INCOME",0), @relative("CostCenter",0), @relative("segment",0), @relative ("E.0000)
    FIX (@RELATIVE("TOT_SOURCE",0))
    CLEARDATA "FY14'-> 'work '.
    ENDFIX
    ENDFIX

    Can someone help us with it.

    Concerning

    + 1

    > FIX (@RELATIVE("NET_INCOME",0), @RELATIVE("CostCenter",0), @RELATIVE("Segment",0), @RELATIVE ("E.0000)

    DIFFICULTY (@RELATIVE ("NET_INCOME", 0), @RELATIVE("CostCenter",0), @RELATIVE ('Segment', 0), @RELATIVE("E.0000",0))

  • Calc script tips: SET FRMLBOTTOMUP ON

    Calc script experts, any advice on when to use and when NOT to use the above in a calc script?

    The manual warns against the use of if you have a complex calculation such as a cross-dimensional reference in your formula.

    The caveat is that when you apply a calc such as a = b-> c any combination of a need to be searched to see if there is any intersection b-> c. I think that in our situation, it should be ok because

    1. I believe that we create the block with the if statement.

    2. the intersection of b-> c is high-level and b and c are the dense dimensions and must exist for each combination of a. I would like your comments if you use this method seems reasonable for the following calc (generic), based on the 1 and 2 and also my correct results of tests showing.

    DIFFICULTY (FY13:FY16, "SparseDim1", "SparseDim2", "account dense level 0",

    @RELATIVE("SparseDim3",0), @RELATIVE("SparseDim5",0),

    @RELATIVE("SparseDim6",0))

    ("SparseDim4"

    IF (@ISMBR ("Jan")) 'SparseDim4' = ' agg dynamic high-level dense account '->' (dynamic/dense) JanYTD ";

    ElseIf (@ISMBR ("Feb")) 'SparseDim4' = ' agg dynamic high-level dense account '->' (dynamic/dense) FebYTD ";

    ElseIf (@ISMBR ("Mar")) 'SparseDim4' = ' agg dynamic high-level dense account '->' (dynamic/dense) MarYTD ";

    ElseIf (@ISMBR ("Apr")) 'SparseDim4' = ' agg dynamic high-level dense account '->' (dynamic/dense) AprYTD ";

    ElseIf (@ISMBR("May")) "SparseDim4" = "agg dynamic high-level dense account '->' (dynamic/dense) MayYTD";

    ElseIf (@ISMBR ("may")) 'SparseDim4' = ' agg dynamic high-level dense account '->' (dynamic/dense) JunYTD ";

    ElseIf (@ISMBR ("July")) 'SparseDim4' = ' agg dynamic high-level dense account '->' (dynamic/dense) JulYTD ";

    ElseIf (@ISMBR ("Aug")) 'SparseDim4' = ' agg dynamic high-level dense account '->' (dynamic/dense) AugYTD ";

    ElseIf (@ISMBR ("Sep")) 'SparseDim4' = ' agg dynamic high-level dense account '->' (dynamic/dense) SepYTD ";

    ElseIf (@ISMBR ("Oct")) 'SparseDim4' = ' agg dynamic high-level dense account '->' (dynamic/dense) OctYTD ";

    ElseIf (@ISMBR ("Nov")) 'SparseDim4' = ' agg dynamic high-level dense account '->' (dynamic/dense) NovYTD ";

    ElseIf (@ISMBR ("Dec")) 'SparseDim4' = ' agg dynamic high-level dense account '->' (dynamic/dense) DecYTD ";

    ENDIF)

    ENDFIX

    Highlight the specificities:

    Dimension / Dense or sparse / members in the dimension / registered members

    Account 2322 1828 Dense

    Dense period 147 16

    3 3 rare SparseDim1

    Rare SparseDim3 73 10

    Rare SparseDim4 8 8

    Sparse year 15 15

    Rare 17 17 SparseDim2

    Rare SparseDim5 189 176

    11626 6675 rare SparseDim6

    If the 91 in this username is your year of birth, I feel old...

    It's funny that Essbase is smart enough to distinguish a 'complex' formula that references only other dense dimensions vs one making reference to scattered dimensions, but maybe I just haven't thought that through enough hard.

    In any case, I think your logic is good.

    I guess when you force ascending mode, you see a message in the log indicating that descendant is used.  You could delete the database, load your data entry only, calculate and make a number of block, repeating without and without force from the bottom up and confirm that the number of blocks is the same after the Calc.

    Moreover, I do not know what else happens in this calc, but I think you could use @CALCMODE (BACKWARD) throughout this member calculation block, rather than using SET FRMLBOTTOMUP ON for the script.

  • Doubt of Calc script...

    Hi all

    We have a calc script

    SET AGGMISSG
    UPDATECALC OFF SET;
    SET CACHE HIGH;
    GAME CALCPARALLEL 2;

    FIX (scenario, CurrYear & Version)
    AGG ('entity', 'Employee');
    ENDFIX

    FIX (scenario, CurrYear & Version)
    CALC DIM ("account");
    ENDFIX

    When we run the script above, "new employees" is not get aggregated... IE tbh1... tbh30 are not grouped for "new employees".

    But when we DIM CALC ("account"); 1 then employee Sun gets aggregated

    FIX (scenario, CurrYear & Version)
    CALC DIM ("account");
    ENDFIX

    FIX (scenario, CurrYear & Version)
    AGG ('entity', 'Employee');
    ENDFIX


    It can be simple... am I missing something

    You should be wearing the dim calc account first and then do the aggregation. First of all you want to do all your calculations on your dense dimensions, and then you want to group the results in all your sparse dimensions.

  • Calc script gives parameters

    Hi gurus

    I'm a new user, but I hope to be helpful... I am tring to sign a script calc ODI form and I had a problem like

    Essbase Error (1030214): [odiuser] user cannot access calc script: < NAME OF THE CALC SCRIPT >

    Anyone know if there are some grants to set and where? or how to fix?

    Thank you very much

    If I remerber properly, through EAS console-Essbase Server-> Security >->

    Published by: David THE on 9 July. 2012 10:47

  • The use of AND and or in the Calc Script / business rule

    I try to use the [newish] AND/OR the parameters in a calc script and can't seem to find the right combination for my task. My current code looks like this:

    Fix ("Version_1")
    DIFFICULTY ("Outlook_3", "FY12")
    CLEARBLOCK ALL;
    ENDFIX
    DIFFICULTY ('Plan', "FY13")
    CLEARBLOCK ALL;
    ENDFIX
    ENDFIX

    I'd like to be able to do the CLEARBLOCK in one pass, combining the two internal fixes in one alone.

    Any thoughts?

    Fix ("Version_1")

    CLEARDATA 'Outlook_3'-> "FY12;
    CLEARDATA 'Plan'-> 'FY13.

    CLEARBLOCK VACUUM;

    ENDFIX;

  • Use of substitution in the calc script variables

    Hi all

    I create a calc script to recalculate my cube BSO for a given date, when I load the data in one night (for the previous day). I have a process that defines a variable substitution SELECT_DATE that load data rule uses to select the data in the source transactional system.

    However when I try to use that in my calc script it seems to like it - by script seems reasonably simple can anyonce advise on where I'm wrong or another method?

    Script:

    ESS_LOCALE English_UnitedStates.Latin1@Binary
    UPDATECALC OFF SET;
    SET CALCPARALLEL 4;

    FIX (@ALLANCESTORS (& SELECT_DATE))
    DIM CALC ({comma seperated list of all dimensions in the cube});
    ENDFIX

    @ALLANCESTORS (& SELECT_DATE);

    SET UPDATECALC

    I get the error:

    Error: 1200354 error analysis formula [statement of DIFFICULTY] (line 5): type [MEMBER] [number] ([]) in function [@ALLANCESTORS]

    & SELECT_DATE contains 21/03/2011

    If I replace it & with "21/03/2011' SELECT_DATE it checks OK.

    Please let know us, using a CALC SET begins to take too long to run quietly all night.

    Thank you

    Is it possible, that you can set the variable with quotes, for example "21/03/2011.

    See you soon

    John
    http://John-Goodwin.blogspot.com/

  • The use of variables in the Calc scripts and business rules

    I'm sure that there have been previous discussions on this topic, but can anyone let me know the benefits of using variables in scripts of Calc and BRs?

    Thank you
    A
    I've never used variable Calc and after reading a guide to the study, which has talked about them, I didn't really understand the benefits.

    ^ ^ ^ I use variables all the time to make difficult abstract formulas. Here is an example.

    /*     Declare variables     */
    VAR varSalaryCosts ;
    VAR varProdOHLabXXXX ;
    VAR varXXXX ;
    
    A whole bunch of code here along with very limited FIX statement and then...
    
    "Salaried Labor"
    (
         varSalaryCosts = "Salary Costs"->"No Department"->"No Category"->"Salaried" -
                             "Wage Bonus"->"No Department"->"No Category"->"Salaried" -
                             "YYYY Retention Bonus 40%"->"No Department"->"No Category"->"Salaried" -
                             "YYYY 60% Ret Bonus Accrual"->"No Department"->"No Category"->"Salaried" ;
         varProdOHLabXXXX = "Number of Employees"->"ZZZZDepartments"->"Codes"->"Salaried" +
                             "Number of Employees"->"Blah Departments"->"Codes"->"Salaried" +
                             "Number of Employees"->"Humph Departments"->"Codes"->"Salaried" +
                             "Number of Employees"->"TTTT"->"Codes"->"Salaried" ;
         "Salaried Labor" = varSalaryCosts * ("Number of Employees"->"Salaried" / varProdOHLabXXXX) ;
    )
    

    The last formula is how the formula was described to me by the owner of the company. I find it much easier to read something like:

    "Salaried Labor" = ("Salary Costs"->"No Department"->"No Category"->"Salaried" -
                             "Wage Bonus"->"No Department"->"No Category"->"Salaried" -
                             "YYYY Retention Bonus 40%"->"No Department"->"No Category"->"Salaried" -
                             "YYYY 60% Ret Bonus Accrual"->"No Department"->"No Category"->"Salaried") *
                             ("Number of Employees"->"Salaried" /
                             ("Number of Employees"->"ZZZZDepartments"->"Codes"->"Salaried" +
                             "Number of Employees"->"Blah Departments"->"Codes"->"Salaried" +
                             "Number of Employees"->"Humph Departments"->"Codes"->"Salaried" +
                             "Number of Employees"->"TTTT"->"Codes"->"Salaried")) ;
    

    I used the TABLE in a calc script really-cool-but-alas-not-invented-by-me do better than planning made the conversion of currency currency conversion in planning. (How's that for a run-on sentence?) It is one of the six blog posts that I'm trying and I will end it soon, I hope. I am now thrash mode. It doesn't have its uses and I'll try to remember to update this thread when I'm done.

    Kind regards

    Cameron Lackpour

  • Meaning of a Calc Script

    Hello

    There is a calc script,

    -----
    UPDATECALC OFF SET;
    SET AGGMISSG

    CALC ALL;
    +@idescendants ('check'); +
    + ' Average weight by borrowing rate; +
    -----

    Please let us know the meaning of the above script.

    Thank you!

    There are a couple of fixes I need to previous messages.
    Enabled, Updatecalc off Off the intelligent calculator, that it does not depend on it as says the posst. The setting as it is, force Essbase to recalculate all blocks those not just changed.

    The two statements after the calc all;
    Have impact, they will go back into the database and recalculate members. If they have formulas on them it will be retrigger formulas. The last statement in particular looks like a back calc to get ratios of corrects after things aging upward. Several times, you can get around this by putting the dynamic member calc two passes. (I guess it has a formula to this topic)

  • Calc script double consideration for some members

    Hello guys,.

    I have the following script calc that works
    great for a couple of hundred members, but
    for two of them the calc script
    duplicate values.
    I'm looking at him for a while but can't
    find a reason. any suggestions?

    Fix (@relative(Accounts,0), @RELATIVE(Periods,0),
    Final, Local, @RELATIVE (CostCentres, 0), @RELATIVE(Regions, 0))

    CLEARDATA ValueCalc;



    ValueCalc
    (
    IF ((ValueInputMonth! = 0) AND (ValueInputMonth! = #MISSING))
    ValueInputMonth;
    ElseIf (@ISMBR (P109, P108) OR @ISMBR (@IDESCENDANTS ("BL")) OR @ISMBR (@IDESCENDANTS ("Staff")))
    ValueInputYTD;
    ELSEIF (ValueInputYTD <>0)
    ValueInputYTD - @PRIORS (SKIPNONE, ValueInputYTD);
    ENDIF;
    );
    ENDFIX;

    Metalray,

    to what size you get this problem? and how many no members are there in this size.

Maybe you are looking for