Convert member formula Member MDX formula

Hello

I'm new to ASO and try to convert the following member formula in a BSO cube to an MDX formula for my ASO cube.  Any help will be greatly appreciated.

IF (@ISMBR ("Q1"))

('TOTALREV' / ((@PRIOR («T4 «->» EOPDomains», 1, @RELATIVE ("exercice", 0)) + "EOPDomains") / 2)) * 4;

ElseIf (@ISLEV("period",1))

("TOTALREV" / ((@SHIFT ("EOPDomains",-1, @ISIBLINGS ("Q1")) + "EOPDomains") / 2)) * 4;

ElseIf (@ISMBR ("Jan"))

('TOTALGREV' / ((@PRIOR («Dec «->» EOPDomains», 1, @RELATIVE ("exercice", 0)) + "EOPDomains") / 2)) * 12.

ElseIf (@ISLEV("period",0))

("TOTALREV" / ((@PRIOR ("EOPDomains") + "EOPDomains") / 2)) * 12.

ENDIF

It is a fairly easy calculation using a case statement. It is easiser a Calc script, since you can use Lag on all dimensions and tuples.  Try something like:

Case When IS([Perioid].currentmember,[Q1]) then

([TiotalRev] / (([Q4], [EOPDomains], [Fiscal Year].currentmember.lag (1)) + ([period] .currentmember, [EOPDomains], [Fiscal Year] .currentmember) / 2)) * 4

When IS ([Period].currentmember.levels (1)) then

([TOTALREV] / ((([EOPDomains], [Period].currentmember.lag (1)) + ([EOPDomains], [Period] .currentmember) / 2)) * 4)

When IS([Period].currentmember,[Jan]) then

([TOTALGREV] / (([Dec], [EOPDomains], [Fiscal Year].currentmember.lag (1)) + (Period] .currentmember, [EOPDomains], [Fiscal Year] .currentmember) / 2)) * 12

When Is ([Period].currentmember.levels (0)) then

([TOTALREV] / (([Period].currentmember.lag (1), [EOPDomains]) + ([period] .currentmember, [EOPDomains]) / 2)) * 12

END

Notes,

1. you will need to check the skill parens and members for typos that I made this Freehand

2 n-tuples as ([period] .currentmember, [EOPDomains]) might be able to simplify just ([EOPDomains]), but I made them full for consistenceny

3. I suggest to change the order of the statements have the most frequent first, it can make the fastest formula

Tags: Business Intelligence

