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.
Similar Messages
-
Essbase 9.3 BSO member formula problem
Hi All,
I'm working on Essbase 9.3.1.
We have an issue where a member formula, should use double quotations (") for a few members.
In the dimension tables these quotes are not present in the formula, but they come up in the outline of the cube.
All dimension builds are done through AIS because of which I'm in a fix.
I've only worked on Essbase 7 and I'm not aware if there are any settings that I could look at in AIS to see if these quotes are appended while the dimensions are being built.
The reason why this is an iss is that the test outline has the quotes, but the production outline does not have them although its the same flat file that is used for both.
Please help out here.
Thanks in Advance.
Regards,
AnindyoObviously this won't resolve your entire problem, but just to answer the first question you can definitely use e.g. @GENMBRS successfully in the partition definitions for a single BSO cube over multiple ASO cubes in 9.3.1.
-
BSO member formula conversion to ASO MDX
Hi guys !
I am trying to convert the following BSO member formula to ASO.
My BSO member formula is :
"FPP70" -> "FPP" / "B70" -> "AP";
In ASO member formula I tried : (FPP70, FPP / B70, AP) but I have a syntax error with '/'
Can anyone please help me out with this?
Thanks,
Jonathanoops sorry, I made a minor mistake. you don't need the {}
It should be
([FPP70],[FPP]) /([ B70], [AP])
If this is a subset of another calculation you would wrap the whole thing in parens
(([FPP70],[FPP]) /([ B70], [AP]))
([FPP70],[FPP] ) is a tuple -
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 ??
ThanksTry
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) -
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 youOh (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 -
ASO MDX member formula and performance
Hi,
I am doing some testing about MDX formulas and performance. I found a performance issue but I can not understand why is taking so long time a report.
The situation is:
I create a report or a MDX query with:
6 dimensions in row and 1 dimension in column
rows:
Period - Filtered using a member
Year - Filtered using a member
Relationship Manager - Filtered using a member
Report Type - Filtered using a member
Local Relationship Manager - 4400 members level 0
Global Relationship Manager - 10400 members level 0
Column:
Account dimension, only a member
The member selected for Report Type (RM.Local) has a formula
My Report Type dimension has 10 members, there is one member where I store data called : RM.Input
My first test was
RM.Local his formula is [RM.Input] , the report is run in 1 second
RM.Local his formula is ([RM.Input],[MTD]) where MTD is a member level 0 store in my view dimension. The report run in 20 minutes. I was not expecting so bad performance when I only pointing at [RM.Input],[MTD]
Do you consider this time is reasonable when I am using this formula?
The mdx report is:
With
set [_Local Relationship Manager3] as 'Descendants([All Local Relationship Managers], 2)' = level 0 members
set [_Global Relationship Manager4] as '[Global Relationship Manager].Generations(4).members' = level 0 members
set [_Period0] as '{[Period].[Oct]}'
set [_Relationship Manager4] as '{[Relationship Manager].[Dummy1)]}'
set [_Report Type0] as '{[Report Type].[RM.Local]}'
set [_Year2] as '{[Year].[FY-2013]}'
select
{ [Account].[Expenses]
} on columns,
NON EMPTY {crossjoin({[_Local Relationship Manager3]},crossjoin({[_Global Relationship Manager4]},crossjoin({[_Period0]},crossjoin({[_Relationship Manager4]},crossjoin({[_Report Type0]},{[_Year2]})))))} properties MEMBER_NAME, GEN_NUMBER, [Global Relationship Manager].[MEMBER_UNIQUE_NAME], [Global Relationship Manager].[Memnor], [Local Relationship Manager].[MEMBER_UNIQUE_NAME], [Local Relationship Manager].[Memnor], [Relationship Manager].[MEMBER_UNIQUE_NAME], [Relationship Manager].[Memnor], [Period].[Default], [Report Type].[Default], [Year].[MEMBER_UNIQUE_NAME], [Year].[Memnor] on rows
from [DICISRM.DICISRM]Ok Try this one
But here you have to change the MDX formula every month.
Year
--FY2009
--FY2010
--FY2011
--FY2012
Period
--TotalYear
----Qtr1
-------Jan
-------Feb
-------Mar
Let say if you're CurrentYear is FY2011 and you're Current Month is March then you're MDX will be
case when contains([Year].CurrentMember,MemberRange([FY2009],[FY2010])) and contains([Period].CurrentMember,MemberRange([Jan],[Feb]))
Then
B
else
C
end
For the Next month you just have to make a change in the MemberRange I.e.,(Replace Feb with Mar)
*case when contains([Year].CurrentMember,MemberRange([FY2009],[FY2010])) and contains([Period].CurrentMember,MemberRange([Jan],[Mar]))*
Then
B
else
C
end
I tested it and Its working fine.
I think this will solve you're problem but there might be a more elegant solution out there.
Regards,
RSG -
Wizard to convert EPMA planning app into ASO cube thorugh EPMA
Hi All,
I came to know that in 11.1.2.1 there is a wizard to convert epma planning app into ASO app. I have a requirement and I looked into the oracle documents for more information on this but could not find the right document where I can get more information. Please share any information that you have on converting to ASO app.
Thanks a lot!No John, it is not in EAS and it is through planning. I came to know that it is a wizard that we can navigate thorugh planning and I went through the different documents of 11.1.2 and 11.1.2.1 looking for it but I was not able to find the path.
Please let me know if you came across this before.. -
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 -
Essbase server is hanging due to BSO applications
Hi All,
We upgraded from 9.3.1 to 9.3.3 in august and since then we are having issues. We have about 12 BSO applications, Size is 2GB each. After the upgrade when the users do some operations sucn as rerteval or outline edits etc the essbase hangs and we have to reboot to resolve this issue but after sometime (1 hour later) on performing the same operations it hangs again.
We initially thought it is the server problem, so we migrated all these 12 apps to 3 diferent servers and the other server also started hanging due to these apps. SO this solidifies that there is something wrong in these BSO applications...Any ideas????
System info: Windows environment
sever: windows server 2003
hyp - 9.3.3
Oracle support also jumped in but could not resolve the issue.
Any help would be appreciated.
Thanks!!!Have a look on Essbase conf file
for netdelay and net recount try increaseing 1000 each and look for diffrence
Also look on avaiable RAM on server. Allot 2 gb per application
let say you have 12 app then 12*2=24 + 6 Gb i.e=30gb so better get 32gb
up to my understanding since ram seq goes 8 ,16, 32, 64
also look at your processor how many core have alloted
Have a read on :http://docs.oracle.com/cd/E17236_01/epm.1112/esb_dbag/frameset.htm?part_optimize.html -
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 -
Need help in converting BSO calc in to MDX in ASO
Hi,
Please find the calc that calcs Cash App Write Offs in calc script in BSO cube
Fix(Feb,FY11,Actual,allocation,@levmbrs("All End Users",0),@levmbrs("All Sold To",0));
"Cash App Write Offs"
IF ("Invoice Price Gross Sales"->"All Products"->"BW_Input" ==#missing)
"Cash App Write Offs" = "Allocation_Input_Cash_Writeoff";
ELSE
"Cash App Write Offs"->"Allocation" = "Product_Pct_of_Invoiced_Sales"->"BW_Input" *"Allocation"->"Allocation_Input_Cash_Writeoff"->"No Product";
ENDIF
Endfix
Please let me know whether the below logic is correct for ASO cube through MDX for the above calc in BSO
Case When IS([Scenario].currentmember,[Actual]) and IS([Dimension].currentmember,[Allocation]) and IS
([Years].currentmember,[FY11]) and IS ([Time].currentmember,[Feb]) and IsLevel([All End Users].CurrentMember, 0)
and IsLevel([All Sold To].CurrentMember, 0) and ([Invoice Price Gross Sales],[All Products],[BW_Input])=#Missing))
Then
[Cash App Write Offs]=[Allocation_Input_Cash_Writeoff]
Else
([Cash App Write Offs],[Allocation])=([Product_Pct_of_Invoiced_Sales],[BW_Input])*([Allocation],
[Allocation_Input_Cash_Writeoff],[No Product])
End
Thanks in advance....
Edited by: 848657 on Mar 30, 2011 9:40 AMhi,
chk this code.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
amount = amount
currency = 'EUR'
filler = ' '
language = 'E' => give the language as italian
IMPORTING
in_words = amountrs.
rgds
anver
pls mark all hlpful answers -
Convert BSO to ASO formula.
"Target Premium - New"="Target Premium - Total New"-@MDSHIFT("Target Premium - Total New",-1,"Years",,11,"Periods",);
ELSE
"Target Premium - New"="Target Premium - Total New"-@SHIFT ("Target Premium - Total New",-1);
ENDIF;
I have got something like this but it does not get me the correct results
CASE WHEN IS ([PERIODS].CurrentMember,[JAN]) THEN
[Target Premium - Total New]-([Target Premium - Total New],[Years].CurrentMember.lag(1),[Periods].CurrentMember.lead(11))
ELSE
(([Target Premium - Total New])-([Target Premium - Total New],[Years].CurrentMember.PrevMember))
END
IF (@ISMBR("JAN"))
"Annualized Premium - New"="Annualized Premium - Total New"-@MDSHIFT("Annualized Premium - Total New",-1,"Years",,11,"Periods",);
ELSE
"Annualized Premium - New"="Annualized Premium - Total New"-@PRIOR ("Annualized Premium - Total New");
ENDIF;
I have got something like this but it does not get me the correct results
CASE WHEN IS ([PERIODS].CurrentMember,[JAN]) THEN
[Annualized Premium - Total New] - ([Annualized Premium - Total New],[Years].CurrentMember.lag(1),[Periods].CurrentMember.lead(11))
ELSE
[Annualized Premium - Total New] - (PrevMember(Years.CurrentMember, LEVEL), [Annualized Premium - Total New])
END
ThanksDoes any part of it work? If you do get restults at all, can you tell what it's doing? I have identified one issue:
CASE WHEN IS ([PERIODS].CurrentMember,[JAN]) THEN
[Target Premium - Total New]-([Target Premium - Total New],[Years].CurrentMember.lag(1),[Periods].CurrentMember.lead(11))
ELSE
(([Target Premium - Total New])-([Target Premium - Total New],[Years].CurrentMember.PrevMember))
END
The ELSE condition is going to the previous year instead of the previous period, which it should be. It should be written as:
ELSE
(([Target Premium - Total New])-([Target Premium - Total New],[Periods].CurrentMember.PrevMember))
Sabrina -
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 -
How to convert number in to Date in column formula in analyses
Hi All,
I have one requirement, it needs Number conversion in to date.
I wrote like this cast(tablename.columnname as Date)
I'm getting error [nQSError: 22025] Function Cast is called with an incompatible type. (HY000)
column has datatype Number(10,0).
Please any one help me.
Thanks,
Ashwini KHi,
Please refer below links.
http://satyaobieesolutions.blogspot.in/2013/06/dateformat-converting-using-evaluate.html
http://satyaobieesolutions.blogspot.in/2013/06/date-format-change.html
Hope this help's
Thanks,
Satya Ranki Reddy -
I need PDF fields to calculate time worked and convert to hours and tenths by set formula
I have been working on a PDF form which has a "time in" field, "time out" field, "total time" and "accumulated time" fields. I have found a couple of forms online which I tried copying the code and it will not work. There is a formula here that they go by, i.e. 0-3 minutes = 0, 4-9 minutes + .1.
I found code for the conversion but am a beginner at writing code and I am getting errors in the scripting box which I don't understand.
Does anyone have code written that would work for the Total Time field that will calculate the time between the in and out fields and convert to a set formula? I can get the accumulated field to work.
I used this:
document.write(Math.round(0.60) + "1.0");
document.write(Math.floor(0.57) + "0.90");
document.write(Math.floor(0.51) + "0.80");
document.write(Math.floor(0.45) + "0.70");
document.write(Math.floor(0.39) + "0.60");
document.write(Math.floor(0.33) + "0.50");
document.write(Math.floor(0.27) + "0.40");
document.write(Math.floor(0.21) + "0.30");
document.write(Math.floor(0.15) + "0.20");
document.write(Math.floor(0.09) + "0.10");
document.write(Math.floor(0.03) + "0.00");
but am missing code to make it work. I am on Acrobat Pro Extended on a Windows 7 platform.
Thank you in advance, AnnetteI've developed a script that can automatically add these calculation to
multiple fields, including the total field.
Have a look here:
http://try67.blogspot.com/2011/03/acrobat-calculate-time-differences-in.html
PS - document.write() is not a valid method in a PDF.
Maybe you are looking for
-
i can no longer open menus on restaurant sites. a white blank page comes up with just a tiny black x in the corner. i used to be able to open these type things. i have the latest adobe reader installed. any help out there?
-
Oracle ADF: Cannot Commit Database Transaction
Hi All I am trying to update oracle database using Oracle ADF from command line. The following is my code snippet final String amName1 = "taxreturn.AM_Taxreturn"; final String connStr = "jdbc:oracle:thin:o9ias/[email protected]:1521:t1fdbo";
-
My macbook crashed and I am trying to install my adobe programs again but I can't because he is used earlier by myself. How can I fix this without buying a whole new packet?
-
Songs are not showing up in IPOD (Album)
I have the 30gb video ipod and am having troubles finding specific songs which have transfered from the library to the ipod It tends to be songs which did not have an "album" associated with the song. Rather I'll see all the songs for a specific arti
-
Contacts ex Outlook, to iCloud,
To transfer my contacts from PC based Outlook to a new iMac I used iCloud. All the contacts disappeared from the Outlook contacts list pn the PC but appeared in my documents on the PC as .msg files. They did then appear in my Contacts app on the