ASo to BSO formula

Hi All
IS it right calc script for bso
is it right conversion ASo to BSO but its giving problem
ASO=SUM({[2009.Q1].Children,[2009.Q2].Children})
BSO@SUM(@children("2009.Q1" and "2009.Q2"));

BSO@SUM(@children("2009.Q1" and "2009.Q2"));^^^You can't stick an "and" into a @SUM.
But you could do something like:
@SUM(@CHILDREN("2009.Q1")) + @SUM(@CHILDREN("2009.Q2"))
I kind of wonder why you want to do this -- wouldn't a dynamically calculated total in the hierarchy just be easier?
Regards,
Cameron Lackpour

Similar Messages

  • Bso formula to aso

    BSo formula
    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"));
    ASO formula
    CASE when is (Company.CurrentMember, [Health companies]) 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 am trying to convert bso formula into aso .
    i am getting error message
    Error(1260052) syntax error in input mdx query on line 2 at token '=' NG_21Adj
    i am writing member formula for NG_21Adj and it looks like it is not taking '=' and '+' sign
    can anyone help me with this
    thank you

    Oh (of course). In ASO member formula the calc is for that member, so the equation is not necessary.
    But I'm confused because you said this member formula was on a member called NG_21Adj
    So where does H42000.calc come from?
    Below should work syntactically, but now I am not clear what your objective is. Which member are you 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]) ENDor
    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

  • Converting BSO Formula to ASO Formula

    ASO Formula
    IIF(IS(Products.CurrentMember,[No_Product]),
    [Payroll Amount]+[Payroll Amount]*([Labor Tax],[No_Entity],
    [No_Company],[No_product]),Missing)
    BSO Formula
    /*IF(@ISMBR("No_Product"))
    "Payroll Amount"+ ("Payroll Amount"* "Labor Tax"->"No_Entity"-
    "No_Company"->"No_Product");ENDIF */
    I had the formula modified and it did work but I have another problem
    now. If you see the attached BSO formula, then the formula says do not
    do anything if the member is not "No_Product".
    How can I do that in ASO. if you see the ASO formula, then it says that if
    the if the member is not "No_Product" then put Missing. if I don't use this
    setting, then the formula does not work but actually we don't want to do
    anything if the member is not "No_product".Please suggest a
    workaround for this.

    Hi,
    If your concern is to avoid the usage of 'MISSING',in the case if its not a "No_Product",then , you rather use the
    CASE in your ASO formula ,rather than IIF.
    ex:
    case
    when(IS([Products].CurrentMember, [No_Product]) )
    then [Payroll Amount]+[Payroll Amount]*([Labor Tax],[No_Entity],
    [No_Company],[No_product])
    end
    Do take care of the syntax.
    Hope this helps you.
    Sandeep Reddy Enti
    HCC

  • How to convert this BSO formulas into ASO formulas ?

    I need some help to convert this BSO formulas into ASO formulas:
    BSO formulas:
    12*("Head Count"->"Terminated"/((@PRIOR("Head Count"-> "Total Active & Leave")+"Head Count"->"Total Active & Leave")/2));
    "Head Count" is a member of the Account dimension
    "Terminated" and "Total Active & Leave" are members of the Status dimension
    Existing Active
    New Hire
    Active
    MAT
    STD
    OTH
    Leave
    Total Active & Leave
    Voluntary
    Involuntary
    Death
    Retirement
    End of Temp Assignment
    Terminated
    LTD
    Total Status
    Promotion Within Level
    Promotion to Higher Level
    Promotion
    No Total Status
    All Status
    Status (Dimension)
    In ASO, the formulas will be ??
    Thanks

    Try
    CASE WHEN IS([Period].CurrentMember, [Jan]) THEN
    12 * (([Head Count], [Terminated] ) /
    ((( [Head Count], [Total Active & Leave], [Dec], [Year].CurrentMember.lag(1) ) +
    ([Head Count], [Total Active & Leave])) / 2))
    ELSE
    12 * (([Head Count], [Terminated] ) /
    ((( [Head Count], [Total Active & Leave], [Time].CurrentMember.lag(1) ) +
    ([Head Count], [Total Active & Leave])) / 2))
    ENDTake note this assumes your Year dimension is in descending order
    Year
    --2007
    --2008
    --2009
    If Year is in Ascending order
    Year
    --2009
    --2008
    --2007
    Then you need to change
    [Year].CurrentMember.lag(1) to
    [Year].CurrentMember.lead(1)

  • Sharing complex substitution variable values between ASO and BSO databases

    We have ASO and BSO Essbase database member names with spaces in, and need to store some of these member names in substitution variables. However, this has to be done differently for ASO and BSO, due to calc script syntax requiring double quotes and MDX requiring square brackets. For example:
    ASO:
    &CurWeek value = Week 1
    MDX: [&CurWeek]
    BSO:
    &CurWeek value = "Week 1"
    Calc Script: &CurWeek
    As a result, the substitution variables cannot be shared between the ASO and BSO cubes, since the BSO variable value requires double quotes due to the space in the member name.
    Is there a way to get the above to work with both ASO and BSO? Can the double quotes be escaped in calc script syntax? Or can the double quotes be removed in the MDX formula?

    Hi TimG,
    Apologies for such a late reponse to this, genuinely haven't had a spare second to reply until now!
    Yes, I suspect a complex alias name may be the best solution here, and to remove the spaces from the actual member names.
    I was not aware of the latter part at all. My colleague has confirmed as much on this too - DBAG 11.1.2.1 pp117 & 118:
    "Note: If a substitution variable value is numeric or a member name starting with a
    numeral or containing the special characters referred to above is to be used both
    in MDX and non-MDX situations, create two substitution variables, one without
    the value enclosed in quotation marks and one with the value in quotation marks."
    "To ensure that a new substitution variable value is available in formulas, partition definitions,
    and security filters, stop and restart the application. All other uses of substitution variables are
    dynamically resolved when used."
    This last paragraph is the most concerning since we were planning to be able to update substitution variables values and then access the new values from calc scripts and formulae instantaneously. This quirk is unexpected and a little inconvenient. We may have to look at scheduling a change of substitution variable value overnight, followed by a stop/start of the app ready for the next day, and to work around needing to access changed values instantly.

  • Conditions Need to decided for ASO or BSO cube?

    Hi
    Could you please tell me on what conditions or business needs we need to decided whether we need to build an ASO or BSO cube?,
    which dimension needs to be Label only or Stored or Accounts or Multiple Hierarchy Enabled property?
    Which needs to be Dense & which needs to be Sparse if it is BSO cube?
    Could you please let me with an example with above question that would be helpfull.
    Thanks,
    Raj

    For dense data sets and Analytic databases ( databases with complex calculations ) and read/write databases we will go for BSO.
    In BSO we can load high and apply the pushdown calculations.
    For large dimensionality and sparse data sets and for read only database we will go for ASO.
    In ASO we can load at leaf level only.

  • Drill through Funtionality Across different cubes (ASO to BSO to ASO)

    Hi All,
       I have one complicated problem. I have one essbase ASO cube where the We load the account data on most granular level (Generation 7) and then it rolls up the data in generation 5 and that generation 5 data is pushed to another cube ( BSO ) for which generation 5 is in BSO cube which in turn push the data in ASO1 at generation 5.
    Now user want to log into ASO1 to see the data and want that if user need to see more granular level data (Generation 7), user can be able to see without getting logged out or loggin into another cube.
    Any solution or suggestion how it can achived.
    Cheers
    AB

    Hi Celvin,
    Yes you are right. The data is ASO rolls ups to become Level0 in ASO1. but there is mapping which needs to be done between ASO and ASO1 which is kinda i am worry about.
    Eg Profit centre in ASO is 11000 and 12000 mapped to  ASO1 at PC2078 (both level zero).
    Account in ASO(Level zero) rolls to Gen5 which mappes to Level zero in ASO1.
    i was thinking of making alternate hierarchy in ASO instead of using mapping and integration tool. (Since we are messing up ASO cube).
    in account and
    in this way the Drill will be good. and no data mapping required between ASO to BSO and ASO to ASO1.
    Please let me know your thoughts/input/suggestions on this solution.
    Cheers
    AB

  • Maxl command that differentiates ASO and BSO?

    I want to differentiate between the ASO and BSO db in Essbase(9.3.1) using some MAXL command.
    Do we have some MAXL command that shows the property of Databases?
    I was hoping to use the command
    execute aggregate selection on database ASOSamp.Sample
    This command gives an error when run on a BSO.
    Ex:
    *[admin/localhost]execute aggregate selection on database Sample.Basic
    Execution Message:
    MaxL requires an aggregate storage application for this operation.*
    I was wondering if Maxl generates a return code for this. If it does, how can I capture this return code?

    To give a vague answer, you could run the command in your maxl script and use an iferror statement. It will not tell to the error number but that the command failed.
    Edited by: [email protected] on Oct 13, 2008 1:10 PM
    If I could only spell

  • Impact of write-back on large data cubes(Both ASO and BSO)

    Hi All,
    We are in the phase of designing the Essbase Cubes(both ASO and BSO).
    Has anyone encountered issues performing a write-back on large Essbase data Cubes?
    With Regards,
    Madhan

    Hi,
    Do you mean data load from a flat file or sql or simply lock and send? An estimate size of your record set would also help.
    I get 30 million records into an ASO cube in about 5 minutes from SQL using load rules. This is in 11.1.2.1.
    Thanks,
    Nathan

  • ASO and BSO Transparent partition

    Hi
    I have couple of questions regarding transparent partition, please help me out,
    1) I have two ASO cubes and one empty BSO cube, do I need to run security (apply filters) on both ASO and BSO cubes?
    2) How should I give access to users? For example: what should I write as "..."identified by" ....
    TO 'VZB_ISu'.'VB_IS' AT "localhost"
    AS "....." IDENTIFIED BY "....."
    AREA '"2006","2005",@IDESC("Month"),@IDESC("Scenario"),@IDESC("Measure_Type"),@IDESC("Measures"),@IDESC("Accounts"),@IDESC("RegionCompany"),@IDESC("Company"),@IDESC("RegionOrganization"),@IDESC("Organization"),@IDESC("Affiliate"),@IDESC("Product"),@IDESC("Ledger_Code"),@IDESC("Region"),@IDESC("Country")';
    3) Are their specific ways to tune an empty BSO cube transparently linked to ASO cube? BSO cube has no data.
    Thank you
    Namita

    Hi,
    1) You only need to set security on the BSO db (I'm assuming the users will not be connecting directly to the ASO db). When you setup your partition you define what user will be used to login to the ASO database. When ever an end-user retrieves data over the partition it's the partition user that logs into the ASO database to retrieve the data. You only need to make sure that the user defined in the partition has sufficient rights to retrieve that data.
    2) You can either use EAS to create the filter or MaxL...this is the example for create/replace filter: create filter sample.basic.filt1 read on 'Jan, sales', no_access on '@CHILDREN(Qtr2)';
    3) Try an avoid too many dynamic calcs in the target. These will obviously affect the retrieval times.
    Gee

  • Issue in ASO to BSO TRANSPARENT PARTITION

    Hi Techies,
    We are facing issue in ASO to BSO Transparent Partition. Please see below details and suggest.
    1. we are having a ASO cube transparently partitioned on to BSO cube.
    2. In ASO cube, we have a dimension with 3 hierarchies under it which are strored hierarchies. when we retrieve data for this hierarchies from BSO cube we are getting data.
    3. Now we were asked to add one more stored hierarchy under the same dimension, we built the dimension and built aggregations based on the queries. After creating the partition we are not able to retrieve the data from BSO cube for the newly added stored hierarchy everything else is working fine as before. The following is the error am getting when I tried to retrieve data for the newly built stored hierarchy.
    1012704 Dynamic Calc processor cannot lock more than number ESM blocks during the calculation, please increase CalcLockBlock setting and then retry (a small data cache setting could also cause this problem, please check the data cache size setting).
    I increased CALCLOCKBLOCK in .cfg file , increased data cache size and bounced the server. Even now am getting the same error. Please suggest what else we can do with this kind of error

    Did the number of blocks that couldn't be locked decrease when you increased the data cache if so try increasing the data cache some more, make sure you restart the db after each change.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Formula  ASo to BSO

    Hi All
    I have one formula in ASO so how can i excute this in BSo , i have to change it According to BSo i modified something but its giving syntax errror , plz can any one help how can i write this formula in BSo
    case
    when
    is ([PERIOD].CurrentMember,[2009.01]) and is ([INDICATOR].CurrentMember,[DI-3])
    Then (Sum (CrossJoin({[FLOW].[MtD]},{[PERIOD].[2009.01] })))
    Thanks

    Actually my formula is for every mont calculating sum like below in ASo
    case
    when
    is ([PERIOD].CurrentMember,[2009.01]) and is ([INDICATOR].CurrentMember,[DI-3])
    Then (Sum (CrossJoin({[FLOW].[MtD]},{[PERIOD].[2009.01] })))
    when
    is ([PERIOD].CurrentMember,[2009.02]) and is ([INDICATOR].CurrentMember,[DI-3])
    Then (Sum (CrossJoin({[FLOW].[MtD]},{[PERIOD].[2009.01] , [PERIOD].[2009.02]})))
    Else
    ytd_ld
    end
    I tried this wat u gave me but its giving error
    Error(1200347) - Error parsing formula for [YtD] (line 6): expected [(] found [@MEMBER] after function name
    IF(@ISMBR("2009.01") and @ISMBR("DI-3"))
    "MTD";
    ELSE if
    "YtD_l"
    end;
    but for cross joinn of mtd and particuler months we have to use @Sumrange ,

  • Converting BSO formula to ASO format

    Does anyone know how to convert the following to work in ASO?Rolling 12 Month Average Rolling 12 Month Average = (@SUMRANGE (CY, @CURRMBRRANGE(Year, LEV, 0, , 0)) + @SUMRANGE (PY, @CURRMBRRANGE(Year, LEV, 0, 1, 12))) / 12;Thanks

    Hi,
    If your concern is to avoid the usage of 'MISSING',in the case if its not a "No_Product",then , you rather use the
    CASE in your ASO formula ,rather than IIF.
    ex:
    case
    when(IS([Products].CurrentMember, [No_Product]) )
    then [Payroll Amount]+[Payroll Amount]*([Labor Tax],[No_Entity],
    [No_Company],[No_product])
    end
    Do take care of the syntax.
    Hope this helps you.
    Sandeep Reddy Enti
    HCC

  • ASO to BS) formula

    Hi
    Can anybody help me to conver this ASO formula to BSO...Here WO Net is Measures
    Case
    When Contains ( CurrentMember ( [Beginning Status] ), Descendants([Current (Beg)] ))
    Then
    Case
    When not IsLeaf ( CurrentMember ( [Period] ) ) And CurrentMember ( [Period] ) = [Q1]
    Then
    ([T03],[WO Net]) / ([T00],[WO Net],LastChild ( [Q3] ), lag(CurrentMember ( [Years] ),1))
    When not IsLeaf ( CurrentMember ( [Period] ) ) And CurrentMember ( [Period] ) = [Q2]
    Then
    ([T03],[WO Net]) / ([T00],[WO Net],LastChild ( [Q4] ), lag(CurrentMember ( [Years] ),1))
    When not IsLeaf ( CurrentMember ( [Period] ) ) And (CurrentMember ( [Period] ) = [Q3] or CurrentMember ( [Period] ) = [Q4])
    Then
    ([T03],[WO Net]) / ([T00],[WO Net], LastChild(lag(CurrentMember ( [Period] ),2)))
    When CurrentMember ( [Period] ) = [M06]
    Then
    ([T03],[WO Net]) / ([T00],[WO Net],[M12] ,lag(CurrentMember ( [Years] ),1))
    When CurrentMember ( [Period] ) = [M05]
    Then
    ([T03],[WO Net]) / ([T00],[WO Net],[M11] ,lag(CurrentMember ( [Years] ),1))
    When CurrentMember ( [Period] ) = [M04]
    Then
    ([T03],[WO Net]) / ([T00],[WO Net],[M10] ,lag(CurrentMember ( [Years] ),1))
    When CurrentMember ( [Period] ) = [M03]
    Then
    ([T03],[WO Net]) / ([T00],[WO Net],[M09] ,lag(CurrentMember ( [Years] ),1))
    When CurrentMember ( [Period] ) = [M02]
    Then
    ([T03],[WO Net]) / ([T00],[WO Net],[M08] ,lag(CurrentMember ( [Years] ),1))
    When CurrentMember ( [Period] ) = [M01]
    Then
    ([T03],[WO Net]) / ([T00],[WO Net],[M07] ,lag(CurrentMember ( [Years] ),1))
    Else
    ([T03],[WO Net]) / ([T00],[WO Net], lag(CurrentMember ( [Period] ),6))
    End
    Else
    Missing
    end
    Thanks in Adavance
    Pranav

    BSO@SUM(@children("2009.Q1" and "2009.Q2"));^^^You can't stick an "and" into a @SUM.
    But you could do something like:
    @SUM(@CHILDREN("2009.Q1")) + @SUM(@CHILDREN("2009.Q2"))
    I kind of wonder why you want to do this -- wouldn't a dynamically calculated total in the hierarchy just be easier?
    Regards,
    Cameron Lackpour

  • ASO members with formula not rolling up

    Hi Gurus,
    In our ASO cube we have a members which caluclate % are not rolling up to parent . Its rolling up for MTD but they are not rolling for QTD . Members are in Account dimension .Please let me know if you require more info to get the excat idea .

    These are MDX formula members, right? Is the problem that the results are recalculated at the QTD level rather than the MTD level summing up the Period dimension?
    Is Period a stored dimension? The members / formulae in dynamic dimensions or hierarchies will always be calculated after roll-up of stored dimensions / hierarchies.
    See the section on 'Calculation Order' here: http://docs.oracle.com/cd/E26232_01/doc.11122/esb_dbag/alocare.html#alocare1058144
    If that is the problem you're seeing, the only options are a) to use an ASO calculation to derive the percentages as stored values, which can then roll up in stored hierarchies, or b) calculate the percentages outside of Essbase - in a relational staging area, for example.

Maybe you are looking for