Similar Questions

  • Can I do a free reference of a protected member MDX formula member account?

    My problem is:

    I need to make a free reference a member account.
    and the track is:
    -Cube Essbase ASO 11.1.1.3.
    -Accounts dimension has a member of level 0, called 'check '.

    The structure of the hierarchy is:
    Account
    -Level2 (+)
    -Level1 (+)
    -Balancesheet (+)

    I'm putting it under the formula of Member MDX on the 'check '.
    --------------
    CASE ([year]. CurrentMember)
    WHEN [FY10]
    Then
    Case ([period]. CurrentMember)
    When [JAN]
    Then
    < some logic here, pulling another Member here and works great >
    ON THE OTHER
    ([Balance sheet], [period].) CurrentMember.PrevMember) / * this is also working fine * /.
    END
    ON THE OTHER
    [Balance sheet] _ / * ERROR * / / * this IS WHERE it IS DEFAULT AND MAKING THE VALUES '0' for and year except FY10 * / _
    END
    -----------------


    Basically what I'm trying o realize is that I want ASO balance logic I write above ONLY for FY10 and don't do anything for any other year.
    When I don't write the last part "else", it makes the values zero for any year except for FY10. so I tried to put the logic above in the last part "else", but it is also not not and send me the "recursive [31] limit reached error»

    Any help on this appreciated.

    Thank you
    Ankit

    I'm still not clear on what you say, it seems that you say in a model of the ASO you can take a level 0 Member that has data in it, add a member formula he and Essbase will retain stored data that was there before the formula being added, but from now on he will use the result of the MDX formula.

    If that's what you say, it is not true. If you find that it is, then it seems to me be a bug. In my tests, it doesn't work that way, nor should it.

    Think about the consequences of not knowing if it's stored data or calc. by data. What do you do if you must reload the data? You cannot load the data of a member with a member formula, so you will have to remove the front form to load, then load and then add the formula back?

    There is something else here who is not be clearly explained.

    The solution is probably to create another stored for historical data and have then the Member with the formula reference this one for the periods you want and calculate for other periods.

  • Convert calc script for Member MDX formula

    Hello

    I'm new to ASO cube. I need help to convert a calc a script formula MDX. Any help will be greatly appreciated. Please see the example script to calc, but I need to use a large number of dimensions within the statement of Fix.
    How to use the Fix is MDX forumla?

    Fix (@Remove (@relative("Dimension1",0), "Member1"))

    "Dimension_Acct" = "OperatingUnit'-> 'product '.

    ENDFIX

    Although you can use the function here, with the exception, it may be easier to use something like:

    Case When ISlevel([dimension].currentmember,0) and IS not ([Dimension] .currentmember, [member 1]) then

  • Convert Member BSO formulas to ASO

    Please convert the following Member BSO formula ASO MDX formula

    IF (@LEVMBRS ("M", 0)
    )

    "A" = @ROUND ("Z" * "C"-> "D"-> "E"-> "Z", 0) +;
    ENDIF

    -------------------------------------------------------------------------------------------------

    IIF ([M]. (Level (0)], round ([Z] * [C]-> [D]-> [E]-> [Z] + [A]), 0)

    IIF (ISLEAF ([M]), ROUND (([Z] * ([C], [D], [E], [Z])), 0) + [A], MISSING)

  • ASO - formula Member MDX

    Dear,

    In my current requirement that I have cam across, I applied under the formula of dynamic dimension ASO member.

    VC_YTD--(SOMME (PeriodsToDate ([période].))) Generations (2) [period]. CurrentMember), [see]. [VariableCost]))

    FC_YTD - (SUM (PeriodsToDate ([period].)) Generations (2) [period]. CurrentMember), [see]. [FixedCost]))

    FixedCost - SUM ({DESCENDANTS ([Custom1]. (CURRENTMEMBER,10,LEAVES)}, [FC_FIS])

    VariableCost - SUM ({DESCENDANTS ([Custom1]. (CURRENTMEMBER,10,LEAVES)}, [VC_FIS])

    FC_FIS - SUM ({DESCENDANTS ([Custom1]. (CURRENTMEMBER,10,LEAVES)}, [VC_FIS])


    VC_FIS-

    CASE WHEN IsLevel ([account]. CurrentMember, 0) THEN

    IIf (IsAncestor ([A_4000000], [account]. (CurrentMember), (([MTD] * ([BegBalance], [NoLocation], [NoCostCenter], [NoProduct], [UserInput], [Budget], [approuvé], [Local], [aucune Entity],[FY14],[MTD])) / 100), 0)

    on the other

    SUM ({DESCENDANTS ([account]. (CURRENTMEMBER,10,LEAVES)}, [FC_FIS])

    End

    I know this isn't the right way but due to requiremnet I do the same thing.

    Now when I retriev the Member in excel my excel is dying upward and it gives no result.

    In the newspapers, I get below error-

    [FixedCost] member formula is complex. If possible, add a non-empty directive for scattered data optimization.

    The Member [VariableCost] is complex. If possible, add a non-empty directive for scattered data optimization.

    The Member [VC_FIS] is complex. If possible, add a non-empty directive for scattered data optimization.

    Can you suggest me to this.

    Thank you.

    try using NONEMPTYSUBSET()

    "This can help to optimize the queries based on a wide range for which all non-empty combinations is known to be small. NonEmptySubset reduced the size of all the presence of a metric; for example, you can ask the non-empty subset of descendants for specific units.

    NonEmptySubset is used to reduce the size of a set before analytical later retrieval. »

    The thing is once, I got this message and used NONEMPTYSUBSET and the warning does not go far so I found myself just ignore him. Some problems are simply complicated.

  • Calc script for Member MDX formula

    Hello ASO brain trust

    I'm trying to move a member of ASO formulas calc script. Many parts of the calc script are piloted by the UDA.
    BSO

    ElseIf (@ISMBR (@UDA ("Entity", "NR_U41110")))
    "U41110"=@SUMRANGE ("R41100", @UDA ("Entity", "S_U41110"))
    + @SUMRANGE ("R41200", @UDA ("Entity", "S_U41110"))

    ASO
    IIF)
    IsUDA ([person]. CurrentMember, "[NR_U41110]"),
    Sum (CrossJoin ({"[R41100]"}, {UDA ([entity], "[S_U41110]" "")})) +.
    Sum (CrossJoin ({"[R41210]"}, {UDA ([entity], "[S_U41110]" "")}));
    0
    )


    It sounds good, but it won't scan.

    Any ideas how to get around the fact that the UDA does not work well with the cross join or the sum. Assuming that it is formatted correctly.

    Thank you

    IIF)
    IsUDA ([person]. CurrentMember, 'NR_U41110'),
    Sum (CrossJoin ({[R41100]}, {UDA ([entity], "S_U41110")})) +.
    Sum (CrossJoin ({[R41210]}, {UDA ([entity], "S_U41110")}))
    0
    )

    Try this. I removed the quotes of member names and I took the place of brackets from the values of the UDA which I guess do not belong there.

  • How can I convert Excel formula to Javascript?

    I tried using online Excel formula Beautifier to convert an Excel formula in javascript for use in Adobe Acrobat Pro XI > forms > text field properties > custom calculation Script, but it didn't work.  (I first changed the number of Excel cells for the correct names of the form (Acrobat) in the following calculation fields)

    Formula Excel using domain names: 

    = IF (goals = 1, GA1, IF (goals = 2, (SUM(GA1,GB1)/2), IF (goals = 3 (SUM(GA1,GB1,GC1)/3), SO (Goals = 4, (SU-M(GA1,GB1,GC1,GD1)/4)))

    Calculation Javascript converted using more Web site: 

    (Goals = 1, GA1, IF (objectives == 2, ((GA1,GB1)/2), IF (objectives == 3, ((GA1,GB1,GC1)/3), IF (objectives == 4, ((GA1,G B1,GC1,GD1)/4)))))

    There is no error message, but no results on the ground. I'd like if someone could help me with this script.  Thank you!!!


    Windows 8.1, Acrobat Pro XI

    Regardless of this JavaScript, it is not complete. Something a bit more readable would be:

    Get the field values as numbers

    var goals = + getField("Goals").value;

    var GA1 = + getField("GA1").value;

    var GB1 = + getField("GB1").value;

    var = GC1 + getField("GC1").value;

    var GD1 = + getField("GD1").value;

    Set this field value

    switch (goals) {}

    case 1:

    Event.Value = GA1;

    break;

    case 2:

    Event.Value = (GA1 + GB1) / 2;

    break;

    case 3:

    Event.Value = (GA1 + GB1, GC1) / 3;

    break;

    case 4:

    Event.Value = (GA1, GB1, GC1 + GD1) / 4;

    break;

    by default:

    Event.Value = "";

    break;

    }

    This assumes you have fields with these names.

  • Help with formula Mdx ASO

    Can anyone help me please with the conversion. I want to convert the below formula member of ASo Member mdx formula.

    IF (@ISMBR (@IRDESCENDANTS ("AID3EF")))
    '895672' - '237674 ';
    ON THE OTHER
    #Missing;
    ENDIF

    TIA

    Published by: user13146947 on December 14, 2011 09:19

    Yes, you are right, is to be GOLD.

    Kind regards
    RSG

    Published by: RSG on December 14, 2011 11:27

  • BSO formula to aso

    Formula of BSo

    IF (@ISMBR (@IDESCENDANTS ("health Companies")))

    "H42000. Calc' = (("H40900"-> "NG_Opt" + "H41000"-> "NG_Opt"
    "H41100"-> "NG_Opt" + "H41200"->"NG_Opt" + "H41300"->"NG_Opt".
    "H41400"-> "NG_Opt" + "H41700"-> "NG_Opt") *.
    ("NG_11Adj"-> "PLAT_00"-> "BSEG_00"-> "HMHS_00000"-> "PROD_000"-> "MKT_0000"-> "DEPT_00000"-> "FAC_00000"-> "LAE rate")) ;



    Formula of the ASO
    -CASE when (Company.CurrentMember, [companies health]) is then
    [H42000.calc] = (([H40900], NG_opt + [H41000], NG_opt + [H41100], NG_opt + [H41200], NG_opt + [H41300], NG_opt))
    + [H41400], NG_opt + [41700], NG_opt) *.
    (NG_Adj.currentmember, Plat_00.currentmember, BSEG_00.currentmember, HMHS_00000.currentmember,
    PROD_000.CurrentMember, MKT_0000.currentmember, DEPT_00000.currentmember, FAC_00000.currentmember.
    LAERate)

    End

    I'm trying to convert asf formula aso.

    I get the error message
    Error (1260052) syntax error in a mdx query to enter on line 2 to token '=' NG_21Adj

    I write formula member of NG_21Adj and looks like it does not of '=' and sign ' + '.

    can someone help me with this

    Thank you

    Oh (of course). In the formula of Member ASO that the calc is for this member, then the equation is not necessary.

    But I'm confused because you said that this formula Member performed a member called NG_21Adj

    If H42000.calc whence?

    Below should work syntactically, but now I'm unclear of what your goal is. Which Member you are trying to calculate?

    CASE WHEN IsAncestor([Health Companies], [Company].CurrentMember, INCLUDEMEMBER) THEN
    (([H40900], [NG_opt]) + ([H41000], [NG_opt]) + ([H41100], [NG_opt]) + ([H41200], [NG_opt]) + ([H41300], [NG_opt]) + ([H41400], [NG_opt]) + ([41700], [NG_opt])) *
    ([NG_Adj], [Plat_00], [BSEG_00], [HMHS_00000], [PROD_000], [MKT_0000], [DEPT_00000], [FAC_00000], [LAERate]) END
    

    or

    CASE WHEN IsAncestor([Health Companies], [Company].CurrentMember, INCLUDEMEMBER) THEN
    SUM(CROSSJOIN({[H40900], [H41000], [H41100], [H41200], [H41300], [H41400], [41700]}, {[NG_opt]})) * ([NG_Adj], [Plat_00], [BSEG_00], [HMHS_00000], [PROD_000], [MKT_0000], [DEPT_00000], [FAC_00000], [LAERate]) END
     
    
  • Correction formula ASO

    Hello

    Trying to convert a BSO formula in the ASO, but get an error like

    Error (1260052) - syntax error in a MDX query to enter on line 4 to token 'CASE' Membername1. could you please correct this formula. Thanks, UB

    BSO formula:

    'Membername1 '.
    (IF (@ISMBR (@IDESCENDANTS (Member5))) "Membername1" = Membername2/52 * 13 * "Membername3" *-1;)
    ELSE IF (@ISMBR (@IDESCENDANTS (Member6))) "Membername1" = Membername4/52 * 13 * "Membername3" *-1;
    ENDIF ;)

    Convert the formula above BSO to ASO, one below:

    WHEN BOX IS ([year]. CurrentMember, [Member5]) THEN
    [[Membername2] / 52 * 13 * [Membername3] *-1]

    WHEN BOX IS ([year]. CurrentMember, [Member6]) THEN
    [Membername4] / 52 * 13 * [Membername3] *-1

    END

    Remove the * 2nd * using the keyword BOX & try again!

    -Alexia

  • How to convert the Member BSO formula formula ASO MDX

    Hello

    can someone help me to convert under the formula of OSB member to ASO

    T & M = "T & M"->"40000000 Services '%' Services:"-> "40000000;



    Kind regards
    Prabhakar.

    Published by: prabhakar on January 21, 2010 03:21

    Try something like

    ([T & M services], [40000000]) /([Services:],[40000000])

    You may need to tweak it to calculate a percentage of true

    See you soon

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

  • Conversion Calc in MDX

    Hi Experts,
    I am very new to MDX, so need help to convert this calc in MDX queries-

    If (@ISIDESC("L-206125"))
    '70170023 '.
    EndIF;

    Where 'L-206125' is dimension of departments and the "70170023" accounts. I have this formula on a Department.


    I tried to convert in MDX and got this-

    IIF (Is(Departments.CurrentMember,[L-206125]) OR Count (Intersect({Descendants[L-206125]},{Departments.CurrentMember})) = 1)), accounts. ([70170023], #Missing)

    But I get syntax error, whenever I have post this.

    Please someone help me on this problem?

    I took your condition (sort of) and transferred to my favorite Essbase Database second around the world, aka, ASOSamp.Sample and, if you'll forgive my my childish MDX:

    CASE WHEN CONTAINS([Geography].Currentmember, Descendants([North East])) THEN
         [Original Price] * -1
    ELSE
         42
    END
    

    Works for me.

    So in your case:

    CASE WHEN CONTAINS([Departments].Currentmember, Descendants([L-206125])) THEN
         [70170023]
    ELSE
         Missing
    END
    

    You want to write missing in all other intersections or just the first condition in the CASE? You decide.

    Kind regards

    Cameron Lackpour

  • Formula Member BSO using MDX ASO

    I use the Ref of the Essbase Tech to convert the below formula a calc to MDX member but just short. Help, please.

    IF ((@ISDESC (Cans)) AND (@ISMBR (Gander)))

    Total_Hours / @PARENTVAL (containers, cans-> Total_Hours); ENDIF;

    And my attempt to MDX:

    IIF ((IsAncestor [drums], [drums]. (CurrentMember]) AND (IS [Jars])),

    [Total_Hours] / ([containers], [cans].) CurrentMember.Parent, [Total_Hours]

    Thank you!

    When you use IIF statement you must specify the TRUE and the FALSE instructions.

    Change it as shown below and it should work

    IIF ((IsAncestor [drums], [drums]. (CurrentMember]) AND (IS [Jars])), ([Total_Hours] / ([containers], [cans].)) (CurrentMember.Parent, [Total_Hours]), missing)

    Concerning

    Amarnath

    http://Amarnath-Essbase-blog.blogspot.com

  • How formula MDX on level zero member data to Smartview?

    Hi Experts,

    I'm a member of level zero, which stores the data AND formula MDX to ASO.  I wonder what happens when I pick up this member using Smartview?  ASO runs this formula, stores the result in the form of data in this member (zero level) - then report stored data to Excel? In other words - how formula MDX on members level report data zero to Smartview?

    Merry Christmas / Happy Hanakkuk (and all other religious holiday greeting comes to be PC).

    Ho Ho Ho!

    Level 0 members not also store data, if it has an MDX formula. The value is calculated according to the formula only at the time of the recovery.

  • Conversion formula BSO member to the ASO MDX formula

    Hello

    I member called SDQ (rate) in measures Sun (BSO) and with this member formula I attach to it. So now, I have converted this cube in the ASO... So can help you in the conversion of this formula to ASO.

    IF (@ISmbr (@Desc "(SDQ) (end)");
    End gross Inventory/@SUM (@levmbrs ("Endning Status", 0)-> "End of the crude inventory";)
    ENDIF;

    Note - ending Status (Dynamic Calc) is low and SDQ (End) is a member of the Sun which is dynamic calc too and closing stock is members of the Sun of measures.

    So please help me.

    Thank you
    Pranav

    928641 wrote:
    Hello

    I member called SDQ (rate) in measures Sun (BSO) and with this member formula I attach to it. So now, I have converted this cube in the ASO... So can help you in the conversion of this formula to ASO.

    IF (@ISmbr (@Desc "(SDQ) (end)");
    End gross Inventory/@SUM (@levmbrs ("Endning Status", 0)-> 'End gross inventory';)
    ENDIF;

    Note - ending Status (Dynamic Calc) is low and SDQ (End) is a member of the Sun which is dynamic calc too and closing stock is members of the Sun of measures.

    So please help me.

    Thank you
    Pranav

    Not sure if I really understand your calculation for example why would you sum all the level zero members status ending if you're looking at a subset of members but whay I think that you might wish to is something like
    Case When isAncestor ([(SDQ) (END)], [status ending] .currentmember) then
    [End of the crude inventory] / SUM ({. currentmember.children [ending status]}, [[complete gross inventory])
    End

    If you try to get the value of the current Member of the total stocks of crude end really the easier equation would be
    [End of the crude inventory] / ([end status], [end of the crude inventory])

Maybe you are looking for

  • How to stop express vi DAQ assistant

    I am eager to collect data of a few strings at a time at a high acquisition frequency (40000Hz) while also controlling motor movement step by step.  My problem is that when I put the DAQ assistant for continuous samples to 40 kHz it acquires yet the

  • What are the meaning of the different network Options?

    Initially, I assumed [1 x 1] means only (2.4 GHz) band and [2 x 2] mean dual band (2.4 GHz and 5 GHz), but the following options are listed for the HP ENVY - computer laptop 17 t. It is my understanding that 802.11ac protocol works on the 5 GHz band

  • "not a version genuine windows" after re installing windows 7

    I have recently re installed windows 7, using the same key cd that came with my laptop, it was beautiful to startr with but now my desktop is black with a message saying that I don't have a genuine version of windows. I followed the steps to try to s

  • The Prime Minister took all the space on the hard disk OS'

    Hello.I sort approximately 50 + hours of game play. I used CC Prime Minister, I would like to cut out a bit that I want and add it to Media Encoder. I made this remarks of segments of 20 or more than anywhere between 10 seconds to 2 minutes. And all

  • Download CC after formatting laptop computer

    I had to download creative cloud through my University in 2014. But more later had to format my laptop and lost my applications.How can I download CC to get illustrator and other programs?