ASO OTL Formula Question

I am attempting to create a scenario that presents lagged data (ie in march show the data for February). Sample of formula.
CASE
WHEN IS ([Jan],[Time].CurrentMember)
THEN ( ([Dec],[2008 Actual]))
WHEN IS ([Feb],[Time].CurrentMember)
THEN ( ([Jan],[2009 Actual]))
WHEN IS ([Mar],[Time].CurrentMember)
THEN ( ([Feb],[2009 Actual]))
WHEN IS ([Apr],[Time].CurrentMember)
THEN ( ([Mar],[2009 Actual]))
WHEN IS ([May],[Time].CurrentMember)
THEN ( ([Apr],[2009 Actual]))
WHEN IS ([Jun],[Time].CurrentMember)
THEN ( ([May],[2009 Actual]))
WHEN IS ([Jul],[Time].CurrentMember)
THEN ( ([Jun],[2009 Actual]))
WHEN IS ([Aug],[Time].CurrentMember)
THEN ( ([Jul],[2009 Actual]))
WHEN IS ([Sep],[Time].CurrentMember)
THEN ( ([Aug],[2009 Actual]))
WHEN IS ([Oct],[Time].CurrentMember)
THEN ( ([Sep],[2009 Actual]))
WHEN IS ([Nov],[Time].CurrentMember)
THEN ( ([Oct],[2009 Actual]))
WHEN IS ([Dec],[Time].CurrentMember)
THEN ( ([Nov],[2009 Actual]))
END

