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

Similar Messages

  • 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

  • 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

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

  • LabVIEW formula to LaTeX format Converter

    Does anyone know if there is a VI available that will convert a LabVIEW formula to LaTeX format?
    e.g.
    (a1+a2)/2   ---->    \frac{a1+a2}{2}
    I wanted to check if something like this is available before venturing off and attempting to make my own.

    This shows the reverse direction, which might give you a push in the direction you want - http://decibel.ni.com/content/docs/DOC-13859
    Try to take over the world!

  • Problem working on member formulas in ASO cube

    Hi
    I was asked to convert a planning application BSO cubes into a single ASO cube.I have managed to convert one BSO Cube into ASO through EAS console and added the members in the other BSO cube throgh rulesfile.
    Now i have to write the member formulas for the level0 members of Account dimension.These are very simple formulas like
    if(@ISMBR("New_Seats"))
    "Assets Value"="Total Asset Cost";
    else
    "Assets Value"="Asset_Value";
    endif;
    and
    "Empty_Seats"=(("New Seat Additions"+"Available_Seats")-"Required_Seats");
    This is the first time i am working on ASO.I am getting this error while writing these formulas
    "Error(1260052) syntax error in input mdx query on line 1 at token '=' Empty_Seats..."
    Help me in writing these formulas and also in selecting proper member properties.

    The hierarchy is like
    Account(gen1)
    -> Statistical_Account(gen2)
    ->New Seat Additions(gen3)
    I have tried tthis and the formula is verified successfully
    *([Statistical_Account].[New Seat Additions]+[Statistical_Account].[Available_Seats])-([Statistical_Account].[Required_Seats])*
    if i use *([New Seat Additions]+[Available_Seats])-[Required_Seats]* it is not veryfying throwing some syntax error
    Thanks

  • Convert HH:mm:ss String format.

    Hi,
    I have a formula in webI to display Milliseconds to HH:mm:ss and is in String format.
    Is there a way to convert to date or number format?.
    Also, how to calculate average of Max and Min time?.
    Thanks,
    Jothi

    Hi Jyothi,
    To take a average time do following-
    1) Convert Min Time and Max Time into Seconds.
    MaxSec=ToNumber(Substr([MaxTime];1;2))*60*60+ToNumber(Substr([MaxTime];4;2))*60+ToNumber(Substr([MaxTime];7;2))
    MinSec=ToNumber(Substr([MinTime];1;2))*60*60+ToNumber(Substr([MinTime];4;2))*60+ToNumber(Substr([MinTime];7;2))
    2) calculate approximate Avg seconds-
    AvgSec=([MaxSec]+[MinSec])/2
    3) Convert AvgSec in to hh:mm:ss.
    AvgTime=Floor([AvgSec]/3600 )+":"+Floor(Mod([AvgSec];3600)/60)+":"+Mod(Mod([AvgSec];3600);60)
    Hope this help.
    Thanks,
    Anuj

  • What is the use of 'Convert to Formula' in BEx Report?

    Helo BI Gurus,
    After refreshing the query in BI, when I right click on the query report, I am getting an option 'Convert to Formula'. Can you please tell me the use of this option, and how we can use this in our report and what the result we will be getting?

    Hi Mathew,
        The Convert to Formula in Excel Allows you to Convert you Embedded Bex Query into API Calls. This enables you to Better Format the Excel Output by allowing you to move your Cells Around.
    This helps because when you refresh you Query all the Changes you make will be maintained.
    [More Info on Working with Formula|http://help.sap.com/saphelp_nw70/helpdata/EN/d3/015369f54f4a0ca19b28c1b45acf00/content.htm]
    Hope this Helps
    Datta.

  • BEx Analyzer - Convert to formula - Dynamics of a hierarchy

    Hi BI-Experts,
    I have a question regarding the BEx Analyzer built in functionality "convert to formula".
    Once I have done this, the report is more ore less static, establishing a fixed link between the cell and the query result.
    (BExGetData(u201CDATA_PROVIDER_1u201D,F8,E10)
    Let's say I had included a G/L account hierarchy and converted the analysis grid item to formulas: I will lose drill down functionality of the hierarchy, drag & drop etc.. I can live with that.
    But what happens, if I update the G/L hierarchy in BI by uploading from ECC and someone added an additional text node and 3 new G/L accounts. They won't appear in my "convert to formula" report, even when refreshing, right?
    Does anyone know a work-around for a highly formatted report in BEx Analyzer which keeps the layout when refreshed (only way I know is with "convert to formula") AND using hierarchies which should be able being updated?
    Every hint is much appreciated!
    Kind Regards,
    Steffen Lange

    >
    Steffen Lange wrote:
    >
    > But what happens, if I update the G/L hierarchy in BI by uploading from ECC and someone added an additional text node and 3 new G/L accounts. They won't appear in my "convert to formula" report, even when refreshing, right?
    >
    > Kind Regards,
    > Steffen Lange
    Thats right, as now the key figure values are basic excel formulas though they refer your dataprovider.
    The only option is to update the value of the hierarchy (new nodes etc) in the workbook too, you can add a new row and insert the new hierarchy value it should pick it up and key figures populated accordingly (you may need to put right row column value for your key figure calculation formula).
    Edited by: Praveen G on Aug 12, 2009 3:54 PM

  • Converting Member Formulas to MDX

    Hi Experts!
    I'm converting member formulas to MDX for an ASO cube I created and I'm having trouble with the ones that use @MDSHIFT. I'm new to MDX and trying to learn as I go. One of the formulas I'm struggling with is:
    IF( @ISMBR("Budget"))
    (("Operating Results"-
    (@MDSHIFT("Operating Results", -1, "Years", , 10,"Budget",)+
    "Reclassification Operating Results"))/
    (@MDSHIFT("Operating Results", -1, "Years", , 10,"Budget",)+
    "Reclassification Operating Results"))*100;
    ELSEIF( @ISMBR("Business Plan"))
    (("Operating Results"-
    (@MDSHIFT("Operating Results", -1, "Years", , -4,"Business Plan",)+
    "Reclassification Operating Results"))/
    (@MDSHIFT("Operating Results", -1, "Years", , -4,"Business Plan",)+
    "Reclassification Operating Results"))*100;
    ELSE
    (("Operating Results"-
    (@MDSHIFT("Operating Results", -1, "Years",)+
    "Reclassification Operating Results"))/
    (@MDSHIFT("Operating Results", -1, "Years",)+
    "Reclassification Operating Results"))*100;
    ENDIF;
    This is for a change year over year % member. Any help would be much appreciated! Thanks!
    -Cheers

    In all honesty - it looks like you should not just 'convert it.' I dont see any real need to use MDSHIFT here. I would just use PrevMember function for years, while hardcoding the scenario into the tuple.

  • Convert the spool to xls format and email through attachment to the user

    Hi all,
    When I execute a report in background, I get spool. I need to convert the spool to xls format and email through attachment to the user.The xls file should not be saved on local system.
    If I use the Spool Recepient tab in SM37 it mails the spool list as .txt file to the mail receipient. But I need to send it as an .xls file.
    Can any one help me on this

    Did you get the solution? i have the same problem.

  • How can i convert oracle report in excel format using 8i

    hi,
    I want to convert oracle report in excel format using 6i reports. please give the solution with emp table.
    millons of thanks in advance.

    You'll have to use the destype DELIMITEDDATA to render your Report in CSV format. Then set the mime type to Excel. I don't know the exact syntax, so please do a search in metalink for "reports excel" for examples and more info.
    Regards,
    Martin Malmstrom

  • Converting an MP3 to WAV -- How can I convert an MP3 to wav format, 16 bit

    How can I convert an MP3 to wav format, 16 bit, 44,1 khz? I like the program Switch which I know can convert MP3s, but how to I set it up for the specific settings that I need?

    Just import into a logic session. Then bounce at the specs you require. Logic or Waveburner, iTunes and even Quicktime I think can each do this easily.
    A question though. I am assuming you are converting an MP3 to 44.1/16 bit just so you can play the file in a consumer quality CD player?? IF so - that makes sense.
    But if you are doing this because you think it will improve the sound quality of your MP3, I will save you some time here. It won't improve the sound quality at all. It will just turn the MP3 into a larger audio file.
    44.1/16 bit resolution enables you to have a much better sounding file than MP3 formats, but not by going at it this way.
    No offense to you if you know all of this already. I am assuming that you may not know this - because if you did you would also likely know how to convert an audio file.
    Cheers
    Darrell

  • Convert a String to Decimal Format in European format

    Hi Experts,
    I am having a string as a context type for a input field, where the user can enter the Price, I need to convert the same into European format "###.###,00", I am using this below code to convert the string to decimal format
    User will enter the input as 10 as it needs to be converted into 10,00. Also, 1000 which has to be converted as 1.000,00
    String Str1 = wdContext.currentvn_temptable.getVa_TempUnitPrice();
    Locale mylocale  = Locale.GERMAN;
    String pattern="###.###,00";                    
    NumberFormat nf = NumberFormat.getNumberInstance(mylocale);
    DecimalFormat df = (DecimalFormat)nf;
    df.applyPattern(pattern);
    String output = df.format(Str1);
    wdComponentAPI.getMessageManager().reportSuccess("Unit Price" + " " + pattern + " " + output);
    When I execute the above code, i am getting an error called "Malformed Pattern ###.###,00"
    Please let me know, how to convert a String to Quantity in European format
    Thanks & Regards,
    Palani

    Hello!
    Try to change your pattern to this one 
    Locale mylocale  = Locale.GERMAN;
    String pattern = "#,#00.00";                    
    NumberFormat nf = NumberFormat.getNumberInstance(mylocale);
    DecimalFormat df = (DecimalFormat)nf;
    df.applyPattern(pattern);
    String output = df.format(1111111.222);
    Pattern has an influence on number of digits between separators, but you have to use ',' for grouping and '.' for decimal. Character values for separators correspond to your Locale object.
    Thanks, Mikhail

  • Convert a date in String format to a Date

    Hi,
    How can I convert a date in String format to a Date object?
    I have tried:
    import java.text.*;
    import java.io.*;
    import java.util.Date;
    import java.util.Locale;
    import java.sql.*;
    public class casa {
    public static Connection con = null;
    public static Statement s = null;
    public static String sql = null;
    public static String mydate = "01.01.2001";
    /** Creates a new instance of casa */
    public casa() {
    public static void main(String[] args) throws SQLException{
    try {
    DateFormat shortFormat = DateFormat.getDateInstance(DateFormat.SHORT);
    Date date = shortFormat.parse(mydate);
    //Open Database
    con = getConnection();
    s = con.createStatement();
    sql = "select date1 from table1 where date1 <= '"+date+"'";
    ResultSet rs = s.executeQuery(sql);
    while(rs.next()){
    String aba = rs.getString("datum");
    System.out.println("New Datum = "+aba);
    } catch (Exception ex ) {
    ex.printStackTrace();
    closeConnection(s, con);
    //Connection
    private static Connection getConnection() {
    Connection con = null;
    String user ="aouzi";
    String passe ="aouzi";
    String url = "jdbc:db2:EjbTest";
    try {
    //Datenbanktreiber laden
    Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
    //Verbindung herstellen
    con = DriverManager.getConnection(url,user,passe);
    }catch(ClassNotFoundException e){
    } catch(SQLException e){}
    return con;
    //close Connection
    private static void closeConnection(Statement s, Connection con) {
    try {
    s.close();
    } catch (SQLException e) {}
    try {
    con.close();
    } catch (SQLException e) {}
    I'm getting the following errors:
    COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver][DB2/NT] SQL0180N
    The syntax of the representation of a date/time of day value as character sequence is false. .SQLSTATE=22007

    I'm pretty sure it won't understand what date.toString() returns. If you know what format the database understands, you do it like this:
    SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yy"); // e.g. 18-Apr-02
    String datestring = sdf.parse(date);
    and use that instead of date in your sql string. Some databases understands it if you do
    "to_date('18-Apr-02')"
    so you could include that in your sql string as well..
    You could also try to make it a java.sql.Date and hope your jdbc driver knows how to convert it to a string that the database understands if you don't know the format:
    con = getConnection();
    PreparedStatement ps = con.prepareStatement("select date1 from table1 where date1 <= ?");
    ps.setDate(new java.sql.Date(date.getTime()));
    ResultSet rs = s.executeQuery(sql);

Maybe you are looking for