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

Tags: Business Intelligence

Similar Questions

  • Calc scripts MDX on ASO is 20 x slower than calc on OSB?

    Is it true that calc scripts MDX on ASO's 20 x slower than calc on OSB?

    Our consultants Essbase dear wrote in their e-mail and training documents. I've never heard of this.

    Built a cube BSO staging area, loads all data source BSO. Run BSO Calc staging cube before exporting the level zero to ASO.  Is this crazy?

    Thank you.

    STOP THINKING LOT

    I agree with most of the responses seen above and actually works to understand that the ASO procedural process Calc uses during execution of their work.  This will help us all understand what kind of scripts will be quick and that are frighteningly slow.

    But, my first suggestion seeing most of the manuscripts I am presented with is: why are you using a calc script at all?  Calc scripts are often used when there is no higher level subtotals.  Well, they are always available to ASO.  The way I see it is calc scripts are really necessary when new data of level 0 must be generated and rolled up.  Or in the simple case of copies of data.

    Currency conversion is where they are most often used.  I can't convert each of the 5mm values that contribute to a higher level of $100 mm in order to convert $100 to 91,882,223 euros.  And, often copies of data are not really necessary, especially "real."  Conceivably contours where the plans and forecasts are dynamically seeded with latest figures real or actual same prerequisite.

    So look hard at your old practices first and Rob it of your scripts, anything that can be written as a successful formula of Member.  If nothing else the code remaining will most likely run faster.

    Note: Calc script processing involves the internal tree in which each dat file is organized.  I encourage anyone with an overview of this structure to communicate with me and maybe we can share observations.

  • Calc the MDX script conversion script

    Hello

    We converted our cube BSO to ASO. so, we are now certain of our calc conversion MDX script.

    SO I'll try the figute what can I use in MDX to FIX and DIM CALC commands in Calc script?

    We use the EMP 11.1.2.

    Thank you

    You're not really converting them. There is not a procedure calc to ASO (Yes Cameron, I know that there but for the point of the question, that's irrevelent). As ASO cubes dynamically calculate the upper levels, there is no need of a Calc Dim statement. Some formaulas to work only on subsets of data, consider using a Case statement or an IIF statement. I find the case easier to read, but that's just me.

  • BSO Member conversion to ASO MDX formula

    Hi guys,.

    I am trying to convert the following Member BSO formula to ASO.

    FORMULA MEMBER BSO
    --------------------------------
    IF (@ISLEV ('TP', 0))
    @SUMRANGE ("TDI"->"feat"-> "ETC."->"PC NA Exch"->"", @ILSIBLINGS (@CURRMBR ("TP")));
    ELSE IF (@ISLEV ("TP", 1))
    "TDI"->"feat"-> "ETC."->"PC NA '->' Exch ';
    ENDIF;

    Conversion of the ASO
    ----------------------
    CASE
    WHEN
    IsLevel ([TP], 0)
    Sum (Sum (CrossJoin ({[TDI], [exploit], [ETC.], [PC NA], [Exch]}) THEN))
    MemberRange (([TP]. CurrentMember). FirstSibling, [TP]. Lag (1))
    )
    ON THE OTHER
    WHEN IsLevel ([TP], 1) THEN
    [TDI], [exploit], [ETC.], [NA PC], [Exch]
    )

    Can someone please help me with this? I came with the converstion above but it is not through.

    Thank you
    Mickael

    You have ADI, Feat, etc, PC NA, Exch wrapped in parens? (TDI, Feat, etc, PC NA, Exch)? You can also add .currentmember on behalf of each Member

    ([TDI].currentmember,[Feat].currentmember,[ETC].currentmember, [PC NA].currentmember, [Exch].currentmember) 
    
  • 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

  • Currency conversion

    Hello everyone.

    So, I'm on a new effort, learn how to handle the currency conversion. I decided to handle this manually and not through planning. Does anyone have an overview of the tasks at hand? Where to start, and that everything is driven? Examples would be greatly appreciated as well. Thanks in advance!

    -Best regards

    Please see the following notes regarding the multi-currency conversion lever. Number 2 is the stage more current that is overlooked.

    1. set up exchange rate tables and enter rates.
    2 assign tables exchange rate for the appropriate members of the scenario.
    3. assign the type of appropriate rate (average, thin and historical) to the members of the dimension account.
    4. Enter the base currency appropriate to the members in the dimension marked as the entity dimension.
    5 create the currency conversion calc scripts using a refresh.
    6 confirm that the rates are in Essbase.
    7 run the calculation of hspcrtb.csc/hspcrtt.csc script to push rates on accounts statistics for real accounts. You must run this when rates are entered or modified, when a new account is added or the type of exchange rate is changed for an existing account.
    8 run a calculation of currency conversion script to create the reporting currency data.

    Also remember that when Exchange rates are pushed to Essbase during the updating process, they are stored in the Essbase application in the intersection below. The key point is that the data is stored in the upper part of the House to some dimensions and if the data storage became an option off store as dynamic Calc and No Store, there is no room for the rate to store.

    Account: Level 0 members (HSP_Historical, HSP_Average, HSP_Ending)
    Period: Level 0 members (Jan, Feb,...)
    Scenario: Level 0 members (real, Budget,...)
    HSP_Rates: Level 0 members (HSP_Rate_GBP,...)
    Currency: The currency Dimension member name
    Version: Name of Member of Dimension Version
    Entity: Name of Dimension entity member of the
    Defined by the user Custom Dimension (s): Dimension member name xxxxx

    HTH-
    Jasmine.

  • rule scripts and conversion of < calculate currencies >

    Hello Experts! :)

    I created a 11.1.1.3 planning request Multicurrency, create a table of rates of Exchange and conversion planning scripts who appeared for selection in my data form, and these scripts work very well and calculate currency conversion correctly so far. So I decided to run only integrated planning < Calculate currencies > business rule and it has also calculated the conversion of currencies very well. I tried to find this rule in the Regional service console to see his script, and I just couldn't! Then I decided to play around with it and I deleted all my scripts generated currency conversion, refreshed Essbase and re-run rule < calculate currencies > and again calculated the right currency conversion. So, I am confused and I have 2 questions:

    (1) why should I need to currency conversion scripts if there is rule < calculate currencies >?
    (2) how can I find the rule < calculate currencies > (and < calculate form data > rule if possible) and see their scripts?

    I'd highly appreciate your contribution to my understanding this! Thank you! :)

    Currencies to calculate is only for members on the form

    The business rule to calculate the currencies is based on the dimensions and Member on the data form. It converts the data from the local currency to the currency of presentation on the data form, apply the exchange rate conversion. She:

    * Do not calculate subtotals. For the subtotal values, run the business rule to calculate the form of data (or a custom business rule which includes aggregation) after currency conversion.
    * Does not take into account the values #MISSING.
    * Can be turned on or off by associating or disassociating with data forms in the design of data form.
    * Has the default value works only for recording the data.

    I think you're looking for the currency conversion calc script, more info on:-http://download.oracle.com/docs/cd/E12825_01/epm.111/hp_admin/ch04s08.html
    Alternatively, you can generate the script by:-http://download.oracle.com/docs/cd/E12825_01/epm.111/hp_admin/mg_curr.html

    It's also a good position on the currency conversion:-http://www.network54.com/Forum/58296/message/1131462381/Re-entitynot + translation + data

    See you soon

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

  • Query ASO

    Hello

    I have a formula below in BSO cube:

    If (@ismbr (& BudYr))
    If (@ismbr (& CurMth: 'Dec'))
    Acct_7000 *-1;
    endif;
    endif;

    I want to convert this formula of MDX query to replace the IF statement I'm using something like below:

    [Year].currentmember.member_name = & Budyr

    and this expression does not

    However if I replace the variable to substitute with the name of the current Member it works fine.

    Any thoughts?

    Forgive my childish MDX skills:

    CASE WHEN [Years].CURRENTMEMBER IS &BudYear THEN
         CASE WHEN CONTAINS([Time].CURRENTMEMBER, MEMBERRANGE(&CurrMonth, [Dec])) THEN
                   [Original Price] * -1
         END
    END
    

    Works in ASOSamp.Sample.

    I put the variable substitution & BudYear [Curr year] and & as Jul CurrMonth. I wonder if you have a space in your & BudYear?

    Kind regards

    Cameron Lcakpour

    P.S. Here is a better version of it: conversion of the calc in MDX script

  • issue of data

    Hi all

    I'm trying to load data at all levels entity and other dimensions. I am able to load successfully.

    But the loading on an entitiy, that are not present in the data file. This entity's parent entity. I'm not under aggregations also.


    EX: loading data as below a, b and e are parent-level and other members are members of Level0. another dimension A1 is the parent member.
    No data are loading b and c, but data showing the b 20

    A1
    a 20
    --b
    --c
    --d
    --e
    --f
    --g

    all my limbs are stored only.

    Please let me know what could be the problem.

    Thank you
    Kiran

    Some ideas...

    Data already present in the cube?
    Certainly no label only members, the parents of one child or parents with a single + child of consolidation (unexpected winding / implicit sharing)?
    Dynamic calc / formula MDX in one dimension returns a calculated value (vs responsible) at the parent level?
    FIND/REPLACE in your rule in charge send data somewhere you don't expect?

  • Copy of the Prod to Test data forms

    Hello

    We have lots of data in production with business in data forms. I appreciate, is an ideal way to move these data forms of Test environment with the company data?

    Thank you

    Published by: user12250743 on April 14, 2010 11:47

    This will be the form without the data, the data is stored in essbase and no planning.
    To extract the essbase data, you can use the script command DATAEXPORT calc, an MDX, excel addin, smart view report script.
    The fastest is to use excel addin or smart display, retrieve the data, point to the test environment and then submit.

    See you soon

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

  • Calc script for conversion MDX

    Hello

    I tried to convert the following MDX script, but I have found no equivalent MDX formula for this. can someone help me.

    @VARPER (RepAct, @PRIOR (RepAct,1,@Children (Years)));

    By

    Subhash

    >

    @VARPER (RepAct, @PRIOR (RepAct,1,@Children (Years)));

    It is not a replacement for @VarPer, instead you must use a case statement with the UDA or values of the ancestor, the rest is easy. You would tag accounts as income or expense

    Case When ISUDA (accounts.currentmember, "Expense") then
    (RepAct/(RepAct,Years.currentmember.lag(1)) / 100
    On the other
    ((RepAct, years. CurrentMember.Lag(1)/RepAct)/ 100
    Endif

    Note that the two statements could be backward

  • Changing a dimension of stored to ASO dynamics will change my Calc MDX results?

    Merry Christmas / Happy Holidays!

    Changing a dimension of stored to ASO dynamics will change my Calc MDX results?

    Has anyone turn their dimensions of dynamic Stored?  What are the problems that you have experienced?

    Thank you for the early Christmas present (with answers).

    As suggested by the other responses, it depends in part why you change.

    As Philippe said, the potential problem is calculation order. Stored dimensions are always grouped before the member formulas / dynamic dimensions.

    If you do everything is change a dimension currently stored is dynamic (i.e. you don't change consolidation properties, or add formulas) and then you end up with a dynamic dimension with all members having a resolution of zero order. "The order of resolution" is a property that controls the order of calculation and extends from 0 to 127.

    This can change calculation results if you have existing dynamic members who also solve orders from scratch, because the solve order "tie" is broken by order reverse contour of the dimensions.

    So if you change a dimension currently stored in dynamic and it appears in the sketch after (lowest in the Outline Editor view) all other dynamic dimensions (or all your other dynamic dimension members have an order of resolution greater than zero), you're safe; There is certainly no change in behavior. If you change a dynamic currently stored dimension and there are other sides dynamic after him in the sketch that contain zero members to resolve, you should test.

    Further details on the order of calculation ASO in the database administrator's Guide: ASO calculation order

    * I leave aside the extremely rare case where you set orders non-zero address stored dimension, that (unfortunately) Essbase allows to perform, despite the fact it has no effect whatsoever - orders to solve without meaning survive the dynamic conversion and become meaningful.

  • Change the size of compression to ASO will do my Calc MDX results change?

    Merry Christmas / Happy Holidays!

    Change the size of compression to ASO will do my Calc MDX results change?

    Our EAS reported this: our dimension of reduction measures to the switching times will be half of our data file size.  Has anyone turn their dimensions of compression?  What are the problems that you have experienced?

    Thank you for the early Christmas present (with answers).

    This is not a duplicate, but it's largely the same question that a dynamic dimension to ASO stored passing Will do my Calc MDX results change?

    This is because the size of compression must be dynamic, so if you select a dimension that is currently stored in the size of the compression, it will be converted to dynamic.

    If you change the size of the compression of an already dynamic dimension, it has certainly no effect.

  • 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])

  • 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

Maybe you are looking for