Conveting ASO formula to BSO formulae
Hi experts,
I am working on BSO cube which looks like a reference ASO Cube.Since ASO and BSO both are having the similar dimensions and members.
In my Period dimension(ASO)
Eg : Period (Time)
+ Year Total (4) (+)
+ QTD (12) (+)
+ YTD (12) (+)
+ Period Variances (+)
+ Current Month vs Prior Month (+) [Formulae :([&CurMon],[&CurYr]) - ([&PrMon],[&PrMonYear])]
+ Current Month vs Prior Month % (+) [Formulae :((([&CurMon],[&CurYr]) - ([&PrMon],
[&PrMonYear])) /&PrMon],[&PrMonYear])) * 100]
This script is verifying successfully in ASO,but when it comes for BSO,it was not working.
Can any one help me out in converting the above script from ASO to BSO?
I have gone through EBAG for converting codes,but unable to find useful info.
I have been struck up here in this point.
Waiting awfully for your feedbacks.
Thanks in advance for your help.
Srinivasa rao v
Usually people are trying to convert BSO to ASO. It's interesting to see this coming full circle with new users of Essbase starting off with ASO and not having the BSO experience and now having to work backwards from there. I think it shows how powerful ASO is becoming.
For your situation your MDX needs to be converted to Calc Script language. Tuples are represented using cross dimensional operators (->) and you need to end your statements with a semi colon (;).
+ Current Month vs Prior Month (+) Formulae : &CurMon->&CurYr - &PrMon->&PrMonYear;
+ Current Month vs Prior Month % (+) Formulae : ((&CurMon->&CurYr - &PrMon->&PrMonYear) /&PrMon->&PrMonYear) * 100;
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 -
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) -
ASO Formula: Please clarify
I came across a doubt while converting a BSO formula to ASO formula. In BSO, If SKIPMISSING is used, I learnt that we have to use INCLUDEEMPTY in ASO. But, what if SKIPNONE is used instead of SKIPMISSING in BSO, What is the keyword I have to use for this in ASO.
Please help me on this.
BSO Formula:
= @AVGRANGE(SKIPMISSING,Membername,Oct09:Dec09);
ASO Formula:
Avg({[Oct09]:[Dec09]},[Membername],INCLUDEEMPTY)
Thanks,
UBOk. Let me ask my doubt like this.
I want to inlcude SKIPMISSING in ASO formula, then what could be keyword for it in ASO.
Now I understand that if SKIPNONE used in BSO, we have to use INCLUDEEMPTY keyword in ASO. Can you please clarify me on the above doubt also, please
Thanks,
UB -
Impacts on converting ASO cubes to BSO cubes
<p>Hi,</p><p> </p><p>We want to convert 7 ASO cubes to BSO because we areexperimenting some bugs on ASO,</p><p> </p><p>what are the impacts of doing this ?</p><p> </p><p>Thanks in advance</p><p> </p><p>kbbft</p>
Usually people are trying to convert BSO to ASO. It's interesting to see this coming full circle with new users of Essbase starting off with ASO and not having the BSO experience and now having to work backwards from there. I think it shows how powerful ASO is becoming.
For your situation your MDX needs to be converted to Calc Script language. Tuples are represented using cross dimensional operators (->) and you need to end your statements with a semi colon (;).
+ Current Month vs Prior Month (+) Formulae : &CurMon->&CurYr - &PrMon->&PrMonYear;
+ Current Month vs Prior Month % (+) Formulae : ((&CurMon->&CurYr - &PrMon->&PrMonYear) /&PrMon->&PrMonYear) * 100; -
ASO Cube with BSO Partition as a Target
Hi,
Can someone please explain me the following because after reading different blogs as well as some other Essbase documents I am not able to understand,
What is the actual use of having a BSO Transparent partition (target) of an ASO cube (source)?
How exactly does the Write-Back functionality works if I have a BSO Transparent partition (target) of an ASO cube (source)?
And lastly, in what business scenario one would implement a BSO Transparent partition (target) of an ASO cube (source)?
Your help is much appreciated.
thanks,
fikesI have a situation where I have a BSO (target) on top of an ASO (source). This was to try and resolve the dynamic time series (where time and periods are in different dimensions). The DTS works almost great in the BSO partition.
The other problem (or why we wanted to go to ASO) was that BSO cubes do not handle attributes across partitions (we have quarterly data in transparent partitions) to the target cube. -- but we do have dynamic time series.
What I'm facing now it that the attributes work in the BSO (target) except when using a dynamic time series.
The attributes are defined in both the BSO and ASO cubes.
Any suggestions on how to handle attributes AND dynamic time series ? -
BSO to ASO Formula Conversion - Help Needed
ASO is not my forte...I am trying to get a simple formula to work in ASO cube as part of BSO->ASO conversion.
If it is level 0 entity, the formula is (Last Shipped (PU) * Part Volume)...works fine.
If its upper level, it should just sum the values of its children. The BSO equivalent that we typically use is @SUM(@CHILDREN(@CURRMBR("Entity"))).
I attempted the same in the ASO MDX script as shown below, it is not yielding me the correct result....any thoughts why this is not working?
Thanks in advance.
Nima
Member Formula*
CASE WHEN ISLEVEL(Entity.CurrentMember, 0) THEN+
Last Shipped (PU) x Part Volume+
ELSE+
SUM(Children(Entity.CurrentMember))+
END+
Edited by: Nima.V on Nov 12, 2008 7:12 PMHave you tried specifying which measure you want it to sum?
e.g.
CASE WHEN ISLEVEL(Entity.CurrentMember, 0) THEN
Last Shipped (PU) x Part Volume
ELSE
SUM(Children(Entity.CurrentMember), [Measure].[Part Volume])
END
also I'm not sure whether the SUM is correct. This might work as it definately specifies the tuples:
SUM({Products.CurrentMember.children},[Measures].[Part Volume])
hope it helps,
Gee -
Convert Formula from BSO to ASO
"Rate"=(1-@POWER ((1-("Total Net Surrender Amt"->"JAN"/(@mdSHIFT("ACCOUNT_VALUE",-1,"Years",,11,"Periods",)))),(12/1))) ;
In another thread I showed you how to convert a similar formula. While 'm happy to help, you could either extrapolate from the other example or bring in someone to help you convert all your formulas. I and others make our living doing this type of thing. I really don't want to convert all your formulas one by one
-
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 -
Hi,
Trying to convert a BSO formula to an ASO but getting an error like
Error(1260052) - Syntax error in input MDX query on line 4 at token 'CASE' Membername1. could you please correct this formula. Thanks, UB
BSO formula:
"Membername1"
(IF (@ISMBR (@IDESCENDANTS (Member5))) "Membername1" = Membername2/52*13*"Membername3"*-1;
ELSEIF (@ISMBR (@IDESCENDANTS (Member6))) "Membername1" = Membername4/52*13*"Membername3"*-1;
ENDIF;)
Converted the above BSO formula to below ASO one:
CASE WHEN IS([Year].CurrentMember, [Member5]) THEN
[Membername2] / 52*13* [Membername3] *-1]
CASE WHEN IS([Year].CurrentMember, [Member6]) THEN
[Membername4] / 52*13* [Membername3] *-1
ENDYou only need one CASE statement, the format should be
CASE
WHEN IS(......) THEN
WHEN IS(.....) THEN
END
Cheers
John
http://john-goodwin.blogspot.com/ -
i am created one forumula in bso like =MonthEndPub - PriceCut; how to conver in to aso plz guid us.
You don't use semi colons at the end of the formula in ASO
for more info see http://download.oracle.com/docs/cd/E12825_01/epm.111/esb_dbag/frameset.htm?acrtapdb.htm#acrtapdb43913
Edited by: Daniel Willis on Sep 14, 2010 6:27 PM -
ASO formula on non account dimension
Hi,
I was wondering if it is possible to create a formula (or script) on a dimension of an ASO cube that is not an "Accounts dimension type" ?
If possible, here is the kind of formula I want to create. I have a 12 dimensions cube. One dimension is TIME that have the following structure :
TIME
Jul
Aug
Sep
May
Jun
Another dimension is Scenario with the following members :
SCENARIO
Reporting
Budget
For business purpose, I want to copy data from Budget scenario to Reporting scenario only for 2 periods of time : Jul and Jan.
Can anyone help me to do that?
Thanks in advance,
Lionel.Yes you can have MDX formula on member outside of Account dim, but the member must be part of a hierarchy that is tagged Dynamic.
In the case you discussed, you can't really copy the data, but you can make a dynamic member that will reflect the elements you want when users pull it.
Create a new member called Reporting2 with the following member formula
CASE WHEN CONTAINS([Time].CurrentMember, {[Jan], [Jul]}) THEN
[Budget]
ELSE [Reporting] END -
I am building the outline in ASO using rules files and MAXL script...How can I convert this outline in BSO using the same rules files...or is there any other way to convert the outline to from ASO to BSO.... I need this for creating a ASO-BSO transparent partition where ASO is the data source and BSO is the target....
Thanks...In your case.
1. Create a BSO application, and use the same rule files and scripts which you are using for ASO outline build.
2. Within the BSO application,validate whether the same rule files are correct .
3. Mostly ,they should work,else , the minimal changes might require to make them compatible with BSO nature.
4. Now that you have both BSO and ASO cube in place, make partitions.
You might face problems when you do the rule files in BSO ,then you can post them and get corrected.
Sandeep Reddy Enti
HCC -
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
PranavBSO@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 -
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
Maybe you are looking for
-
A message from the creator of Skype?
Hello, a freind of mine got this kessage and I wanted to know if it is official. (I am guessing no, but better safe than sorry). <<< Hi , this is a message from the creator of Skype and it tells you a little bit about what is going to happen to Skyp
-
3rd party SO with rejected item appears in billing due list ( VF04 )
Hi There are 7 items in a SO ( 3RD PARTY PROCESS ) . One of the items ( POSNR 030 ) is rejected ( reason for rejection is applied at the item level ). The item is rejected from the linked Pur Req & PO as well. For this rejected item there is no GR d
-
ImageLoader,no Content-Length not loading in ie, chrome
Im currently working with the PosterFrameElement, the url to the jpeg is like this http://mydomain.dk/image/1234/ serialElement.addChild(new PosterFrameElement(new URLResource(url))); to get pass the ImageLoader canHandleResource I tryed inserting .j
-
I can't get Java to run on my Schwab site
I have a macbook. My Schwab account runs Java. On Safari, I can bring up Streetsmart, but it stopped running with Firefox.
-
Hi Please, I do need help. For some time now I've not been able to access my APP world. It takes forever to download the app world ID and then it fails. Error 80003 is what I keep getting. Are there others having this same problem? Thanks