Question 1: Is there a problem with what you have? Does it work? Is it slow? are you looking to do it better?
Question 2: Do you have Year and Scenario in the Same dimension? If you do, you should change that and break them out, that is not a good design methodology
If they were separate you could do something simple like
CASE
WHEN IS ([Time].CurrentMember, [Jan])
THEN ([Actual], [Dec], [Year].CurrentMember.lag(1))
ELSE ([Actual], [Time].CurrentMember.lag(1)
END

Similar Messages

  • Formula Question: What is the formula to find how many duplicates I have in my table of data. e.g Sally, Sally, Sally, Tom, Tom, Ben. Answer by formula Sally 3, Tom 2, Ben 1

    Example of Data:
    A1
    2222222345
    2222222345
    2222222345
    2222222345
    2222222346
    2222222346
    2222222347
    2222222347
    2222222347
    2222222347
    2222222347
    2222222347
    Examplae of answer I would like the formula to provide:
    I also can not manually type coullum A I need the formula to auto full that aswel. As there is to much data.
    A2
    B2
    2222222345
    4
    2222222346
    1
    2222222347
    6

    Hi Jessica,
    Here's my take on it, using the sample data in your original post, and using the same solution with the names in your question.
    In the Data table, column A contains the list of numbers in your original post. I've rearranged them in random order to demonstrate that the order of entry does not matter for this method.
    Data::Column B contains the names in your question, each assigned to one of the numbers in the body of your post.
    Column C contains an index showing the first occurrence of each distinct number in Column A. This index is used to fill both columns in the Summary by Number table.
    Column D contains an index showing the first occurrence of each distinct name in Column Bt. This index is used to fill both columns in the Summary by Number table.
    Both formulas are the same, except for the columns referenced (highlighted in the second formula below).
    Formula: Data::C2: =IF(COUNTIF($A$2:A2,A2)=1,MAX(C$1:C1)+1,"")
    Formula: Data::D2: =IF(COUNTIF($B$2:B2,B2)=1,MAX(D$1:D1)+1,"")
    Both formulas require that row 1 be a Header Row, and that the contents of C1 (and D1) be Text, nothing, or a zero. Both formulas are filled to the end of their respective columns.
    Summary by Number contains two formulas.
    A2: =IF((ROW()-1)>MAX(Data :: $C),"",LOOKUP(ROW()-1,Data :: $C,Data :: $A))
    B2: =IF(LEN(A2)>0,COUNTIF(Data :: A,A2),"")
    Both are filled down to the end of their respective columns.
    The first formula checks if its row number minus 1 is greater than the maximum value in the index column. If that is TRUE, there are no more values to look up, and the formula returns an empty string (which appears 'blank'). If it is FALSE, the LOOKUP the value in Data::column A corresponding to the value of ROW()-1 in Data::column C.
    The second formula checks the LENgth of the entry in the column to its left. If the length is greater that 0 characters, there is a countable value in the cell, and the formula passes control to COUNTIF, which counts the number of times that value is found in Data::column A. If the length of the value in the cell to the left is zero, then the cell contains an empty string, and the formula passes control to the part after the last comma, which enters an empty string in the cell containing the formula.
    The formulas in Summary by Name are identical to these except for the (bolded) references. These are incremented to the right; C -> D, and A -> B to match the Data:: columns containing the names and the names index.
    Regards,
    Barry

  • ASO best practice question

    After 8+ years of working with BSO, I'm working on my first ASO cube. It is for Federally mandated reporting, so the output is pretty well known what is needed. So far there are 3 different reports "Defined", we know there will be more.
    Because the line items are not a simple 1-1 relationship with an account (typically there is a combination of members from 3 different dimensions that make up 1 line item to be reported) we have decided to try making formula members for the line items. The formulas are simple, just defining the slice (combination) needed for that line. Because this cube already had some formula members in "Time Periods" (Dynamic YTD members for each Month), and some different "Views" (MTD, YTD, and HTD) I am quickly getting lost in Solve-Order hell.
    I am simultaneously building an ad-hoc sheet alongside the excel reports that are using these new formulas for validation purposes. The pure ad-hoc sheets I'm making continue to work, even when the excel retrieval using the formula members isn't.
    So, "Best Practice"-wise, is it smart to continue pursuing the formula members for reporting (knowing that maintenance on them will be tricky at best) or should we persuade the business to simply let us build a report for them that will insure data integrity?
    TIA,
    Robert

    Cameron,
    The other way around.
    I am mocking the reports in excel, that will be recreated in FR. I am building 2 different versions in excel, one which uses the formula members in the row of the report, and one which accesses the different members directly without using formula members (I had originally intended the direct member access to be my means of data validation).
    The excel retrieval that is using the formula members is having issues with solve-orders (there 2 dimensions other than Accounts that already have formula members). The second sheet which is directly accessing the members is still displaying the correct data.
    I understand your comments about letting the users "roll their own", I just had a converation with the BA where I told her that we may have to restrict all access outside of FR, and whatever input engine we build them so they can't "roll their own".
    Time is running short and I am experiencing weird things because of solve-order.
    Robert

  • Variable and Formulas Question

    Hi folks,
    I use BOXI r2 sp 4 and I have a general question re: variables and formulas in Webi reports.
    Billing Year Month and Cost of Service are standard time dimensions and measures that I use in my Webi reports and they were created at the semantic level.
    Normally, I create cross tab reports with the Billing Year Month along the horizontal axis and the Cost of Service in the Body (Business Unit or Department would be placed along the vertical axis).
    For some reason, when I use formulas/variables to modify the standard time dimensions (like changing Billing Year Month to Year), the values for the Cost of Service are returned incorrectly.
    Example.
    Semantic object: Billing Year Month = (yyyy-MM) returns correct values
    Report variable: Substr([Billing Year Month;1;4) returns incorrect values
    Can anyone please explain this problem?
    Thanks,
    Wannetta

    Hi John,
    The attribute of the Billing Year Month at the semantic level is a character type.
    After reading your response, I realize that I may not have been clear regarding the problem.
    The following formula does return the correct value in and of itself.
    >=Substr([Billing Year Month];1;4
    If I create a variable and then drag it onto my crosstab, it returns the correct value ONLY within the header.
    When I drag the cost of service measure onto the crosstab; the header values remain the same but values in the body either disappear or the change to reflect incorrect values.
    I thought one of the prime features of Webi was the ability of the Report Developer to create variables/formulas and use them in the headers to manipulate the semantic "measures" in the body (read: output) at the report level.
    Is this a matter of semantic design or does Webi not possess this capability?
    Or, is the issue entirely different?
    Thanks!
    W.

  • Essbase 11.1.2.1 - Converting BSO Member Formula to ASO MDX Formula

    Hi all,
    I'm quite new at Essbase and I'm currently using Essbase 11.1.2.1. I have 2 cubes: one is a BSO cube and the other is an ASO cube.
    In the BSO cube, I have an account that has member formula:
    IF(@ISATTRIBUTE("US"))
    ("Sales"->"Budget"->"USD")-("Sales"->"Actual"->"USD");
    ELSEIF(@ISATTRIBUTE("EU"))
    ("Sales"->"Budget"->"EUR")-("Sales"->"Actual"->"EUR");
    ELSEIF(@ISATTRIBUTE("UK"))
    ("Sales"->"Budget"->"GBP")-("Sales"->"Actual"->"GBP");
    ENDIF
    Notes:
    - Sales is an account
    - US, EU, and UK are members of Country attribute dimension
    - Budget and Actual are members of Scenario dimension
    - USD, EUR, and GBP are members of Currency dimension
    I understand that the member formula for BSO and ASO are different. Can anyone please advise me on what the formula should be in ASO cube as MDX formula?
    Thank you very much!

    CASE [Currency].CurrentMember.[Country]
         WHEN "US" THEN ([Sales], [Budget], [USD]) - ([Sales], [Actual], [USD])
         WHEN "EU" THEN ([Sales], [Budget], [EUR]) - ([Sales], [Actual], [EUR])
         WHEN "UK" THEN ([Sales], [Budget], [GBP]) - ([Sales], [Actual], [GBP])
         ELSE 0
    END
    *Note that I am assuming Country is an attribute of Currency based on the information provided.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • OTL Implementation Questions

    Dear All,
    I have an OTL requirement something like this -
    1. HRMS is installed and Payroll is Shared
    2. Have a legacy system that will feed HRMS/OTL on a monthly basis the begining
    balances like Vacation, Sick, Bereavement etc.
    3. Need to create Timekeeper Groups (Assignment Sets) only, no Self Service,
    but need to incorporate Time Entry Validation rules
    4. Show Begining Balances, usage and Monthly Totals in the Layout.
    5. Allow Corrections
    6. Have a placeholder on the layout, once TK gets paper signature
    7. Interface ending balances back to legacy system (BEE/System Extract ?)
    Questions:
    1. Does payroll need to be defined and assigned to assignments, for Time Elements?
    2. Any pointers as to how to achieve each of the above
    Thanks a ton
    Srinivasa

    Hi Ramu -
    Q1.
    The reason I am asking about payroll is, because for OTL we need to setup nonrecurring elements, right?
    But the HRMS guide (Part No. B31613-03) says -
    "Duration of Element Entries
    Some entries are valid for one pay period only. For example, to produce an employee's
    wages or overtime pay for a period you process the entries of regular hours worked or
    overtime hours. You define these elements with the processing type nonrecurring.
    Notice that pay periods are determined by the payroll to which an employee is
    assigned. Employees must be assigned to a payroll to receive nonrecurring elements,
    even if you are entering these for information only and not processing them.
    Other entries, such as salary or company car, should persist until you change them, or
    they reach their end date, or the employee's assignment changes so that he or she is no
    longer eligible for the element. You define these elements with the processing type
    recurring.
    Q2.
    Could you let me know how to customize the Timekeeper layout to show the Monthly Begining Balances from Legacy system, current usage and the monthly ending balances. Do we have to create three element types for e.g. "Begining Vacation", "Vacation Usage" and "Ending Vacation".
    Thanks

  • DTP - Formula - Question

    Hello,
    I want to create a new formula in DTP (DSO to Cube).
    The new formula should fill new key figure. In long description the formula should look like:
    = summation ((If(.....
    The question is about "summation". The only area where I can change is in key figure directly.
    Question:
    Is it not possible in formula? Is it even necessary in formula?
    Thanks for input.

    .

  • Formula Question for calculating % Revenue Share in Webi Report

    I am trying to calculate the % Revenue Share for a given month as a % of the total revenue for that month in the report.  This should be across all sales divisions for a given month.  I'm using the formula "=Sum([Invoiced Product Revenue]) ForEach ([Calendar Year/Month]", but it's not calculating correctly. It works fine when my report only includes 1 month, but I'm running the report for a full year and the report breaks down the Invoiced Product Revenue by month.  I've tried adding "In Report" at the end of my formula but that is not working either.  I would expect that the % Revenue Share would not re-calculate the monthly % Revenue Share every time I add additional months in the input control.  I would expect that the January 2013 % Revenue Share should remain constant even if I select additional months to be added to my report.
    This product of this calcuation is setup to reflect as a percentage.  Any thoughts on what I need to tweak?

    Hi,
    What is your output when you create vertical table as below
    Col1   ||                  Col2                 ||                          Col3                               |
    Month || [Invoiced Product Revenue] || Sum([Invoiced Product Revenue]) In Block  |
    You can try using In Block , Break , Section or Report .
    Or
    if you have year then use year in report & use for each with year .

  • Formula Question.. Perhaps obvious

    Hi All,
    I believe I seen something of what I'm looking for in excel so I'm not sure the probability of it working in numbers (hope it does). I'm current developing my own account spreadsheet and trying to figure out a formula where;
    Cell A3 is a balance (or entered) value $10.00
    Cell C3 has a recurring value .50¢
    What I would like or looking for is the formula that takes into account what is entered (A3) plus the value of C3, without the use of another cell. The formula would be in A3. Is this possible?
    Trying to avoid additional cell computations especially as Numbers can not lock or protect cell content.
    Ann

    Ann G wrote:
    Cell A3 is a balance (or entered) value $10.00
    Cell C3 has a recurring value .50¢
    What I would like or looking for is the formula that takes into account what is entered (A3) plus the value of C3, without the use of another cell. The formula would be in A3. Is this possible?
    No.
    Two issues:
    Whatever you enter into a cell replaces what was there before. If A3 contained a formula, then the entered value would replace that formula.
    A cell cannot reference itself, nor can it reference a cell whose value depends on it.
    Regards,
    Barry

  • Import ASO MAXL syntax question

    I have a maxl script I use to load an ASO database. I realize that I need to have not only the load rule set to append data but the import statement as well. I took the syntax straight from the Essbase documentation but I'm still getting an error. Here's my script:
    alter database App.DB initialize load_buffer with buffer_id 1;
    import database App.DB data from data_file '0947Brand.txt' using server rules_file 'RetailB.rul' to load_buffer with buffer_id 1 on error write to 'RetailB1.err';
    import database App.DB data from load_buffer with buffer_id 1 add values;
    alter database App.DB initialize load_buffer with buffer_id 1;
    import database App.DB data from data_file '0947Generic.txt' using server rules_file 'RetailB.rul' to load_buffer with buffer_id 1 on error write to 'RetailB2.err';
    import database App.DB data from load_buffer with buffer_id 1 add values;
    My error file shows this as an error:
    essmsh error: Parse error near add
    Any ideas?

    Jeanette R. wrote:
    I have a maxl script I use to load an ASO database. I realize that I need to have not only the load rule set to append data but the import statement as well. I took the syntax straight from the Essbase documentation but I'm still getting an error. Here's my script:
    alter database App.DB initialize load_buffer with buffer_id 1;
    import database App.DB data from data_file '0947Brand.txt' using server rules_file 'RetailB.rul' to load_buffer with buffer_id 1 on error write to 'RetailB1.err';
    import database App.DB data from load_buffer with buffer_id 1 add values;
    alter database App.DB initialize load_buffer with buffer_id 1;
    import database App.DB data from data_file '0947Generic.txt' using server rules_file 'RetailB.rul' to load_buffer with buffer_id 1 on error write to 'RetailB2.err';
    import database App.DB data from load_buffer with buffer_id 1 add values;
    My error file shows this as an error:
    essmsh error: Parse error near add
    Any ideas?Not sure of the error, but you are not really using buffers efficiently. You should have a single
    alter database App.DB initialize load_buffer with buffer_id 1;
    then your two import statements
    and finally the
    import database App.DB data from load_buffer with buffer_id 1; statement
    Your actual import statements should have the add values
    When you load multiple files into a buffer at once, it takes and adds the intersections together automatically. you only need the add values if you want to add the values to existing values in the cube.

  • BIG Numbers formula Questions-looking for clarity and direction

    Besides a general lack of computer knowledge, here is my problem. I'll try to make it clear and easy to read.
    I'm working on a spreadsheet that would organize and keep track of student's choices and payments for a ski retreat. There are 4 checkbox columns for their choices (ticket, ski rental, board rental, tubing). All of these have different costs associated with them, in addition to the basic cost for the retreat.
    Using basic arithmetic and an IF formula in the header column I can calculate each student's Total Cost.
    =Retreat Cost+(IF(Lift Ticket,TRUE)*50+IF(Ski Rentals,TRUE)*30+(IF(Snowboard Rental,TRUE)*50+(IF(Tubing Tickets,TRUE)*35)))-the (*number is the cost)
    This works, although it does return the error that the formula returns a Boolean in place of a number. If there is no easier way to write my formula, how do I turn off that warning-I can't take the glaring reminder of a mistake!
    Students need to turn in a deposit, generally set at $50. Using a Deposit column with checkboxes, I worked out how much a student owes after their deposit. Once I check the box, their Balance shows Total Cost minus the general $50.
    =Total Cost-(IF(Deposit,TRUE)*50)
    Occasionally a student will overpay or underpay their deposit, and right now I'm just going in and manually trying to readjust. I just can't figure out any other option.
    I'd like to keep track of how much money is coming in. Currently this is my formula.
    =SUM(COUNTIF(Students :: Deposit,TRUE)*50+SUMIF(Students :: Paid,TRUE,Students :: Balance))
    My main issue really comes down to the varying deposits. If someone pays $60, I have to check the box, subtract 10 from their balance and add 10 to the student payments. I also wanted the Balance column show "0" once the Paid column was checked, but that was definitely out of my skill set!
    Also, I'm going to try to paste a screen shot. Any help/advice would be greatly appreciated! I'm new to working with numbers (1 week baby!) and honestly, the vast majority of my knowledge has come from reading the message board, so thanks!

    =Retreat Cost+(IF(Lift Ticket,TRUE)*50+IF(Ski Rentals,TRUE)*30+(IF(Snowboard Rental,TRUE)*50+(IF(Tubing Tickets,TRUE)*35)))-the (*number is the cost)
    I would change it to somehting more like this...
    =Retreat Cost+(IF(Lift Ticket,1,0)*50)+(IF(Ski Rentals,1,0)*30)+(IF(Snowboard Rental,1,0)*50)+(IF(Tubing Tickets,1,0)*35))
    (This last part I don't get at all... >-the (*number is the cost))
    The form for an if is If(Test,True,False) meaning if the TEST is true then answer whatever replaces the word true in the description. I think you thought you had to type true. Common mistake if you haven't used them before.
    Look at one of my If's...
    IF(Lift Ticket,1,0)*50
    If the lift ticket box is checked, then answer 1 and multiply by 50, if not answer 0 and multiply by 50, taking that cost to zero.
    Just repeat for each cost and your done...
    Does that help get you on the right track?
    Jason

  • RPD Formula question

    I am trying to create a logical column that returns a % value. I can get the math to work correctly in Answers, but I am having a difficult time converting the formula to the RPD layer.
    Example:
    Assume data as below:
    Geography Channel Sales
    NYC A 100
    NYC B 200
    NYC C 300
    NYC D 400
    I want to take Sales at the Channel Level, and divide that by total of all Sales at the City Level (Regardless of Channel)
    Result would be like:
    Geography Channel Sales Index (Channel level sales, divided by sum of all sales for that city)
    NYC A 100 10% (100/1000)
    NYC B 200 20% (200/1000)
    NYC C 300 30% (300/1000)
    NYC D 400 40% (400/1000)
    In Answers, this is easy. Basic formula is:
    Sales / SUM(Sales BY City)
    How would I go about achieving this in the RPD, as it does not allow the SUM BY construct.
    I tried using FILTER, but I am getting confused with the syntax.
    Any help appreciated.

    You have to create a level based measure for this. Create a geography level sales metrics. what you need to is duplicate the sales metric rename to geography sales, and set the level as Geography. SO it will always return the sum(sales) at geography level. to set the level you need to have Dimensional hierarchy for geography dim.
    then create a new logical column saying sales/geography sales.

  • Group on a formula question

    Hi everyone!!
    What I have so far is: 
    NCM-Formula
    If isnull {Billing_Data22.NCM Name} Then False
    So I want to group on {@NCM-Formula}, and make sure that if {Billing_Data22.NCM Name} is a null value then no records show up on the report.
    Advice..?
    Thanks!

    Abhilash,
    I'm probably not describing this accurately.   I'm grouping on {Billing_Data22.NCM Name}.  This field has null values sometimes in the raw data in Access.  There are still records showing up for rows that do not have a value in {Billing_Data22.NCM Name}.  I'm trying to just show records when there are values for {Billing_Data22.NCM Name}.  So I'd like the report to only SELECT records when there is a value for {Billing_Data22.NCM Name}. 
    Thanks!!
    Rich

  • Parameter based on formula question

    Post Author: mmishkin
    CA Forum: Formula
    I have a formula that calculates a date, I want to create a parameter based on this formula. When I go through adding a new parameter it only shows me my table fields and not my formulas. Can you make a parameter in crystal based on a formula??

    Post Author: mmishkin
    CA Forum: Formula
    Sorry, I don't think I was very clear.
    I have a formula field that is a date/time field . I want to create a parameter to select this formula. When I make a parameter it will not let me select any fields other then my database fields (all of my formulas are not listed).  Can I use a formula in a paramenter? I don't remember having this issue before so i'm sure I must be missing something. I made sure the parameter data type was date/time.

  • Newbie formula question for displaying text

    Post Author: maxair21
    CA Forum: Formula
    Thanks for you help in advance.   I'm using Crystal XI and I'm trying to write a formula that will display text if a certain parameter is met.  I believe I need to user the IF Then Else to accomplish this.  For Example:    If  X = 0  Then  display  "Active"   Else display    "Inactive" I hope that made sense.   Thanks,Eric

    Post Author: maxair21
    CA Forum: Formula
    Thanks so much for you help.    I thought I was doing it right but I kept receiving an error so then I started to second guess myself.   It turned out that I was using quotes("") when I shouldn't have been using quotes.     Thanks again.  

Maybe you are looking for