Calc script question

Hi All-

I'm figuring a single account (ACCT1).

Basically, for the period of Jan-Sep ACCT1 = BegBalance/12 and Oct to Dec ACCT1 = 0. & NextMth is a variable.

The following script calculates ACCT1 = BegBalance/12 every month, regardless of the value of & Nextmth. Even when I put & NextMth = Oct or Nov or Dec it calculates ACCT1 = BegBalance/12 no idea why it does not calculate 0 when & NextMth is set Oct Nov or Dec?

DIFFICULTY (work, FY16, & Nextmth: 'Dec')

'ACCT1 '.

(

IF (Nextmth is "Jan" GOLD & Nextmth is "Feb" GOLD & Nextmth is "Mar" OR Nextmth is "Apr" GOLD & Nextmth is "Peut" OR Nextmth is "Jun" GOLD & Nextmth is "Jul" GOLD & Nextmth is "Aug" GOLD & Nextmth is "Sep")

"ACCT1"-> "BegBalance" / 12; "."

ELSEIF (Nextmth is "Oct" GOLD & Nextmth is "Nov" GOLD & Nextmth is "Dec")

"ACCT1"-> "BegBalance" * 0;

ENDIF

)

ENDFIX

== not numerical comparison, that you test if the value of the Member called & NextMth is identical to the value of the Member called "Jan". This may return TRUE for several years.

I don't think that there is an easier way to do it than to @COUNT the size of a game that uses your subvar member as part of a series, i.e. something like:

IF (@COUNT (SKIPNONE, "Jan": & NextMth))<>

.. .do jan to Sep stuff...

ON THE OTHER

.. .do Oct to stuff of dec...

ENDIF

Furthermore, multiplying by zero BegBalance is useless - just use zero.

And before anyone says, I'm sure that the foregoing can be re-arranged for a simple calculation without an IF, but the concept is illustrated better that way...

Tags: Business Intelligence

