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
-
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
6Hi 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 -
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,
RobertCameron,
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,
WannettaHi 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. -
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
SrinivasaHi 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 -
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.
AnnAnn 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 -
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. -
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,EricPost 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
-
Please HELP!! I just switched to Lion. I have created multiple websites using iWeb 3.0.4 and despite my having saved their 'domain' files in various locations and using different filenames, upon opening the domain files I keep getting the very las
-
COMPUTE_BCD_OVERFLOW - CX_SY_ARITHMETIC_OVERFLOW
Hello all, I'm getting the ABAP Dump in CJ13 tcode please find below dump error & my system release info: Component version SAP ECC 6.0 SAP_ABA 700 0010 SAPKA70010 SAP_BASIS 700 0010 SAPKB70010 SAP_APPL 600 0006
-
Reg: Configuring the User-Defined Message Search
Hi Experts ! I am getting an error while configuring the user defined message search. Followed all the step mentioned in the sap help documentation. http://help.sap.com/saphelp_nwpi711/helpdata/en/48/c85598f63335bfe10000000a42189d/frameset.htm The la
-
Problem faced while opening the Manage tab of DSO
Hi All, I am trying to open the manage tab of the DSO to activate the request to load the data, But it is throwing the ABAP error when ever I am trying to open the manage tab. The error message is some thing like this " Short text of error mess
-
Combined upgrade & Unicode conversion.
Hi I need some suggestions for my concerns: I would appreciate, if you reply ASAP for below situations and actions. Current system: HP unix DB: Oracle10.2.0.2 SAP 6.20 with SP 61, single code page strategy: resource minimized. Upgrading from 4.7 was