SAP BPC - Recursive Dimension Member Formulas

Hi BPC community,
We have a customer requirement to create recursive dimension member formulas.  Has anyone dealt with this topic before?
Example:
Account A = Account B * .05
Account B = Account A + Account C.
Account D = Account B * .10
Thanks,
Jeff Holdeman
EPM RIG

Hi Nicolas,
Thanks for pointing us in the right direction.  The math actually turns out a little different, as I think you slipped a decimal.  But none the less, your contribution is MUCH appreciated.
Here is the proposed solution.  For more details, we also need to utilize the solve_order parameter to force the system to calculate the dimension formulas in the proper sequence.  Zero is the highest priority.
Assume...
A = B * .05
B = A + C
C = input
D = B * .10
Therefore solving for B...
B = (B * .05) + C
B = .05B + C
B - .05B = C
.95B = C
B = (1 / .95) * C
And...
D = (1 / .95) * C * .10
For example, if C = 100...
B = (1 / .95) * 100 = 105.26
A = 105.26 * .05 = 5.26
D = 105.26 * .10 = 10.53
I'll assume there are two accounts for "C"; one for input and one as a formula.
[Account].[C] = [Account].[C input][, solve_order = 1]
[Account].<b> = [Account].[C] * 1 / .95[, solve_order = 2]
[Account].[A] = [Account].<b> * .05[, solve_order = 3]
[Account].[D] = [Account].<b> * .10[, solve_order = 4]
Edited by: Jeffrey Holdeman on Aug 11, 2008 5:58 PM

