IF Statement in Member formula V11 -EPMA

Hi,
As any one used IF and ENDIF statement in the member formula on EPMA V11? I am using the same but it fails to deploy and I have no clue whatsoever.
Does it require an expression OpenInputvaluebox and closedInputvaluebox
Thanks in advance

Hi,
This is the member formula formula I am trying to load:
IF (@IsMbr("Local"))
IF (@IsMbr(Hsp_InputValue))
IF (@IsMbr("No Year"))
IF (@IsMbr("BegBalance"))
IF (@IsMbr("Forecast"))
"RTD" = "Apr"->"Periodic" ->&FcstYear1: "Mar" ->"Periodic"->&FcstYear1;
ELSEIF (@IsMbr("RF1"))
"RTD" = ("Jul"->"Periodic" ->&FcstYear1: "Mar" ->"Periodic"->&FcstYear1) + ("Apr"->"Periodic"->&FcstYear2 : "Jun"->"Periodic"->&FcstYear2);
ELSEIF (@IsMbr("RF2"))
"RTD" = ("Oct"->"Periodic" ->&FcstYear1: "Mar" ->"Periodic"->&FcstYear1) + ("Apr"->"Periodic"->&FcstYear2 : "Sep"->"Periodic"->&FcstYear2);
ELSEIF (@IsMbr("RF3"))
"RTD" = ("Jan"->"Periodic" ->&FcstYear1: "Mar" ->"Periodic"->&FcstYear1) + ("Apr"->"Periodic"->&FcstYear2 : "Dec"->"Periodic"->&FcstYear2);
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
Is there a syntax error here?
Cheers

