Substitution variables in a calculation - Analyzer

I have a report set up in Analyzer and I am using substitution variables. the first column is the current month (&curr_mon) and the secomd column is the prior month (&prior_mon). I want to add a third column that would subtract the first two and give me a variance. but when I add a calculation it doesn't give me the substitution variables to pick from, it gives me the actual value such as 'July'. therefore, the calculation will not dynamically change each month. Any ideas??

Put the variance calc in your outline. We have several such calcs, such as "$ Var to PM" and "% Var to PM", that we update every month in the outline. The only other way to do it is to update your alias to say "Current Month", "Prior Month", etc., so the names remain constant and the calc can be done in Analyzer.

Similar Messages

  • Substitution Variable update issue

    Hi,
    I am using Essbase 9.2.0.3. I have noticed a problem afetr updating Substitution Variable.
    The calculation script which uses the Substitution Variable works well after updating the variable.
    But the Member formula doesn't work, unless we restart the application .The member formula is in Period dimension to calculate QTD/YTD.
    Formula is: QTD=@MEMBER(@CONCATENATE (QTD,&ActEnd));
    Have anyone come across this? why the outline formula is not taking the updated value fronm Substitution Variable?
    Thanks,
    Tarini

    Hi,
    I reported this issue to the support and it was classified as: Bug 13072601: USING SUBSTITUTION VARIABLES IN FORMULAS OF OUTLINE MEMBERS.
    But as support didn't see this behavior as unusual or as a bug I went deeper and requested for enhancement. I asked them if it is possible to introduce a config setting which would switch on/off automatic updates of subs vars in outline as well as in partitions.
    Status is: Approved for Future Release, but there is no fixed version available yet.
    The ER# is: 13107378: AN ESSBASE CONFIG SETTING WHICH MAY SWITCH ON/OFF AUTOMATIC UPDATES OF SUBSVARIA
    So anyone interested can requested them for status.
    Regards,
    Adam

  • Substitution Variable calculation manager issue

    Hi!
    We have set an automatic update of the Curmonth substitution variable, through a batch that recalls a mxl file. It seems to work and it updates the variable both on essbase and planning. Unfortunately it does appear to have no effect on calculation manager scripts.
    Did some experience the same issue?
    Any advice to solve the problem?
    thanks.
    Edited by: user648334 on Jun 25, 2012 8:06 AM

    Calc Manager Scripts will act just like an essbase calc script. The only difference is that any changes to the script will not update the 'version' of the script in use by the application until you deploy it. I have yet to re-test this since 11.1.2.2 came out, but Calc Manager scripts do not validate when you have a subvar in them. They will have valid syntax upon deployment, and will run - but Calc Manager can not retrieve the value of a subvar. However, when the calc runs the subvar will reach out to essbase, grab the appropriate value and execute.
    It may be your script. I would pare down the script to make sure the syntax is working by replacing the subvar with its corresponding value and testing its results.

  • Substitution variable in Calculation manager

    Hi,
    In calc manager there are two types of variable
    1. replacement
    2. execution.
    I want to know that is there any connection between substitution variable in Essbase and these variable?
    In a document, I saw that
    "Planning and Essbase users only: If you want to create a replacement variable for Planning or Essbase, on Replacement, do these tasks:
    Enter a name for the variable.
    Select a type for the variable:
    Numeric—a number
    String—a text string
    Essbase—an Essbase substitution variable
    Note:
    You cannot use an Essbase substitution variable in a component of a business rule in an Essbase aggregate storage application, including those used in Oracle General Ledger."
    But I have created an Essbase replacement variable for a EPMA essbase application but it is not reflected in Essbase.
    Why?

    Hi, Rubi.
    Last NOTE was about Essbase aggregate storage application (ASO). Planning apps (using EPMA) has been created in Block Storage option (BSO). It isn't so?

  • Unable to execute the substitution variable in calc scripts in essbase 11.1

    Unable to execute the substitution variable in calc scripts in essbase 11.1.3
    FIX(&CURRVERSION,COLA)
    Unit=units*Listprice;
    dataexport "file" "," "E:\NEW.TXT";
    ENDFIX
    Error: 1200471 Error parsing formula for FIX STATEMENT (line 1): expression expected before [)]
    This is error it throws when executing the calculation script
    I wonder whether its a problem with substitution variable i want to know wat went wrong inside the fix statement
    I have created substitution variable use maxl
    Installed the essbase in custom manner and standlone mode nt register with the shared services ,
    Is this problem with the custom installation of essbase
    Regards
    shenna

    If you remove the substitution variable and replace it with the actual value (whatever that is), does the code work? That will tell you if the issue is around the substitution variable or not.
    John -- First you race Glenn, then you race me -- and you always win. :)
    Regards,
    Cameron Lackpour

  • Peculiar problem with Essbase (Calc Script) - substitution variable / UDAs

    This is odd but I have a script like :
    VAR iloop=1,break=0;
    FIX(<required POV>)
    Loop (20,break)
    VAR Country_total1,Country_total2,Country_total3;
    FIX (@UDA(Entity,@ALIAS(@CONCATENATE("&Country",iloop)))) // &Country1, &Country2 - are substitution variables with UDAs stored as strings
    Statements;
    /* +<statements for calculating total values.. for that country and stored against variables>+ */
    Country_total1=Country_total1+ +<Calculation>+
    ENDFIX
    /* Second part : Now again the calculations stored in the variables are to be stored against specific entities */
    FIX (@UDA(Entity,@ALIAS(@CONCATENATE("&Country",iloop))))
    FIX(@ISUDA(Entity,<Check1>)
    ..... Assign to relevant account
    ENDFIX
    ENDFIX
    ENDLOOP
    ENDFIX
    Now the problem is that the first fix statement works just fine, but the FIX statement in the 'second part' throws an error
    Error: 1200354 Error parsing formula for [FIX STATEMENT] (line 66): expected type [STRING] found [EXTVAR] ([iloop]) in function [@CONCATENATE]
    If I hard code the 'second part' FIX statement to the substitution variable directly - it works just fine.
    How can the first statement work and not the second one ? They are exactly the same.

    Glenn, thanks - I hadn't thought of that :).
    But it still does not entirely solve my problem (please see my previous post depicting a requirement similar to ours )
    - We have lots of countries (50-60+ might be much more) and each country can have multiple entities (3-4 on an average - can go unto 7-8)
    - so good guess would be around 200 entities
    - So say I have to do it for 2 countries only (two entity types). Then I need 4 variables - 2 for each country ('country 1 ET1 total', 'Country 1 ET2 Total')
    When the list is 20 counties - variables become 40 :(.
    - Still leaving aside the 40 variables for a bit -
    There are subsequent steps of calculations which needs to be done based on these totals (which are exactly the same for all countries) - just that we need the correct totals to begin with and the rest is already stored in the DB
    So since I have a different variable for each country - I cannot write one single calculation block to use the variables sequentially one by one (can I ?)
    I might have to write a separate calculation block for each of these countries. (20 separate blocks)
    That's what I was trying to avoid and simplify with the substitution variable (but is not working)
    - Create substitution variables - which would store the alias of the required countries (2/10/20 as many required)
    - Loop through these substitution variables - using them one by one
    - So I just need one single block of calculation with all the variable in the calc script being reused after each country calculation is done
    - and the user need not go into the script, as the only thing that will change are the countries. And he can change it easily through the substitution variable.
    Edited by: Ankur on Jun 27, 2012 12:53 PM

  • 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

  • Substitution Variable in DataForm

    Hi All,
    I am using EPM 11.1.1.1.0.
    I am trying to define a member formula for a scenario.
    The formula has a substitution variable in it.When i validate the formula it gives me the following error:
    *Substitution variable [CurMonth] doesn't exist.*+
    Is it that the use of substitution variables is not supported in Member Formulas or am i missing a step to help it recognize the variable...
    Please advice.
    Regards
    Alicia

    Is this an EPMA app, or a Classic app? Is the validation failing in the dimension library of EPMA?
    If it's an EPMA app, variables like this are now maintained in Calc Manager. Go to "Administer", "Calculation Manager". Then select the menu options "Tools", "Variables". Expand your Planning application and you'll see any variables defined for that application listed. If you right-click on the app or database, you can select "new" to create a new variable. Select a type of "Essbase" to create a substitution variable. You'll need to deploy the app before the variable will show up in Essbase.
    Hope this helps,
    - Jake

  • Multiple members in a substitution variable

    <p>Hi,</p><p> </p><p>I use substitution variables in Planning forms to choose wichyear to display.  I would like to have FY06, FY07 andFY08 in the same variable.  I just tried to add it in AAS(separeted by commas) and there is no problems, but when I open myPlanning form, I got this error : "</p><center><table style=" margin-bottom: 2px; margin-right: 75px; margin-left: 75px; margin-top: 2px;" border="0" id="bannerMsg" cellspacing="0"cellpadding="0"><tr><td align="left" valign="center" class="verysmalltext">Asubstitution variable required for this calculation is undefined.Variable: RFFcstYears</td><td style=" padding-top: 5px; padding-bottom: 0px; padding-left: 5px; padding-right: 0px;" valign="center"><img title="Close" src= "http://malbicl01a:8300/HyperionPlanning/ui_themes/tadpole/images_global/task_tabs_close_sel.gif" onclick="hideBannerMessage()"></td></tr></table></center><p>If I change it for FY06 only, all works fine.</p><p> </p><p>I don't want to use 3 variables as some times we will need only2 years (it's a rolling forecast over a 18 monhs period).</p><p> </p><p>Any ideas how to set the variable ?</p><p> </p><p>Thanks</p>

    Hi,
    You cannot provide multiple values to single substitution variable. If you want that a variable can contain multiple values then you can use User Variable.
    Request you to please look into the below links
    for Substitution variable - http://docs.oracle.com/cd/E17236_01/epm.1112/hp_admin/frameset.htm?ch07s05.html
    For user variable- http://docs.oracle.com/cd/E17236_01/epm.1112/hp_admin/frameset.htm?ch07s05.html
    Hope this helps.
    Regards
    SST.....
    Edited by: ss1988 on Mar 9, 2013 11:14 PM

  • Substitution variable Issue

    How to call substitution variable from calculation script?

    Use ampersand and variable name &varname
    e.g FIX (&currMonth)
    where currMonth is your variable
    Cheers
    John
    http://john-goodwin.blogspot.com/
    Edited by: JohnGoodwin on Mar 22, 2010 11:02 AM

  • Using Substitution Variable in Web forms

    Hi,
    I'm trying to use substitution variable in a planning web form &CurYr in the Column, after creating the form when I save it and try to open the form it says the substitution variable required for this calculation is undefined .Variable : &CurYr.It should be defined as I'm able to see it and select it for the column/row. Any kind of help is appreciated.
    Thanks
    Vinil

    You usually get this error message if you are trying to assign a value from a sub var to a member that does not exist.
    e.g. trying to put FY08 which is a year member against a period dimension
    or trying to use a sub var of FY09 which does not yet exist in the essbase, so say you added a new year in planning FY09 and used the sub var in the form but have not refreshed the database then it would fail because the year would not have been pushed down to essbase yet.
    or the value of the subvar does not match a member name exactly
    or using a sub var name that does not exist in essbase, e.g. using &nextYear but the sub var has not been created in essbase.
    You can definitely use subsitution variables in columns in the version you are using and prior version.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Multiple substitution Variable in Data Forms

    Hi,
    i have a problem with the creation of a hyperion Planning Data Form.
    I have created a Substituion Variable with "three" values delimited with a comma.
    I note that it works fine in the calculation script but i've a problem during the creation of a data form when I select the members by this substitution variable and it works fine if i set the Sub Var with only element.
    It's not possible to open the Data Form and The error is:
    "A substitution variable required for this calculation is undefined."
    Can someone help me for this error?
    Thanks
    Eugenio Gualtieri

    Hi,
    I don't think it is possible to put multiple members into a sub var for planning. It will treat it as a member e.g. if you had a subvar &years=FY08,FY09 it will be looking for a member named FY08,FY09.
    In your case you have to split into seperate subvars.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Formatting Substitution Variables in 6.2

    I am formatting some columns in my grid, but the selection criteria for those columns is a substitution variable. Problem is - each day the value of the variable changes, and my formatting goes away (if you look at the rule under "Data Formatting", it is hinged on the value of the variable, not the variable itself. Any workarounds for this??Thanks, -Mike

    Not quite sure if it is the same problem we had. We found out that in version 6.2.1, we had to create two substitution variables (one for Essbase and one for Analyzer), because Analyzer does not recognize variables with double quotes.To be more specific, we have a variable with value "2003" for Essbase and a variable with value 2003 for Analyzer.I hope that this helps.

  • Using substitution variables in a BS rule

    Hi there
    Im trying to use a substitution variable when selecting the current month. Se example below.
    I loading af YTD number on a member "YTD" and I would like to break the numbers down, so that I also can see the values as pr. month.
    I would like to use the substitution varible "currmth" to do this, so that it only calculates the current month. I know I could use a UDA for this, but shouldn't this work?
    ELSEIF (@ISMBR (&CurrMth) == "Aug")
    ("YTD" - ("jan" + "feb" + "mar" + "apr" + "may" + "jun" + "jul"));
    ELSEIF (@ISMBR (&CurrMth) == "Sep")
    ("YTD" - ("jan" + "feb" + "mar" + "apr" + "may" + "jun" + "jul" + "aug"));
    ELSEIF (@ISMBR ("Oct"))
    If you look at "sep" that is how I would like it to function, but I cant. It simple doesent calculate anything for the member. But if I use "Oct" and not the substitution variable "currmth" I get my member calculated.
    Is there something here im missing, or doesn't it work like this? Any help would be appreciated!
    Jacob

    Jacob,
    You don't need the @IsMbr when comparing the value of the substitution variable.
    ELSEIF (&CurrMth == "Aug")
    ("YTD" - ("jan" + "feb" + "mar" + "apr" + "may" + "jun" + "jul"));
    ELSEIF (&CurrMth == "Sep")
    ("YTD" - ("jan" + "feb" + "mar" + "apr" + "may" + "jun" + "jul" + "aug"));
    ELSEIF (@ISMBR ("Oct"))
    Robert
    Edited by: RobertR3 on Dec 4, 2009 9:45 AM

  • Outline Order, Calc Script Performance, Substitution Variables

    Hi All,
    I am currently looking in to the performance side.
    This is mainly about the calculation script performance.
    There are lot of questions in my mind and as it is said you can get the results only by testing.
    1. Outline order should be from least sparse to most sparse
    (other reason : to accomodate as many sparse members in to calculator cache) correct me if I am wrong
    2. Is Index entry created based on the outline order. For example I have outline order as Scenarios, Products, Markets then does my index entry be like scenario -> Products -> Markets ?
    3. Does this order has to match with the order of members in FIX Statement of calculation script?
    4. I have 3 sparse dimensions. P (150 members), M (8 members), V (20 members).
    I use substitution variables for these three in the calculation script. And these three are the mandotary things in my calculation script. Now when I see the fix statement, these three are the first 3 parameters of the fix statemtn and since I am fixing on a specific member, placing these three members as the first 3 sparse dimensions in the outline, ill it improve performance?
    In one way, I can say that a member from P, M,V becomes my key for the data.
    Theoritically if I think, may be it will...but in practical terms I don't see any of such thing.. Correct me If my thinking is wrong.
    One more thing, I have a calc script with say around 10 FIX statements and this P,M,V is being used in every FIX statemnts. Since my entire calculation will be only on one P, one M, one V. Can I put everything in one FIX at the beginning and exclude it from remaining FIX statememts?
    5. I have a lot of cross dimensional operations in my calc scripts for accounts dimension (500 + ) members.
    Is there a way to reduce these?
    6. My cube statistics..
    Cube size : 80 GB +
    Block Size : 18 KB (Approx)
    Block density : 0.03 . This is what I am more worried about. This really hurts me.
    This is one of the reason why my calculation time is > 7 hours and some times it is horrible when there is huge amount of data (it takes aound 20 + hours) for calculation.
    I would be looking forward for your suggestions.
    It would be really apprecialble if It is Ok to share your contact number so that I can get in touch with you. That could be of great help from your side.

    I have provided some answers below:
    There are lot of questions in my mind and as it is said you can get the results only by testing.
    ----------------------------You are absolutely right here but it helps to understand the underlying principles and best practices as you seem to understand.
    1. Outline order should be from least sparse to most sparse
    (other reason : to accomodate as many sparse members in to calculator cache) correct me if I am wrong
    ----------------------------This is one reason but another is to manage disk I/O during calculations. Especially when performing the intial calculation of a cube, the order of sparse dimensions from smallest to largest will measurably affect your calc times. There is another consideration here though. The smallest to largest (or least to most) sparse dimension argument assumes single threading of the calculations. You can gain improvements in calc time by multi-threading. Essbase will be able to make more effective use of multi-threading if the non-aggregating sparse dimensions are at the end of the outline.
    2. Is Index entry created based on the outline order. For example I have outline order as Scenarios, Products, Markets then does my index entry be like scenario -> Products -> Markets ?
    ----------------------------Index entry or block numbering is indeed based on outline order. However, you do not have to put the members in a cross-dimensional expression in the same order.
    3. Does this order has to match with the order of members in FIX Statement of calculation script?
    ----------------------------No it does not.
    4. I have 3 sparse dimensions. P (150 members), M (8 members), V (20 members).
    I use substitution variables for these three in the calculation script. And these three are the mandotary things in my calculation script. Now when I see the fix statement, these three are the first 3 parameters of the fix statemtn and since I am fixing on a specific member, placing these three members as the first 3 sparse dimensions in the outline, ill it improve performance?
    --------------------------This will not necessarily improve performance in and of itself.
    In one way, I can say that a member from P, M,V becomes my key for the data.
    Theoritically if I think, may be it will...but in practical terms I don't see any of such thing.. Correct me If my thinking is wrong.
    One more thing, I have a calc script with say around 10 FIX statements and this P,M,V is being used in every FIX statemnts. Since my entire calculation will be only on one P, one M, one V. Can I put everything in one FIX at the beginning and exclude it from remaining FIX statememts?
    --------------------------You would be well advised to do this and it would almost certainly improve performance. WARNING: There may be a reason for the multiple fix statements. Each fix statement is one pass on all of the blocks of the cube. If the calculation requires certain operations to happen before others, you may have to live with the multiple fix statements. A common example of this would be calculating totals in one pass and then allocating those totals in another pass. The allocation often cannot properly happen in one pass.
    5. I have a lot of cross dimensional operations in my calc scripts for accounts dimension (500 + ) members.
    Is there a way to reduce these?
    -------------------------Without knowing more about the application, there is no way of knowing. Knowledge is power. You may want to look into taking the Calculate Databases class. It is a two day class that could help you gain a better understanding of the underlying calculation principles of Essbase.
    6. My cube statistics..
    Cube size : 80 GB +
    Block Size : 18 KB (Approx)
    Block density : 0.03 . This is what I am more worried about. This really hurts me.
    This is one of the reason why my calculation time is > 7 hours and some times it is horrible when there is huge amount of data (it takes aound 20 + hours) for calculation.
    ------------------------Your cube size is large and block density is quite low but there are too many other factors to consider to simply say that you should make changes based solely on these parameters. Too often we get focused on block density and ignore other factors. (To use an analogy from current events, this would be like making a decision on which car to buy solely based on gas mileage. You could do that but then how do you fit all four kids into the sub-compact you just bought?)
    Hope this helps.
    Brian

Maybe you are looking for

  • How can I link to a pdf not on the web?

    I'd like to include a link on my website-in-progress to a .pdf that is not on the web. I tried dragging it onto a blank page, thinking I would make an internal link, but no luck. Suggestions?

  • EAP-TLS not working on WinXP client, but does work on W2k?

    Hi So I've got EAP-TLS setup using a W2K IAS server as RADIUS, W2K certificate server and cisco 1100 APs. I've got computer certs on four notebooks of which 2 are W2k and the other two are XP. On the W2k PCs I am able to pop in my wireless 350 card a

  • Invoice verification number range create------ after GR

    Dear All, I want to create the number range for Invoice verification , also I want that it will be created automatically after GR. How can I do it?? Thanks in advance Shuva

  • Mac iPhoto to iOS 7 iPhoto transfer, loss of assigned file names.

    In transferring Mac iPhoto albums to iOS 7 iPhoto none of the file names I gave the pictures in iPhoto on the Mac transfer to iPhoto on my iPad Air.   Is there some setting I need to change.?

  • Cs6 slow, lagging performance

    As in the title, I have Photoshop cs6 and I cannot make it work properly. It's almost as the program was running on a much slower system. Common optimization has given no results. I can wait 5 seconds or more before seeing the effect of a command or