Similar Questions

  • Calc script - question of averages

    Hello everyone,

    I have the following calc to calculate the average of the previous three months and put this value in a period of "Beg Balance".

    DIFFICULTY (/ * SUN: scenario * / 'FcstDev' / * SUN: Version * / 'Final', 'Cost center', 'BegBalance', and fcstYear1, "Chg")

    "810000")
    IF ("Calc Driver"-> "NoView"-> "no Center cost' is 3)
    '810000' = (@PRIORS (SKIPNONE, "810000"-> & fcstperstart, 2") + @PRIORS (SKIPNONE,"810000-> & fcstperstart, 3") + @PRIORS (SKIPNONE," 810000 "-> & fcstperstart, 1")) / 3;
    ENDIF ;)

    ENDFIX

    / * & fcstperstart = Jul * /.

    / * Calc Driver ID 3 = 3 MB Avg * /.

    I wrote this calc this way then I could limit the number of variables that I would need to put in place even if I know that the following would work too:

    '810000' =@AVGRANGE (SKIPNONE, "810000"->"law"->"Final",@XRANGE (& Fcst3Range))

    / * & fcst3range = 'April', 'June ' * /.

    I'm very well so be it for the "3 mo avg" but I am also the creation of these "6 mo avg" and «12 MB avg»  I was curious to know if anyone had any advice/suggestions on how they would accomplish that.

    Thanks in advance,

    Bret

    Well, I found the solution, apparently in typing this out in a help discussion:

    DIFFICULTY (/ * SUN: scenario * / 'FcstDev' / * SUN: Version * / 'Final', '033', & fcstYear1, "Chg")
    / * STARTCOMPONENT: FORMULA * /.

    "810000")
    IF (@ISMBR (& fcstperstart) AND ('Calc Driver "->" NoView'-> 'No cost center'-> 'BegBalance' == 3))
    "810000'-> 'begbalance' = @AVGRANGE (SKIPNONE,"810000",@CURRMBRRANGE (period, LEV, 0, -3, -1));

    ENDIF ;)
    / * ENDCOMPONENT * /.
    ENDFIX

    Bret

  • 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

  • Script question simple calc

    Hello

    Newbie question here. I have the following Calc script for which I am trying to affect the projected balance sheet amounts based on a Jun (last period) closing balance. i.e. I want to forecast my account of Fund to be $ 100 next year, and I use this calculation to allocate the balance of the previous month.

    FIX (& CurrYr, Business Plan, "0000")
    '1000001' = (Jun) / (Jun-> & PriorYr->->-> "0000" final actuals) * (& PriorYr->->-> "0000" final actuals);
    '1000002' = (Jun) / (Jun-> & PriorYr->->-> "0000" final actuals) * (& PriorYr->->-> "0000" final actuals);
    '1000003' = (Jun) / (Jun-> & PriorYr->->-> "0000" final actuals) * (& PriorYr->->-> "0000" final actuals);
    '1000004' = (Jun) / (Jun-> & PriorYr->->-> "0000" final actuals) * (& PriorYr->->-> "0000" final actuals);
    '1000005' = (Jun) / (Jun-> & PriorYr->->-> "0000" final actuals) * (& PriorYr->->-> "0000" final actuals);
    ENDFIX;

    Probably very few effective, but it works. If "1000000" is the parent of all of the accounts listed above, how can I change this statement to FIX to work for slices of accounts?

    My dense dimensions are account and period. The rest are rare.

    Thank you!

    You can try something like

    Fix (&CurrYr,Enterprise,"0000",@Children ("1000000"))
    Plan = (Jun-> Plan) / (Jun-> & PriorYr-> actual spending-> Final-> "0000") * (& PriorYr-> actual spending-> end-> "0000").
    ENDFIX;

  • Question of design - approach of calc scripts organization

    Nice day!

    I'm a "application design" that must run series of similar calculations.
    My calc script uses variables substitution as calculation "settings".
    I have run this script several times, each time changing the values of the substitution variables.

    To do this, I created a script maxl containing blocks like this:
    ...
    change the BSO_ACCT database. BSO_ACCT set the variable ACCOUNT_NR ' "610120" ";
    change the BSO_ACCT database. BSO_ACCT set the CUSTOMER_NR variable ""40502;"
    run the calculation BSO_ACCT. BSO_ACCT.cust_act;
    ...

    The problem - whenever a new customer is added, I should update my maxl script.
    Y at - there a better idea? How can I automatically get a subset of the Customer dimension and run my script calc for this subset?

    Your suggestions are greatly appreciated!

    Best regards
    Alex

    There are two ways of dio,
    You can send the script as a string calc using esbCalc http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/html_esb_api/api_vb/mavb/funcs/mavfcalc.htm
    You can put the calcscript in a file and use EsbCalcFile http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/html_esb_api/api_vb/mavb/funcs/mavfcalf.htm

    I usually use it as read a prototype calc script on the server by using EsbGetObject http://download.oracle.com/docs/cd/E10530_01/doc/epm.931/html_esb_api/api_vb/mavb/funcs/mavfgobj.htm
    I then change the chips I put it in the script (I use a ~ as ~ account and replace ~ account with my member name) and run the script. Works very well

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

  • assigning calc script to webform

    Hello

    I am familiar with essbase and planning but not an expert .in one of my interview I was asked a question how can we assign a calc script to the web form in the planning?

    I said no (I am aware that only business rules can be assigned to Web forms that I've worked on it).

    reporter said it's possible.


    If it is possible can you someone please let me know how.

    You can create a calculation in Essbase (planning application Essbase) script and that will appear in the planning.

    If you add the business rules in a form, the calc script will appear as CalcScript - the name of your script

    Concerning

    Celvin

    http://www.orahyplabs.com

    Please check the answers as useful/correct as appropriate

  • 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

  • confusion of Calc scripts

    Hi, I have to convert a financial model to Excel at Hyperion, but I am facing difficulties. I made the request, but some members of my hierarchy, that I can not use the member formulas so I said to use business rules and scripts calc etc, I just need advice on how to go about this:

    I have a member "Average AFS debt securities" in my accounts dimension which must be an average of another Member "AFS debt securities" in the years FY04 - AFA 08. The requirement is that for the year FY05 the Member in question must be an average of "AFS debt securities" FY04 and FY05. Like this

    Average securities AFS (FY05) average = [AFS (FY04) debt securities: debt of AFS (FY05)]
    Similarly for FY06 average would be FY05 and FY06 and so on until AFA 08.

    Its the first time I use calc script and I'm desperate for IT/computers/all digital = S but I have to do this so any help is welcome!

    Kind regards
    Noreen

    It seems that you really need someone to help you!

    This should help you with your current problem:

    DIFFICULTY (FY04:FY08, etc.)
    'Average of Member' = @AVGRANGE (SKIPNONE,"Member",@CURRMBRRANGE ("Year", LEV, 0, -1, 0));
    ENDFIX

  • Calc scripts

    Generic question:
    I need some advice on optimization of calc script.
    How to check, this is my calculation script is timely, what is the additional scope of optimization?

    Thanks in advance.

    For a visual approach on calc scripts give a trial for:
    http://www.Oracle.com/education/america_eblasts/FY09/Q1/Essbase%20calculations%20visual%20approach%20Final.PDF

    Will post the link, if I get something for you.

  • calc script conversion rule for business planning

    I have a calc script that I need to convert it to a business rule to join the web planning forms. This means I want to take things in my statement of fix and turn them into guests (I think) which will be automatically replaced with the selections of web form. I've looked through the docs of business rules and planning documents, but cannot find a way to do it. I'm sure it's easy to do. Can someone give me an idea what I need to do? I can see how to create the run-time of a prompt on the screen of a local variable. But how to do replacements on my source?

    Once you have defined guests you can edit your business rule in the EA and right click and insert variable or you can put the variable name in square brackets, for example [VARIABLENAME].

    Once you have selected 'Members on record use' selection tab for forms business rules to ensure that these members are part of the Page or the POV.

    You can also view the schedule of tasks on Metalink3 if you have not already - there are a few quick questions dealing with.

    Kind regards

    -John

  • Update a UDA at a member of the main lines of the Calc script?

    Happy new year everyone!

    Is it possible to update a UDA at a member of the main lines of the Calc script? There is a custom for that function?

    We want to check the data, and then update UDA based on what is our data.

    Thank you.

    Not that I know, and it is not possible to write one, since you probably can't restructure with the running calculation (chickens and eggs).

    More likely, you will need to do a multi-step process; export the members that you want to set up a file via DATAEXPORT conditions or report designer, and then use this output to feed in an accumulation of dimension with an appropriate load rule.

    Or write a Java API to fully customized program.

    I'm also curious about the driving condition, as it is a rather unusual request.

  • Manager where do Calc scripts are stored?

    Hello

    I had a planning application that I want to rename.

    So, after you copy the old to the new, I deleted the old,

    Unfortunately, I forgot to save my work at calc Manager.

    I realized that after I get an error in the workspace

    Calc Manager: failed to process the request.

    The session is not authenticated.

    But when I go to GestionnaireCalc, the application is missing.

    Can you help me looking for my Bishop calc scripts where they still exist?


    Thank you

    Nikos

    Manager of calculation rules are stored in the table CALCMGRRULES of the RDM and BODY field if the type is a BLOB.

    If the rules have been made to the planning application, they will be also in the HSP_CALC_MGR_RULES table and field BODY which will take place in XML format.

    See you soon

    John

  • If I run the calc script to aggregate a BSO cube, it blocks and release each block in a few seconds?

    Hello

    If I run the calc script to aggregate a BSO cube, it blocks and release each block in a few seconds? Or is it keep held locked blocks even after aggregation for this block is over?

    For example if I correct sparse dimensions Forecast, FY15, dec.  and my accounts dimension is only dense, after calc has my senior level members in the accounts, it it will issue after updating (i.e. in fractions of seconds) or is agg keep it held in a lock?

    I ask because I want to run scripts tot., but there is the update of our cube users.  I never had a problem to start agg, while users are updating.  But maybe I am lucky.  If a user updates a closed block, they will receive an error message that I think.  They may try to update again after a few seconds, I hope.

    Thank you.

    Locking behavior for BSO Essbase is described in the database administrator's Guide: http://docs.oracle.com/cd/E57185_01/epm.1112/essbase_db/dstinteg.html

    It is certainly theoretically possible that a user can obtain a lock because of a calc, although I can't say I saw him be a problem in real-world applications (perhaps because access uncommitted is the default).

Maybe you are looking for