Similar Messages

  • IF ELSE Statement in Member Formula

    I believe that I am in my final step of completing my database. But, I need to create a member formula that converts lbs to kg. I have gotten help on this question in the past and have a basic formula that works. However, I have 2 exceptions to the formula that are not successfully calculating.
    This much of the formula has been tested and works when isolated:
    IF (@ISMBR(@LIST(AccountCapacityTypeX,AccountCapacityTypeY,AccountCapacityTypeZ)))
    "LBS"/2.2046;
    ELSEIF ((@ISMBR(@List(AccountCapacityTypeA, AccountCapacityTypeB) )) and (@ISMBR(@LIST(MbrNm1, MbrNm2,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Qtr1","Qtr2","Qtr3","Qtr4"))))
    @round(("LBS"/2.2046),0);
    else
    @round(("LBS"/(2.2046*5)),0)*5;
    ENDIF
    However, the following checks out when I verify my syntax, but when it is added to the above formula the formula does not load:
    IF ((@ismbr(MbrNm3)) and
    (@ISMBR(@LIST("Region1","ParentOfRegion1","GrandparentOfRegion1","Y2008","Y2009","Y2010","Y2011","Y2012","Y2013","Y2014","2015","Y2016","Y2017","Y2018")) and (@ISMBR(@List(AccountCapacityTypeA, AccountCapacityTypeB)))))
    105;
    ENDIF
    IF ((@ismbr(MbrNm4)) and
    (@ISMBR(@LIST("Region1","ParentOfRegion1","GrandparentOfRegion1","Y2012","Y2013","Y2014","Y2015","Y2016","Y2017","Y2018")) and (@ISMBR(@List(AccountCapacityTypeA, AccountCapacityTypeB)))))
    425;
    ENDIF
    Members MbrNm1-4 are all stored, zero level members of the same dimension. My years, months, and qtrs are dense dimensions, everything else is sparce. AccountCapacityTypes contain both calculated and stored members. Region dimension contains all stored members. Also lbs are a stored member.
    Any ideas on how to make these 2 exceptions work?
    Thank you,
    C-Lo

    Hello Cameron Lackpour,
    I have tried several iterations of this calc script, and gotten it to mostly work. The issue that I have is that it calculates everything correctly, but when I @remove the one year that want the calc script to calculate differently that year retrieves values for #missing as desired, but when I try to write a calc script for that single excluded year the second calc script still doesn't run for the whole condition that is defined. I don't know if any of that makes any since, but below is an example:
    FIX("JOLEFINS_JCP")
    FIX(@REMOVE(@RELATIVE("Years", 0), @Member("Y2008")))
    *"KMT"*
    IF (@ismbr(@list("MajorTurnarounds","InventoryCtrl","Feedslate/ProdMixImpct","ActsOfNat","Fdstk/RawMtlAvail",
    *"OtherExtEvents","ExternalLPOs","InternalLPOs","PlndMntc","Mech/ProcLoss","AbvCapProd","Other","Actual","Adjusted","MaxDmstdCap")))*
    *"MMLBS"/2.2046;*
    ELSEIF(@ISMBR("Published Capacities","EOY_PubCap"))
    *@round(("MMLBS"/(2.2046*5)),0)*5-1.25;*
    ENDIF
    ENDFIX (everything in bold is calculating correctly)
    FIX (@RELATIVE("Years", 0), @member("2008"))
    +"KMT"+
    +(+
    IF (@ismbr(@list("MajorTurnarounds","InventoryCtrl","Feedslate/ProdMixImpct","ActsOfNat","Fdstk/RawMtlAvail",
    +"OtherExtEvents","ExternalLPOs","InternalLPOs","PlndMntc","Mech/ProcLoss","AbvCapProd","Other","Actual","Adjusted","MaxDmstdCap")))+
    +"MMLBS"/2.2046;+
    ENDIF
    IF(@ISMBR("Published Capacities"))
    +@round(("MMLBS"/2.2046),0)/1.08;+
    ENDIF This portion in italics returns #Missing . However, the loaded data ("MMLBS") does return data for this year.
    IF (@ISMBR("EOY_PubCap"))
    *8.75;*
    ENDIF This portion seems to be calculating as well.
    ENDFIX
    ENDFIX
    CALC ALL;
    Any additional suggestions?
    Thanks,
    C-Lo

  • If Conditon in Hyperion Member Formula

    Hi All,
    I am developing a classic planning Hyperion Application using EPM 11.1.2.2.
    I came across a situation where i need to use an "IF Condiotn" inside a member formula. I am not sure of its syntax, can some help me with that.

    Hi
    There is a slight difference when using IF statements in member formulas. You don't need to specify the member block association in a member formula
    In a calc script
    "Account"(
                    IF(@IMBR(Jan))
          "member1" * "Member2";
                     ENDIF)
    In a member formula
                 IF(@IMBR(Jan))
                    "member1" * "Member2";
                     ENDIF
    Thanks
    Anthony

  • Member formula IF statement syntax

    Hi guys
    Can someone assist me with the syntax of the IF statement on a member formula.
    On the measure "Total Cost", i would like to apply a formula which calls value loaded to a series of other measures (m1, m2, m3, etc) such that if the Number of bags is = 1, then a value loaded to M1 is called, and if the Number of bags is 2, a value loaded to m2 is called.
    Thanks

    I think there may a better way to do what you are trying to achieve but below is the syntax for IF statement
    IF("number of bags" == 1)
    "m1";
    ELSEIF("number of bags" == 2)
    "m2";
    ELSEIF("number of bags" == 3)
    "m3";
    ENDIF;

  • EPMA 11.1.2.1 – member formula – from "local" to "shared" ?

    Planning application created using shared dimensions in EPMA 11.1.2.1
    From the “Application Library” editing a Planning application you go to “Dimension Library” whith 3 sections of the window open: “Shared Library”, “Application”, “Properties”.
    When you modify a member formula in the “Application” window the member formula from “Shared Library” does not change, thus generating a misalignment between the “shared formula” and the “application formula”
    Basically this member becomes “local” for the application…and afterwards if you change the formula from the “Shared Library” window does not change it for the “Application” as well.
    So, this is how a “Shared member” becomes “Local member” in a “Shared dimension”.
    My question is: Which are the steps to make a “Local member” to become a “Shared member”.
    I have tried:
    - Remove dimension from application and re-drag and drop it
    - Exclude member..and after re-including.
    Neither of the above worked…Once that a “Shared member” became a “Local member” I cannot change to make it again “Shared”.
    This is very annoying because a formula can be changed by mistake in the Application window and cannot be restored to “Shared”.
    Any suggestion on how to solve it ?
    Thanks.

    Hi,
    Have you installed the latest EPMA patches? I know one of them addresses issues with the shared library.
    Seb

  • Help needed in BPC 10 Member Formula

    Hello Experts,
    We are in BPC 10 NW SP 11.
    Facing below error in report for Ratios hierarchy after
    member formula is built.
    Formulas is related to ratio
    IIF([ACCOUNT_GL].[RE_IREV]=0, NULL, [ACCOUNT_GL].[RE_IAADJ]/[ACCOUNT_GL].[RE_IREV]);SOLVE_ORDER=10
    RE_IREV is Income node
    RE_IAADJ is expense node.
    I have tried formula by removing square brockets for ACCOUNT
    DIM member. Still no success.
    Surprisingly, same formula, same hierarchy works fine in
    another Model.
    I have also compared measures in both the models, both are
    identical.
    Error in the report as below.
    Server message:
    code: UJO_READ_EXCEPTION_018
    severity: error
    description: MDX statement error: Value RE_IREV
    /CPMB/WADNXJI for characteristic /CPMB/WADNXJI unknown
    log id: KoFXP08mHM3X08002fJHZW
    DATAVALUE: Value RE_IREV /CPMB/WADNXJI for characteristic
    /CPMB/WADNXJI unknown
    MDX: WITH  MEMBER
    [Measures].[PERIODIC] AS 'IIF([/CPMB/WADNXJI               
    PARENTH2].[2/CPMB/ACCTYPE]="INC",-[Measures].[/CPMB/SDATA],IIF([/CPMB/WADNXJI                 PARENTH2].[2/CPMB/ACCTYPE]="EXP",[Measures].[/CPMB/SDATA],IIF([/CPMB/WADNXJI               
    PARENTH2].[2/CPMB/ACCTYPE]="AST",([Measures].[/CPMB/SDATA],
    CLOSINGPERIOD([/CPMB/WADBQQD               
    PARENTH1].[LEVEL02])),IIF([/CPMB/WADNXJI                 PARENTH2].[2/CPMB/ACCTYPE]="LEQ",-([Measures].[/CPMB/SDATA],
    CLOSINGPERIOD([/CPMB/WADBQQD               
    PARENTH1].[LEVEL02])),-[Measures].[/CPMB/SDATA]))))' SOLVE_ORDER=3  MEMBER [/CPMB/WADNXJI                 PARENTH2].[RE_ALAE_RATIO] AS
    'IIF([/CPMB/WADNXJI               
    PARENTH2].[RE_IREV                         /CPMB/WADNXJI]=0,
    NULL, [/CPMB/WADNXJI               
    PARENTH2].[RE_IAADJ                      
    /CPMB/WADNXJI]/[/CPMB/WADNXJI                 PARENTH2].[RE_IREV                         /CPMB/WADNXJI])'
    SOLVE_ORDER=10  SELECT NON EMPTY  {[/CPMB/WADBQQD                 PARENTH1].[2013.Q1                         /CPMB/WADBQQD]
    ,[/CPMB/WADBQQD               
    PARENTH1].[2013.Q2                         /CPMB/WADBQQD]
    ,[/CPMB/WADBQQD                 PARENTH1].[2013.Q3                         /CPMB/WADBQQD]
    ,[/CPMB/WADBQQD               
    PARENTH1].[2013.Q4                         /CPMB/WADBQQD]
    ,[/CPMB/WADBQQD               
    PARENTH1].[2013.TOTAL                      /CPMB/WADBQQD] } * {[/CPMB/WADNXJI                 PARENTH2].[RE_ALAE_RATIO]
    ,[/CPMB/WADNXJI               
    PARENTH2].[RE_ALL_RATIOS                   /CPMB/WADNXJI] ,[/CPMB/WADNXJI                 PARENTH2].[RE_COMBINED_RATIO]
    ,[/CPMB/WADNXJI               
    PARENTH2].[RE_EXPCOMM_RATIO] ,[/CPMB/WADNXJI                 PARENTH2].[RE_LOSS_RATIO]
    ,[/CPMB/WADNXJI               
    PARENTH2].[RE_OTHERCOMM_RATIO] ,[/CPMB/WADNXJI                 PARENTH2].[RE_STAT_COMB_RATIO]
    ,[/CPMB/WADNXJI               
    PARENTH2].[RE_STAT_EXP_RATIO] ,[/CPMB/WADNXJI                 PARENTH2].[RE_TOT_EXP_RATIO]
    ,[/CPMB/WADNXJI               
    PARENTH2].[RE_TOT_LOSS_RATIO] ,[/CPMB/WADNXJI                 PARENTH2].[RE_ULAE_RATIO] } ON
    0  from
    [/CPMB/WAMSZKS/!!O/CPMB/WAMSZKS]
    WHERE ( [Measures].[PERIODIC] ,[/CPMB/WAD3OFZ                 PARENTH1].[ACTUAL]
    ,[/CPMB/WAD0VHV               
    PARENTH1].[ALL_CHANNELS                    /CPMB/WAD0VHV] ,[/CPMB/WAD021F                 PARENTH1].[LEGAL                           /CPMB/WAD021F]
    ,[/CPMB/WADME7W                 PARENTH1].[ALL_DATASRC                     /CPMB/WADME7W]
    ,[/CPMB/WAD0DZ0               
    PARENTH1].[FGI                           
    /CPMB/WAD0DZ0] )
    V1:Value RE_IREV /CPMB/WADNXJI for characteristic /CP
    V2:MB/WADNXJI unknown
    V3:
    V4:
    Thanks,
    Senoy

    Hello Vadim,
    Thanks for the reply.
    I am able to process ACCOUNT_GL dimension.
    Also, I am using standard TIME dimension.
    I found that the virtual provider(created by using source of data for my model) too is showing the error, when I place above member formula.
    I am attaching the error messae when I try to do list records in the virtual provider.
    When I remove the member formula, everything is fine
    Thanks

  • Member Formula Verifies in EAS but not Planning.  Error [1200497]

    All I am trying to construct a member formula with multiple IF statements. The formula will verify and work in EAS but when we try to refresh the database from planning we receive the error 1200497. We are on version 11.1.13. The offending member formula is below. Any help with what may be wrong is appreciated.
    If (@ismbr("020 Pallet","020 Case","020 Each"))
         If ("Tier 2 Low" == #missing)
              "Tier 1 Price";
         Elseif ("Volume"->"020 Bulk Fulfillment"<"Tier 2 Low")
              "Tier 1 Price";
         Elseif ("Volume"->"020 Bulk Fulfillment"<"Tier 3 Low")
              "Tier 2 Price";
         Elseif ("Volume"->"020 Bulk Fulfillment"<"Tier 4 Low")
              "Tier 3 Price";
         Elseif ("Volume"->"020 Bulk Fulfillment"<"Tier 5 Low")
              "Tier 4 Price";
         Elseif ("Volume"->"020 Bulk Fulfillment"<"Tier 6 Low")
              "Tier 5 Price";
         Else
              "Tier 6 Price";
         Endif;
    Else
         If (@ismbr("014-003","014-004","014-034","014-035"))
              If ("Tier 2 Low" == #missing)
              "Tier 1 Price";
              Elseif ("Volume"->"014 QA"<"Tier 2 Low")
              "Tier 1 Price";
              Elseif ("Volume"->"014 QA"<"Tier 3 Low")
              "Tier 2 Price";
              Elseif ("Volume"->"014 QA"<"Tier 4 Low")
              "Tier 3 Price";
              Elseif ("Volume"->"014 QA"<"Tier 5 Low")
              "Tier 4 Price";
              Elseif ("Volume"->"014 QA"<"Tier 6 Low")
              "Tier 5 Price";
              Else
              "Tier 6 Price";
              Endif;
         Else
              If ("Tier 2 Low" == #missing)
              "Tier 1 Price";
              Elseif ("Volume"<"Tier 2 Low")
              "Tier 1 Price";
              Elseif ("Volume"<"Tier 3 Low")
              "Tier 2 Price";
              Elseif ("Volume"<"Tier 4 Low")
              "Tier 3 Price";
              Elseif ("Volume"<"Tier 5 Low")
              "Tier 4 Price";
              Elseif ("Volume"<"Tier 6 Low")
              "Tier 5 Price";
              Elseif ("Volume"<"Tier 7 Low")
              "Tier 6 Price";
              Elseif ("Volume"<"Tier 8 Low")
              "Tier 7 Price";
              Elseif ("Volume"<"Tier 9 Low")
              "Tier 8 Price";
              Elseif ("Volume"<"Tier 10 Low")
              "Tier 9 Price";
         Else
              "Tier 10 Price";
         Endif;
    Endif;
    Endif;

    Is it being applied to plan types that don't include all the members being referenced in the formula, it could be that it validates on one plan type but not another.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • How to use local variable in member formula?

    Hi Expert,
    We would like to use a {local variable} in a member formula, so that it can pick up the prompt from webform upon save. Would like to know if it is possible to do? If so, what is the correct syntax?
    We attempted to use brace {scenario}, blacket [scenario], blacket with quote ["scenario"]. None of these work.
    We are using 11.1.2.1 version, EPMA, Hyperion Planning.
    Thanks in advance for your help!

    One other pointer. Where did you define your variable? Hopefully you went into Calc Manager and selected <Tools>, <Variables>. From there, navigate to your application or database. Right-click on your application or database and select "New". In the bottom panel, you'll need to select your Variable Type. Make sure you select "Member", and not "Members". You cannot pass "Members" (plural) to a web input form. Also, if you want to define a variable for a custom dimension, you'll need to do it at the database level. Standard dimension member variables can be defined at the app level. (Not sure why this is the case, especially when my custom dimension exists in all plan types . . . . )
    Anyway, hope this helps,
    - Jake

  • Block creation problem in member formula

    Hi,
    I have a member formula as below :
    IF(.....)
    x = a/b;
    ENDIF
    where a,b have their own member formulas.
    There is no issue with the calculations of x,a or b, but I am facing an issue with block creation of x.
    Is there a way to handle block creation through member formulas? I know the way out through calc scripts, but i am trying to limit the use of calc scripts.
    Thanks!
    Note:The storage property of all three members is store. Also, a and b lie in the same intersection (same block), and x lies in another intersection.

    In the following section of the dbag: http://docs.oracle.com/cd/E12825_01/epm.111/esb_dbag/frameset.htm?dcaoptcs.htm...
    Under the sub-section: In Equations in a Dense Dimension...
    It states as follows:
    In Equations in a Dense Dimension
    When you use a cross-dimensional operator in an equation in a dense dimension, Essbase does not automatically create the required blocks if both of these conditions apply:
    Resultant values are from a dense dimension.
    The operand or operands are from a sparse dimension.
    You can use the following techniques to create the blocks and avoid the performance issue.
    Ensure that the results members are from a sparse dimension, not from a dense dimension. In this example, the results member Budget is from a sparse dimension:
    FIX(Sales)
    Budget = Actual * 1.1;
    ENDFIX
    FIX(Expenses)
    Budget = Actual * .95;
    ENDFIX
    Use the DATACOPY calculation command to create and then calculate the required blocks. See Using DATACOPY to Copy Existing Blocks.
    Use a member formula that contains the dense member equations:
    FIX(Sales, Expenses)
    Budget (Sales = Sales -> Actual 1.1;*
    Expenses = Expenses -> Actual .95;)*
    ENDFIX
    The phrasing of that last part would lead me to believe that block creation via a member formula is possible. Though I'm not sure of the member to which that formula should be applied. Furthermore, the code looks funky in that we're fixing on Sales and fixing on Expenses, and them on the left side of the equation within the fix.
    Thoughts anyone?

  • Member formula returning text

    I am not sure Essbase has the capacity to do this but I figured this would be the place to ask. Can you set a member formula to return text instead of a number? For example, in Excel you can set up an If statement that will return a number or text depending on set variables. Can Essbase do this as well?
    We have some calculations that depending on whether certain variables are positive or negative could return a result that really has no meaning. So, if this were to be the case I would like it to return a N/A instead of the number. I can do this in Excel based on data pulled from Essbase but it would be much easier and less to maintain if Essbase was able to do it for me.
    Thanks

    Currently, Essbase databases can only store and return numbers. You can, however, mark the cell as '#Missing' and thus meaningless data would not be returned. The #Missing cells can have a string label associated with them (on the client if you are using Excel).
    Tim Tow
    Applied OLAP, Inc

  • Member formula restriction problem

    I have made a customized form in Capex the layout of the form is that on row side i have Line Item dimension with 5 members and their parent and on coloumn side i have account dimension with 7 members selected.
    I am using a member formula on the parent of the line item member on row side and in that member formula i have restricted one of the 7 account dimension member on the column with the help of IF statement. My problem is that if i dont use that if statment the member formula works fine but it also works on the other 6 members of the account dimension (on column) and if i use the IF statment then the member fornmula does not work at all.
    My requirement is that the member formula should work on the combination of that 1 member of account dimension and parent of line item on row side.
    Can anybody help me with that?

    Hi Nilanjan,
    1) all the members are in the same hierarchy (in fact, there is only one hierarchy)
    2) all these members come from different branches of the hierarchy, they are not siblings, some are parents of others, however.
    The values I specified are real values which I actually get when putting the accounts in an EVDRE report. Therefore, separately in EVDRE I see the calculated value 6 for account A and the fixed value 1 for account C. So, I expect to see also the value 1 for the account B and instead I see 2 meaning that for BPC 6 <= 1.
    That is why I assume that BPC does not recalculate the account A used in the account B. And that is why I assume that solve_order is the problem. And I can not make this solve_order work in any way. What are the rules of SolveOrder's usage?
    Thanks for help.
    Valera

  • Copying data to member with member formula

    Hi All,
    How do I copy data to a member with member formula? For example, I have a member called "Opening_Balance_Rooms" this member has member formula so storage property is Dynamic Calc. It has data value of 1300 in local currency for post0+12 (Post0+12->Local=1300) and I want to copy the same to USDForecast0+12Rates. Below will explain my requirment clearly. Using Essbase V11.1.1.3.
    Column1........... Column2
    Post0+12.............. Post0+12
    Local.................... USDForecast0+12Rates
    Opening_Balance_Rooms 1300.............. 0 (I want to populate 1300 instead of 0 here)
    Thanks,
    Edited by: MoFa on Sep 4, 2012 1:21 PM
    Edited by: MoFa on Sep 4, 2012 1:23 PM

    Hi Tim,
    This is the member forumula that calculate the Opening_Balance_Rooms.
    IF (@ISMBR ("Jan") AND @ISMBR ("2002 Actuals"))
    Opening_Balance_Rooms = ("OPB_Rooms"->"BegBalance"->"2002 Actuals");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2003 Actuals"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2002 Actuals");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2004 Actuals"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2003 Actuals");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2005 Actuals"))
    Opening_Balance_Rooms = ("OPB_Rooms"->"BegBalance"->"2005 Actuals");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2006 Actuals"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2005 Actuals");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2007 Actuals"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2006 Actuals");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2007 Actuals Adjustments"))
    Opening_Balance_Rooms = 0;
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2007 Actuals after Adjustments"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2006 Actuals");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2008 Actuals"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2007 Actuals after Adjustments");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2008 Actuals Adjustments"))
    Opening_Balance_Rooms = 0;
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2008 Actuals after Adjustments"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2007 Actuals after Adjustments");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2009 Actuals"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2008 Actuals after Adjustments");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2009 Actuals Adjustments"))
    Opening_Balance_Rooms = 0;
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2009 Actuals after Adjustments"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2008 Actuals after Adjustments");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2010 Actuals"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2009 Actuals after Adjustments");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2010 Actuals Adjustments"))
    Opening_Balance_Rooms = 0;
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2010 Actuals after Adjustments"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2009 Actuals after Adjustments");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2011 Actuals"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2010 Actuals after Adjustments");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2011 Actuals Adjustments"))
    Opening_Balance_Rooms = 0;
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2011 Actuals after Adjustments"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2010 Actuals after Adjustments");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2012 Actuals"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2011 Actuals after Adjustments");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2012 Actuals Adjustments"))
    Opening_Balance_Rooms = 0;
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2012 Actuals after Adjustments"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2011 Actuals after Adjustments");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2004 Target"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2003 Actuals");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2005 Target"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2004 Actuals");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2006 Target"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2005 Actuals");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2007 Target"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2006 Actuals");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2008 Target"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2007 Actuals");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2009 Target"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2008 Actuals");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2010 Target"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2009 Actuals");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2011 Target"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2010 Actuals");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2012 Target"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2011 Actuals");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("2013 Target"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2012 Actuals");
    ELSEIF (@ISMBR ("Post0+12")
    OR @ISMBR ("1+11OrigPre") OR @ISMBR ("1+11PrePush") OR @ISMBR ("1+11PreAdj") OR @ISMBR ("Post1+11")
    OR @ISMBR ("2+10OrigPre") OR @ISMBR ("2+10PrePush") OR @ISMBR ("2+10PreAdj") OR @ISMBR ("Post2+10")
    OR @ISMBR ("3+9OrigPre") OR @ISMBR ("3+9PrePush") OR @ISMBR ("3+9PreAdj") OR @ISMBR ("Post3+9")
    OR @ISMBR ("4+8OrigPre") OR @ISMBR ("4+8PrePush") OR @ISMBR ("4+8PreAdj") OR @ISMBR ("Post4+8")
    OR @ISMBR ("5+7OrigPre") OR @ISMBR ("5+7PrePush") OR @ISMBR ("5+7PreAdj") OR @ISMBR ("Post5+7")
    OR @ISMBR ("6+6OrigPre") OR @ISMBR ("6+6PrePush") OR @ISMBR ("6+6PreAdj") OR @ISMBR ("Post6+6")
    OR @ISMBR ("7+5OrigPre") OR @ISMBR ("7+5PrePush") OR @ISMBR ("7+5PreAdj") OR @ISMBR ("Post7+5")
    OR @ISMBR ("8+4OrigPre") OR @ISMBR ("8+4PrePush") OR @ISMBR ("8+4PreAdj") OR @ISMBR ("Post8+4")
    OR @ISMBR ("9+3OrigPre") OR @ISMBR ("9+3PrePush") OR @ISMBR ("9+3PreAdj") OR @ISMBR ("Post9+3")
    OR @ISMBR ("10+2OrigPre") OR @ISMBR ("10+2PrePush") OR @ISMBR ("10+2PreAdj") OR @ISMBR ("Post10+2")
    OR @ISMBR ("11+1OrigPre") OR @ISMBR ("11+1PrePush") OR @ISMBR ("11+1PreAdj") OR @ISMBR ("Post11+1")
    AND @ISMBR ("Jan"))
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2011 Actuals after Adjustments");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY1+11Pre") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"1+11OrigPre");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY1+11Post") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"Post1+11");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY2+10Pre") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2+10OrigPre");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY2+10Post") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"Post2+10");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY3+9Pre") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"3+9OrigPre");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY3+9Post") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"Post3+9");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY4+8Pre") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"4+8OrigPre");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY4+8Post") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"Post4+8");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY5+7Pre") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"5+7OrigPre");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY5+7Post") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"Post5+7");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY6+6Pre") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"6+6OrigPre");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY6+6Post") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"Post6+6");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY7+5Pre") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"7+5OrigPre");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY7+5Post") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"Post7+5");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY8+4Pre") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"8+4OrigPre");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY8+4Post") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"Post8+4");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY9+3Pre") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"9+3OrigPre");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY9+3Post") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"Post9+3");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY10+2Pre") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"10+2OrigPre");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY10+2Post") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"Post10+2");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY11+1Pre") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"11+1OrigPre");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY11+1Post") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"Post11+1");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY0+12Pre") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"Post11+1");
    ELSEIF (@ISMBR ("Jan") AND @ISMBR ("FY0+12Post") )
    Opening_Balance_Rooms = ("Rooms"->"Dec"->"2012 Actuals after Adjustments");
    ELSEIF (@ISMBR ("Feb") OR @ISMBR ("Mar")
    OR @ISMBR ("Apr") OR @ISMBR ("May")
    OR @ISMBR ("Jun") OR @ISMBR ("Jul")
    OR @ISMBR ("Aug") OR @ISMBR ("Sep")
    OR @ISMBR ("Oct") OR @ISMBR ("Nov")
    OR @ISMBR ("Dec"))
    Opening_Balance_Rooms = @Prior("Opening_Balance_Rooms")
    + @Prior("Affiliations")
    + @Prior("Disaffiliations")
    + @Prior("Other_Rooms");
    EndIf

  • Business Rule/Member formula for Y-T-D value

    I have an account in my P&L which holds monthly movement values (e.g. Jan=10, Feb=20, Mar=10, Apr=15). Lets Call this AC123
    I need to populate Balance Sheet account (TB Last) with the "Y-T-D" equivalent values (i.e. Jan=10, Feb=30 [10+20], Mar=40[10+20+10], Apr=55[10+20+10+15]. Lets call this AC345.
    How can I calculate AC345 as Y-T-D(@CURRMBR(PERIOD))->AC123?
    Currently I have a member formula on AC345 as follows:
    IF(@ISMBR("Jan"))
         "AC123";
    ELSEIF(@ISMBR("Feb"))
         Jan->AC123+Feb->AC123;
    ELSEIF(@ISMBR("Mar"))
         Jan->AC123+Feb->AC123+Mar->AC123;
    ELSEIF(@ISMBR("Apr"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123;
    ELSEIF(@ISMBR("May"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123;
    ELSEIF(@ISMBR("Jun"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123;
    ELSEIF(@ISMBR("Jul"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123+Jul->AC123;
    ELSEIF(@ISMBR("Aug"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123+Jul->AC123+Aug->AC123;
    ELSEIF(@ISMBR("Sep"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123+Jul->AC123+Aug->AC123+Sep->AC123;
    ELSEIF(@ISMBR("Oct"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123+Jul->AC123+Aug->AC123+Sep->AC123+Oct->AC123;
    ELSEIF(@ISMBR("Nov"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123+Jul->AC123+Aug->AC123+Sep->AC123+Oct->AC123+Nov->AC123;
    ELSEIF(@ISMBR("Dec"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123+Jul->AC123+Aug->AC123+Sep->AC123+Oct->AC123+Nov->AC123+Dec->AC123;
    ENDIF;
    But there MUST be a more elegant way to do this!!
    Version 11.1.1.3
    I hope the question is clear. Thanks in advance for your help.
    Paul
    Edited by: 973421 on Nov 27, 2012 3:38 AM

    Hmm, well one way you might do this is to a YTD hierarchy (I know you are doing movements, but sometimes balances are nice, too, and this approach lets you TB whatever with the values and get the right YTD value) in my Months/Time Period/whatever dimension.
    Something like this (and I am making it Planning-centric but should work for any BSO db that has separate Years and Months dimensions):
    Months
    |_TotalYear ~
    |___Q1 +
    |____Jan +
    |____Feb +
    |____Mar +
    etc.
    And then at the same level as TotalYear I would have this:
    YTD ~ Label ONly
    |_Jan YTD ~
    |__Jan +
    |_Feb YTD ~
    |__Jan YTD +
    |__Feb +
    |_Mar YTD ~
    |__Feb YTD +
    |__Mar +
    etc.
    That gives you the YTD values (balance or movement) but you still need to refer to the correct YTD member and that means the big IF statement still exists.
    What I think you need is the @CURRMBRRANGE formula:
    http://docs.oracle.com/cd/E17236_01/epm.1112/esb_tech_ref/currmbrrange.html
    NB -- This is a guestimate on your code, but how about this:
    "AC345" = @SUMRANGE("AC123", @CURRMBRRANGE("Months", LEV, 0, , 0)) ;
    The startOffset value is null -- that should give you Jan. The endOffset is 0, that should give you whatever the current Month is. I think that's it. I would likely make this member a dynamic calc but that's up to you.
    Regards,
    Cameron Lackpour

  • Which is faster -  Member formula or Calculation script?

    Hi,
    I have a very basic question, though I am not sure if there is a definite right or wrong answer.
    To keep the calculation scripts to a minimum, I have put all the calculations in member formula.
    Which is faster - Member formula or calculation scripts? Because, if i am not mistaken, FIX cannot be used in member formulas, so I need to resort to the use of IF, which is not index driven!
    Though in the calculation script,while aggregating members which have member formula, I have tried to FIX as many members as I can.
    What is the best way to optimize member formulas?
    I am using Hyperion Planning and Essbase 11.1.2.1.
    Thanks.

    Re the mostly "free" comment -- if the block is in memory (qualification #1), and the formula is within the block (qualification #2), the the expensive bit was reading the block off of the disk and expanding it into memory. Once that is done, I typically think of the dynamic calcs as free as the amount of data being moved about is very, very, very small. That goes out the window if the formula pulls lots of blocks to value and they get cycled in and out of the cache. Then they are not free and are potentially slower. And yes, I have personally shot myself in the foot with this -- I wrote a calc that did @PRIORS against a bunch of years. It was a dream when I pulled 10 cells. And then I found out that the client had reports that pulled 5,000. Performance when right down the drain at that point. That one was 100% my fault for not forcing the client to show me what they were reporting.
    I think your reference to stored formulas being 10-15% faster than calc script formulas deals with if the Formulas are executed from within the default calc. When the default Calc is used, it precompiles the formulas and handles many two pass calculations in a single pass. Perhaps that is what you are thinking of.^^^I guess that must be it. I think I remember you talking about this technique at one of your Kscope sessions and realizing that I had never tried that approach. Isn't there something funky about not being able to turn off the default calc if a user has calc access? I sort of thing so. I typically assing a ; to the default calc so it can't do anything.
    Regards,
    Cameron Lackpour

  • Which is faster - Member formula or Calculation scripts?

    Hi,
    I have a very basic question, though I am not sure if there is a definite right or wrong answer.
    To keep the calculation scripts to a minimum, I have put all the calculations in member formula.
    Which is faster - Member formula or calculation scripts? Because, if i am not mistaken, FIX cannot be used in member formulas, so I need to resort to the use of IF, which is not index driven!
    Though in the calculation script,while aggregating members which have member formula, I have tried to FIX as many members as I can.
    What is the best way to optimize member formulas?
    I am using Hyperion Planning and Essbase 11.1.2.1.
    Thanks.

    The idea that you can't reference a member formula in a FIX is false. Here's an example:
    - Assume you have an account that has a data storage of Stored or Never Share.
    - This account is called Account_A and it has a member formula of Account_B * Account_C;.
    - You would calculate this account within a FIX (inside of a business rule) something like this:
    FIX(whatever . . . )
    "Account_A";
    ENDFIX
    If you simply place the member named followed by a semi-colon within a business rule, the business rule will execute the code in the in that member's member formula.
    Why would you want to do this instead of just putting ALL of the logic inside the business rule? Perhaps that logic gets referenced in a LOT of different business rules, and you want to centralize the code in the outline? This way, if the logic changes, you only need to update it in one location. The downside to this is that it can make debugging a bit harder. When something doesn't work, you can find yourself searching for the code a bit.
    Most of my applications end up with a mix of member formulas and business rules. I find that performance isn't the main driving force behind where I put my code. (The performance difference is usually not that significant when you're talking about stored members.) What typically drives my decision is the organization of code and future maintenance. It's more art than science.
    Hope this helps,
    - Jake

Maybe you are looking for

  • Trying to update to OS 6

    Hi, I have a Bold 9650 that I am currently running 5.0.0.1006 on and I'm trying to get it to update to OS 6, I am currently away from my computer with the DM on it and my office computer won't let me download the DM. Last night I tried to pull it fro

  • Can I find out the file size of tracks before I import a CD?

    My husband is an audiophile, we listen to classical music. (Although I indulge in some Beatles and other music on occassion.) Is there a way to find out how large the file sizes for each track will be for importing with Apple Lossless versus AAC, as

  • How do i get past the "do not have sufficient privileges" error message installing flashplayer?

    how do i get past the "do not have sufficient privileges" error message installing flashplayer? i've googled the problem and seen the other solutions and for some reason cannot get any of them to work for me.

  • Release PO invoice

    Hi Could you please let me know the FI and MM TRansactions to release / unblock the PO Invoice? Also let me know if there is an invoice say"X" and I need to find out through which transaction the invoice was released then how can I get this informati

  • Reg: Find Duplicate Records and select max number of record in Table

    Hi Guys,      This is Nagendra, India. my table structure is id  name  tempid  temptime 1  xxx     123        date 1 yyy       128       date 1 sdd     173       date 14 ree    184      date 14 fded   189     date This is Table Structure, totally 150