Similar Messages

  • BPC NW 10 Member formula

    Hello Experts,
    I have a BPC NW 10 requirement to calculate member formula for Account Dimension.
    SALES_TTM(Total Sales - 12months Trailing) which is  SALESTOT+(SALESTOT, Prior Period)+(SALESTOT, Prior Period 2)+(SALESTOT, Prior Period 3)+(SALESTOT, Prior Period 4)+(SALESTOT, Prior Period 5)+(SALESTOT, Prior Period 6)+(SALESTOT, Prior Period 7)+(SALESTOT, Prior Period 8)+(SALESTOT, Prior Period 9)+(SALESTOT, Prior Period 10)+(SALESTOT, Prior Period 11).
    SALESTOT member is not a Base Member.Its a node which has several Base members in it.
    How Can I write a Member Formula for the above requirement?
    Thanks

    Hello Vadim,
    I was able to write the formula and test it properly using LAG functionality for time,
    I have a similar requirement for YTD model and posted it in a seperate post.I have written a formula but couldnt make it dynamic to make it work for all years
    Can you please help?
    Below is the link
    http://scn.sap.com/thread/3607494
    Thanks

  • Need to create a dimension member formula refering hierarchy.

    Hello Experts ,
    System : BPC 10 NW SP 11
    Dimension : BOOK – entity type
    Dimension : ACCOUNT  - Account type
    Scenario :  create a  ACCOUNT dim member formula  effecting only members exists in Entity dimension PARENTH3, with property  MGMT_CALC = Calc. 
    I tried below syntax : but none of them  working.
    IIF([BOOK.PARENTH3].CURRENTMEMBER.PROPERTIES("MGMT_CALC")="CALC", (IIF ([PNC_REV]=0,0,[ACCOUNT].[PNC_UUND_TOT]/[ACCOUNT].[PNC_REV])),NULL); SOLVE_ORDER=10
    IIF([BOOK].[PARENTH3].CURRENTMEMBER.PROPERTIES("MGMT_CALC")="CALC", (IIF ([PNC_REV]=0,0,[ACCOUNT].[PNC_UUND_TOT]/[ACCOUNT].[PNC_REV])),NULL); SOLVE_ORDER=10
    IIF([BOOK.H3].CURRENTMEMBER.PROPERTIES("MGMT_CALC")="CALC", (IIF ([PNC_REV]=0,0,[ACCOUNT].[PNC_UUND_TOT]/[ACCOUNT].[PNC_REV])),NULL); SOLVE_ORDER=10
    In case I am not reading hierarchy   as in below syntax, it works fine.
    IIF([BOOK].CURRENTMEMBER.PROPERTIES("MGMT_CALC")="Calc", (IIF ([PNC_REV]=0,0,[ACCOUNT].[PNC_UUND_TOT]/[ACCOUNT].[PNC_REV])),NULL); SOLVE_ORDER=10
    The requirement is to read PARENTH3 members with specific property value.
    Thanks in advance
    Pavan

    Hi Pavan,
    I believe there is a similar thread to which I have responded.
    Your formula is based on a condition with a property. A property value is applicable to the member irrespective of which hierarchy it belongs to. So, why do you need to consider the hierarchy for your formula?
    Hope this helps.

  • SAP BPC Updating Dimension and Elements whilst users are logged in?

    Hi,
    In SAP BPC (the Outlooksoft technology), can dimensions hierachies be updated and elements be added without users having to log out?
    Thanks in advance.
    Kaveenga

    Hi Kaveenga,
    Yes, dimension hierachies can be updated and elements can be added without users having to log out, but any changes will not be reflected in the users' reports until they log out and back into BPC.  Also, until the users have logged out and back in to BPC, there is potential for users to retrieve incorrect data depending on the changes that were made to the dimensions or if other users have subsequently changed data using the updated dimensions.
    Thanks,
    Scott

  • Dimension member formulas

    Hello Xperts,
    What is meant by dimension member formulas

    Dimension formulas , can be specified in FORMULA propety. If account A has dimension formula Account.B-Account.C , value of Account A is calculated on the fly . Calculate value is not stored in cube .Only at the time of reporting values are calculated .
    Hope this helps.

  • How can I create a dimension member formulas involving parent member?

    Hi everyone,
    I'm trying to learn BPC- Planning and I've got the following issue:
    Behind each key figure is a calculated formula which will not be calculated in the aggregated parent member ( Energie Kosten). It's a IF formula based on percentage. As far as I understood it's not possible in BPC NW 10.  to store values at parent level and parent member doesn't aggreagte child values that are calculated members. What can I do to solve the problem? The only solution will be the logic scripts?
    Any input is appreciated.
    Thank you!

    Hi Vadim,
    thank your for your answear.
    Here it's my formula:
    IIF([KENNZAHL].[S_PSTROM] = 0 , [KENNZAHL].[E_PSTROM] ,[KENNZAHL].[S_PSTROM] * ([KENNZAHL].[BELGES] *[KENNZAHL].[TAGEMON] ))
    where: S_PSTROM = percentage key figure
             E_PSTROM =  manual input key figure
             BELGES = allocation
             TAGEMON= days per month
    The formula is used to calculate the energy. If there are adjustments used then will be calculated using the percentage if there are no adjustment needed that should take automatically the manually entered values.
    It's used only a hierarchy- PARENTH1. And only the dimension without calculated members are calculated in nodes.
    Thank you a lot!

  • Script logic to calculate average value on nodes - SAP BPC NW 10.0

    Hi experts,
    I need to have in the parent members of the dimension TIME (2014.Q1, 2014.Q2,  2014.Q3, 2014.Q4, 2014.TOTAL) the average value of  their children and not the sum. For example :
    2014.01        2014.02         2014.03        2014.Q1
        1                  2                    3                  2                                          
    2 = AVG(1, 2, 3)
    I tried the script bellow but it doesn't work , it throws the error " ReferenceError : AVG is not defined"
    *SELECT(%TIMESET%,"[ID]",TIME,"[CALC]='Y'")
    *XDIM_MEMBERSET TIME = %TIMESET%
    *XDIM_MEMBERSET MEASURES = PERIODIC
    *WHEN DIM1
    *IS C02
    *WHEN TIME
    *IS %TIMESET%
    *REC(EXPRESSION = AVG(Descendants([%TIMESET%].CURRENTMEMBER)), TIME = %TIMESET%)
    *ENDWHEN
    *ENDWHEN
    *COMMIT
    How can I achieve this ?
    Thanks
    Maha

    The best way is to enter 2 accounts: Productivity and Area, calculating by dimension member formula:
    ProductivityPerHectare=IIF([Area]=0,NULL,[Productivity]/[Area])
    If you have to enter ProductivityPerHectare and Area, then in script you can calculate Productivity:
    *WHEN ACCOUNT
    *IS Area
    *REC(EXPRESSION=%VALUE%*[ACCOUNT].[ProductivityPerHectare],ACCOUNT=Productivity)
    *ENDWHEN
    *WHEN ACCOUNT
    *IS ProductivityPerHectare  //user input
    *REC(EXPRESSION=%VALUE%*[ACCOUNT].[Area],ACCOUNT=Productivity)
    *ENDWHEN
    Then dimension member formula:
    ProductivityPerHectareCalc=IIF([Area]=0,NULL,[Productivity]/[Area])
    You can use arithmetic average of ProductivityPerHectare only if Area is always constant.
    In this case you can create some dummy account member DUMMY and fill it with 1:
    *WHEN ACCOUNT
    *IS ProductivityPerHectare  //user input
    *REC(EXPRESSION=1,ACCOUNT=DUMMY)
    *ENDWHEN
    Then dimension member formula:
    ProductivityPerHectareCalc=IIF([DUMMY]=0,NULL,[ProductivityPerHectare]/[DUMMY])
    Vadim

  • Why not displayed new member in dimension sap bpc?

    Good day guys
    I have the following problem:
    Add new members to a dimension but not displayed.
    example: DIMENSION(inputcurrency) added MEMBER: MXN (Mexican Pesos); when I excel interface I can not see the new member, before this process the dimension and active AppSet.
    that could be?
    Use SAP BPC 7.5 SP8

    Hi Bish,
    Without processing a dimension the data should no go to the database. If you modify the the dimension and you want those new members in report you have to process that dimension. And if you save that dimension after modification its save the members in application sever. while retrieving the data it pick up from the database layer not from application layer, So the on fly calculation are  stored in application layer( Like conversion files, Transformation files, script logics and Member formulas). So if you want the new members in report you have to process. Its by SAP design it self.
    After modification of dimension no need to logoff and login every time. In order to avoid that option we have a anothe solution that is  Activate Metadata Cache option.
    In order to use that go to EPM--> User OPtions---> Activate metadata Option
    You can clear the metadata cache. When the cache is cleared, the structure of the data source you are connected to is synchronized with the structure copied locally; which means that the members of dimensions that have been added, modified or deleted in the data source are loaded.
    For more details related to  Metadata option go to the EPM 10 Office Addin User Guide document which is available in google free of cost
    Regards,
    Saida Reddy G

  • SAP BPC 7.5 NW SP15 - Dimension member descriptions are missing

    Hi Expert,
    We are using SAP BPC 7.5 NW SP 15, we use admin and client in spanish language see image attached
    All users see through BPC CLIENT for Excel in spanish mode both ID and descriptions but when we added new user it can´t, just it can see ID member. We refresh Dim Cache member from client side but nothing happens.
    We reprocess All dimensions through BPC Admin Client in spanish mode and doesn´t have any efect in dimension description?
    is there any issue with this?
    please give an advice to follow,
    Thanks for your answer.
    regards.

    Hi Roberto,
    thanks for your anwser
    We checked though BW and saw it that long descriptions were set in Spanish language key which is the same language as BPC for Excel was openend.
    As solution we checked at UJA3_USER_LANGU table, we notice that users in which descriptions are missing were registered in English language, therefore we deleted this user and its language and then was recreated those users through BPC ADMIN client.
    Thank you,
    Giovanni

  • Do the custom rollup member formulas work recursively for parent child dimension?

    Hi
    We have custom rollup set up for Account dimension which is parent child.
    It seems to work fine when the custom member formula refers to a base account member i.e. if the formula for MemberKey4 is (MemberKey1 + MemberKey2) then it shows the sum of the underlying members 1 and 2.
    But if the formula for MemberKey10 is (MemberKey3 + MemberKey4) then it should evaluate the value for MemberKey4 first and then add to it value for MemberKey3 to come up with final number for MemberKey10.
    Do the custom rollup work fine with the recursive calculations? Is this recursion limited to some level?
    Thanks
    Shailesh

    Hi Jorg,
    Thanks for your input.
    Actually the hierarhcy is more determined by the parent child relationship. So we cannot move the members as per the formula. And further the formulas are not always additive, there are divisions and multiplactions happening also.
    Further the calculated members (account members) are used in different places, the usage level of calculated members could be 3 in some cases i.e. MemberKey15 = (calculated using MemberKey10 = (calculated using MemberKey7 = (Calculated using MemberKey4 = (calculated using base members)))). Now inserting the base members in place of a calcuated member becomes more of string manipulation.
    And on the top of above complexity, the formulas are not static and they are more user defined, they may change between time periods, which forces us to write a dynamic procedure to translate the 'business formula' into SSAS formula. We expect the custom rollup to work as expected (i.e. if the formula contains a calculation involving the calculated member, it should resolve that first and so on) and we have written generic procedure to replace the Account Code in the 'business formula' with the accont key value with the account hierarchy char string.
    In the link http://doc.ddart.net/mssql/sql2000/html/olapdmad/agmdxadvanced_6jn7.htm for AS2000, it talks about the calculation pass deapth, it says:
    .......If a cube has custom rollup formulas or custom rollup operators, a second calculation pass is performed to handle the computations needed to calculate these features.......
    Now from the above, it is obvious that the OLAP engine will automatically go into recursion if the formula contains a cacluated member and it knows that the calculated member has to be resolved first before calculating the final formula result. The above article also talks about 'Calculation Pass Number' property in the AdvanceCube Editor (AS2000), which can be set to the value depending on the expected number of passes required in a given scenario. I don't find such an equivalent peoperty for SSAS 2005.
    Would anybody please throw some more ideas / insights on this issue?
    Jorg, thanks  again for your input...
    Shailesh

  • Formula in SAP BPC dimension with father

    Hi,
    I have a problem with dimension's formula.
    I have,for example, the DimName.h1.A1+DimName.h1.A2 formula, where A1 is a father member.
    Do you konw how I can write this formula?
    Thanks
    Claudia

    How many hierarchies do you have?
    If the base member and parent member are in your H1 hierarchy, then your formula must look like this:
    Hir1([P_ACCT].[H1].[TEST])+Hir1([P_ACCT].[H1].[CE0001000])
    Hir1 is a function referenced in the MDXLIB.LGL library file (located in ..\Webfolders\<APSET NAME>\SystemLibrary\Logic Library )
    Make sure you have the MDXLIB.LGL defined in the OPTIONS worksheet of your account dimension
    If you have 2 hierarchies, the Hir1 function should look like this:
    *Function Hir1(%Arg%)
         iif(AccountDim.H2.CurrentMember is [AccountDim].[H2].[All AccountDim.H2],%Arg%,Null)
    *endfunction
    If you have 3 hierarchies, the Hir1 function should look like this:
    *Function Hir1(%Arg%)
         iif(AccountDim.H2.CurrentMember is [AccountDim].[H2].[All AccountDim.H2] and AccountDim.H3.CurrentMember is [AccountDim].[H3].[All AccountDim.H3],%Arg%,Null)
    *endfunction
    Thanks,
    John

  • How to use the RateEntity dimension in SAP BPC?

    Hello everbody,
    I am implementing a consolidation process using SAP BPC. I want to use the RateEntity dimension, to translate a same currency into different exchange rates depending on the company.
    I want the company which ID is GFU (which is from Brazil) in LegalEntity dimension is converted using a special exchange rate. I have added a GFU member in RateEntity dimension, and I have entered the exchange rates for the member GFU and for the member Global in RateEntity dimension.
    But the problem is that after I run the FX Restatement package, converted data for this company is not the proper one, because Global exchange rates have been used instead of GFU exchange rates. Does anybody know why? Do I have to do anything else? 
    Thank you very much for your time

    Do you see the search functionality in the upper left of the screen?
    Okay, now type in ecatt, press enter and in the next screen filter on blogs.

  • 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

  • Error: Invalid dimension member with special character / in BPC NW 7.5 SP7

    Hi experts,
    We are encountering the following problem in our Financial Planning application.
    We are migrating our existing BPC solution from one server to another through backup and restore. The existing solution was on BPC NW 7.5 SP 5. The profit_centre dimension in the existing solutions has several member ids with special character '/' (forward slash). The dimension never threw an error when processed in the existing solution and there is planning transactional data against these member ids.
    While the entire configration , appset , files were successfully restored through UJBR on the new system (BPC 7.5 SP7) through UJBR (backup and restore), the masterdata could not be restored only for this Profit_centre (masterdata for other dimensions were processed successfullu). All the member ids with / are rejected for this dimension. The same error is thrown if processed through the admin client from the member sheet. 
    Error: Dimension member PC_FF/WS/NT is an invalid member ID
              Error in Admin module
    Is there any setting which need to be made to allow / character in member ids? Any suggestion to get around this problem would be much appreciated.
    Thanks
    Abhiman

    Hi Abhiman,
    Yes, you need to maintain the transformation file to correct all dimension member IDs. Can you please refer to the following link with a similar issue:
    conversion file formula not working
    Hope this helps.
    Rgds,
    Poonam

  • Error selecting a dimension member in BPC EPM report - The given key was not present in the dictionary

    Hi,
    We are currently running SAP BPC 10.1 NW on Hana
    Version:
    CPMBPC  810 SP 4
    SAP_BW  740 SP 9
    HANABPC 810 SP 4
    EPM Excel Add-in 10 SP 21 .NET 4 build 9094.
    On my embedded model. I have a BEX query on a aggregation level which I access in a report using the EPM Add-in Excel .
    When I edit my report in EPM Add-in Excel , and I try to select the dimension members for a selected dimension member, I get the following error.
    "The given key was not present in the dictionary"
    Any assistance to help resolve the problem will be appreciated.
    Regards
    Gavin

    Hi Shrikant,
    I had a look at MBR_SEQ , it is a attribute on the dimension member in BW , this relates to a past version of BPC 7.5. We are currently on BPC 10.1 Embedded model , and the MBR_SEQ does not exist on any of the characteristics I have in my info cube.
    When I create a web report I am able to access the dimension members using the select dimensions options, the problem seems to be on the EPM Add-in Excel client only.
    Thanks
    Gavin

Maybe you are looking for