Conversion Of Mdx Script
Hi Experts,
I Need The Below Calculation Script convert to mdx script format
If (@IsLev("Entity",0))
"Start Point (a.)" = "Start Point (a)"->@PARENT("Entity")->"Total Products"->"Total Customers"->"Total Vehicles";
EndIf
I tried The Below Script Shows Syntax error
CASE WHEN IsLevel([Entity].CurrentMember, 0)
THEN [Start Point (a.)] =([Start Point (a)],[Total Products],[Total Customers],Parent([Entity]))
END
Thanks & Regards
Balazi
Didn't you ask this question yesterday?
Calc script to MDX script conversion
As it is ASO, there are no CALC DIM or AGG statements required. You can materialize aggregations, i.e., have Essbase calculate aggregations if you want. The easiest way to do that is through the Aggregation Design Wizard in EAS. You can also define this in MaxL. Alternatively, and I would guess for the initial design process you would likely not materialie any aggregations at all but instead let Essbase calculate the database dynamically (okay, I'm sure I will get a million "You are wrong again, Cameron" comments but I'm just as much of a neophyte as you at ASO and that's what I would do during my coding process -- it does work for checking numbers but may not be fast enough for production use.).
Re clearing the data, see the MaxL alter database clear aggregates/data in aggregates command:
http://download.oracle.com/docs/cd/E17236_01/epm.1112/esb_tech_ref/maxl_altdb_as.html
Sorry I forgot to mension that we are using EPM 11.1.2 in which we can use calc script for only Level 0 blocks. ^^^Not sure what this means.
Regards,
Cameron Lackpour
Similar Messages
-
MDX script editing error generated at each keystroke
I'm having the same issue in VS2012. When I edit an MDX script the error window pops open between each keystroke. I have to copy the script into notepad, edit, then return it to the MDX editor. Very annoying!!!
Actually I get it in the Calculations tab of SSAS 2012 while inside Visual Studio 2012. I can toggle back and forth between script view and form view without error (and the build is clean), but when I start to type anything in form view it pops up the error
window between every single key stroke.
I've looked for options to turn off automatica error checking but don't see anything like that.
chris choate
Hi Chris,
Could you please post the detail error message to us for further investigation? If possible, please post a screenshot about this issue.
Personally, you can try to reinstall Business Intelligence for Visual Studio 2012 to see if this help.
Microsoft SQL Server Data Tools - Business Intelligence for Visual Studio 2012:
http://www.microsoft.com/en-us/download/details.aspx?id=36843
Install SQL Server Data Tools - Business Intelligence for Visual Studio 2012:
http://technet.microsoft.com/en-us/library/jj856966.aspx
If you have any feedback on our support, please click
here.
Best Regards,
Elvis Long
TechNet Community Support -
Hi all
I have a date dimension that (type time) with attributes
- [FiscalYear] (type years)
- [FiscalMonth] (type months)
- [FiscalWeek] (type weeks)
In addition to the attributes used in the natural hierarchy, I have an attribute [PerType] containing one member comming from the relational table 'WTD' which corresponds to 'Current Date'. All other members of this attribute hierarchy are calculated members (defined in the MDX script). Examples:
--Last year
CREATE MEMBER CURRENTCUBE.[Date].[PerType].[LY] AS NULL,
VISIBLE = 1;
SCOPE([Date].[PerType].[LY]);
SCOPE(DESCENDANTS([Date].[Fiscal].[All], [Date].[Fiscal].[Year], SELF_AND_AFTER));
THIS = ([Measures].CurrentMember, [Date].[PerType].[WTD], ParallelPeriod([Date].[Fiscal].[Year], 1));
END SCOPE;
END SCOPE;
--Month to date
CREATE MEMBER CURRENTCUBE.[Date].[PerType].[MTD] AS NULL,
VISIBLE = 1;
SCOPE([Date].[PerType].[MTD]);
SCOPE(DESCENDANTS([Date].[Fiscal].[All], [Date].[Fiscal].[Week], SELF_AND_AFTER));
THIS = Aggregate(CrossJoin({[Date].[PerType].[WTD]}, MTD([Date].[Fiscal].CurrentMember)));
END SCOPE;
END SCOPE;
--Year to date
CREATE MEMBER CURRENTCUBE.[Date].[PerType].[YTD] AS NULL,
VISIBLE = 1;
SCOPE([Date].[PerType].[YTD]);
SCOPE(DESCENDANTS([Date].[Fiscal].[All], [Date].[Fiscal].[Period], SELF_AND_AFTER));
THIS = Aggregate(CrossJoin({[Date].[PerType].[WTD]}, YTD([Date].[Fiscal].CurrentMember)));
END SCOPE;
END SCOPE;
The defalut member of FiscalWeek attribute hierarchy is set dynamically in the MDX script:
ALTER CUBE CURRENTCUBE UPDATE DIMENSION [Date].[FiscalWeek], DEFAULT_MEMBER =
Filter(
[Date].[FiscalWeek].Members,
[Date].[FiscalWeek].Properties( "FiscalWeekStartDate", TYPED) <= DateAdd("d", -2, CDate(CStr(Month(Now())) + "/" + CStr(Day(Now())) + "/" + CStr(Year(Now()))))
AND
[Date].[FiscalWeek].Properties( "FiscalWeekEndDate", TYPED) >= DateAdd("d", -2, CDate(CStr(Month(Now())) + "/" + CStr(Day(Now())) + "/" + CStr(Year(Now()))))
)(0).PrevMember;
If I run the following query:
with member
measures.x as [Date].[Fiscal].DefaultMember.Name
measures.y as [Date].[FiscalWeek].DefaultMember.Name
select
measures.x,
measures.y
} on axis(0)
from [GLWeekly]
it gives me back correctly the default member set over the MDX script.
I order the statements in the MDX Script so that the default period (week) is set at the beginning of the script (just after the calculate).
I do not understand why creating the following calculated member I am obliged to specify [Date].[Fiscal].CurrentMember in the tuple to have correct results:
MEMBER [Account].[CoA].[Standard Engagement Revenue (MTD)] AS ([Account].[CoA].[Standard Engagement Revenue], [Date].[PerType].[MTD], [Date].[Fiscal].CurrentMember)
I would expect that:
([Account].[CoA].[Standard Engagement Revenue], [Date].[PerType].[MTD])
is sufficient.
If the default week is specified in the slicer using a member of the natural hierachy (=> [Date].[Fiscal].x) it works.
Why can't SSAS use the default member if it is must defined in the MDX script?
Can someone explains me this. Thanks a lot in advance.Hi Ina,
have you thought about adding a dynamic statement inside the MDX script? You could define the default member like this:
... DEFAULT_MEMBER = iif( Day( Now() ) = 3, <expression for previous month>, <expression for current month> );
This way you don't need to change it everytime by running a script.
By the way, what do you mean it doesn't update the default member? When you execute this MDX what does it says?
with member measures.x as [Dimension].[HierarchyName].DefaultMember.Name
select { measures.x } on 0 from Cubename
If this returns the correct name, then the problem is somewhere else. I believe it should return you the correct name. Look here, test this on Adventure Works, statement by statement and see what happens.
ALTER
CUBE [Adventure Works]
UPDATE
DIMENSION [Product].[Product Categories],
DEFAULT_MEMBER = [Product].[Product Categories].[Category].&[1]
with
member measures.x
as [Product].[Product Categories].DefaultMember.Name
select measures.x on 0
from [Adventure Works]
ALTER
CUBE [Adventure Works]
UPDATE
DIMENSION [Product].[Product Categories],
DEFAULT_MEMBER = [Product].[Product Categories].[All Products]
with
member measures.x
as [Product].[Product Categories].DefaultMember.Name
select measures.x on 0
from [Adventure Works]
I think you can see which members are default (on related hierarchies) using
MDX Studio. This should help you detect which attributes have not moved accordingly and hence cause problems in your report. The usual suspects are those attributes used in your last month reports. If that's too much for you, just copy paste the definition
of the measure x and use .CurrentMember instead .DefaultMember. And so for all related hierarchies of your dimension. You can run it as one query, just put enough measures (x1, x2, ...), one for each hierarchy, ok?
Here's a test for Day():
with
member measures.y
as
iif( Day(Now()) = 28, 'Yes', 'No' )
select
measures.y on 0
from [Adventure Works]
Today this returns Yes, tomorrow it will be No.
Ups, I just checked one more thing. When you run the script, it sets the default member only for that session. If you execute the first two of the four statements that I've sent you, it will set the default member on Bikes and show you that.
But, if you open another query windows and execute that select statement (only), you'll see All member instead. So, it has set it to Bikes only for the currect session. Consequence? You reports are not aware of it. So, better use dynamic statement in
your MDX script.
Regards,
Tomislav Piasevoli
Business Intelligence Specialist
www.softpro.hr -
How to extract Member Names in MDX script?
I have a MDX script that by default gives me member aliases. How can I change it so it'd give me member names? I know I can use something like that:
NON EMPTY [Employee].Levels(0).Members DIMENSION PROPERTIES [Employee].[Member_Name]ON AXIS(4)
but then it gives me member aliases AND member names, and I need the names only.
Thanks!The syntax you have is the way to get the member names, but as I said you wouldn't like the way it is displayed. MDX is not a reporting language and so it does not have the nice formatted selections. You will get both alias and member name by using the properties. you could run the output through some sort of parser (Perl perhaps) to get the format you want
-
Hi I am new to MDX and am looking for a quick way to create an MDX scriopt. I have used Visual Explorer to create a report, how do I extract the MDX script?
The reason I need to do this is to create a custom query in OBIEE (10g) that make use of the output from this script.
Thanks.Hello,
the major disadvantage acc to me is that , there is no independent check on the excise values in the invocie, if there are any errors, or values are incorrect , then the excise invocice nad has to be recreated
if the checks are in place in invoice stage, there should not be a issues
also if the values are fixed , standardised then also it helps to have auto invocie creation
hope this helps
Thanks
akasha -
MDX Script for Caluclate total year
Hi ,
I need to calculate total year for actual and forecast data in essbae aso cube .Already we have MDX script for calculate actual and forecast .and now we need to calculate total year .
Kindly any one can help me on this .
Script we used :
Case
When CurrentMember ([Years]) is [FY06] Then ([Scenario].[Actual],[Version].[Final])
When CurrentMember ([Years]) is [FY07] Then ([Scenario].[Actual],[Version].[Final])
When CurrentMember ([Years]) is [FY08] Then ([Scenario].[Actual],[Version].[Final])
When CurrentMember ([Years]) is [FY09] Then ([Scenario].[Actual],[Version].[Final])
When (CurrentMember ([Years]) is [FY10] AND CurrentMember ([Period]) is [Jan]) Then ([Scenario].[Actual],[Version].[Final])
When (CurrentMember ([Years]) is [FY10] AND CurrentMember ([Period]) is [Feb]) Then ([Scenario].[Actual],[Version].[Final])
When (CurrentMember ([Years]) is [FY10] AND CurrentMember ([Period]) is [Mar]) Then ([Scenario].[Actual],[Version].[Final])
When (CurrentMember ([Years]) is [FY10] AND CurrentMember ([Period]) is [Apr]) Then ([Scenario].[Actual],[Version].[Final])
When (CurrentMember ([Years]) is [FY10] AND CurrentMember ([Period]) is [May]) Then ([Scenario].[Actual],[Version].[Final])
When (CurrentMember ([Years]) is [FY10] AND CurrentMember ([Period]) is [Jun]) Then ([Scenario].[Actual],[Version].[Final])
When (CurrentMember ([Years]) is [FY10] AND CurrentMember ([Period]) is [Jul]) Then ([Scenario].[Current Forecast],[Version].[Working])
When (CurrentMember ([Years]) is [FY10] AND CurrentMember ([Period]) is [Aug]) Then ([Scenario].[Current Forecast],[Version].[Working])
When (CurrentMember ([Years]) is [FY10] AND CurrentMember ([Period]) is [Sep]) Then ([Scenario].[Current Forecast],[Version].[Working])
When (CurrentMember ([Years]) is [FY10] AND CurrentMember ([Period]) is [Oct]) Then ([Scenario].[Current Forecast],[Version].[Working])
When (CurrentMember ([Years]) is [FY10] AND CurrentMember ([Period]) is [Nov]) Then ([Scenario].[Current Forecast],[Version].[Working])
When (CurrentMember ([Years]) is [FY10] AND CurrentMember ([Period]) is [Dec]) Then ([Scenario].[Current Forecast],[Version].[Working])
When CurrentMember ([Years]) is [FY11] Then ([Scenario].[Current Forecast],[Version].[Working])
When CurrentMember ([Years]) is [FY12] Then ([Scenario].[Current Forecast],[Version].[Working])
Else
Missing
End
In above script Jan to June is actual data and Jul to Dec is forecast data .now we need write MDX script for calculate total years .
We have substitute veritable is Endmost for actual and startMo for forecast .can we use these variables in script?
i am trying below script but i am getting some errors :
case
when (currentmember([Years]) is [FY10]) then
sum(crossjoin{(([Scenario].[Actual]),([Version].[Final])),([jan],[Feb],[Mar],[Apr],[May],[june])}+
sum(crossjoin{(([Scenario].[Current Forecast],[Version].[Working])),([July],[Aug],[Sept],[Oct],[Nov],[Dec]))}
end
is this script is correct and also let me know how we can use substitute veritable in FASO MD scripts.
Thanks,
viYes. That makes sense to craete a calculated member( say FYF) and apllying the logic you have told.
Can see the required result at the total year level.
And it is always better not to change the actulas and forecast cosolidation at the total year level. -
Hi Experts,
I have a query with MDX Script Logic
The sum of values (ABC) move to total in one region ,like different regions sum of values adding in TOTAL.How to define in MDX script and sgrigate diferent regions
ACCOUNT.Total=ACCOUNT.A,ACCOUNT.B,ACCOUNT.C (CA region) (Logic for CA)
Total=A=BC(CaliforniaNewjersyOhio) (the same logic for different regions)
The INPUT of values goes individual to region and total will come overall,
Regards
Ravi<blockquote>quote:<br><hr><i>Originally posted by: <b>tiger23</b></i><BR>New working with MDX. I have a MDX script but would like to write the output to a text file. Can anyone help me with this?<BR>thanks....<hr></blockquote><BR>The quickest way to do this is to use MAXL to submit the script and the MAXL "spool" commands to redirect output. The Technical Reference in Help has the details on the use of "spool".<BR>
-
Hi , I am trying to develop an MDX script to clear data from a region/slice in ASO cube. I have to select only certain projects with a similarity in their name. I could not find any key word for that , So I have added a UDA for those projects and used the UDA keyword to group them. The script is below:
alter database BSC_RPT.BSC_RPT Clear data in CurrentTuple( [Scenario].[Actual], [DataView].[datasource], [Years].[FY11],
[Version].[Current], [Account].[Accountname] ,(Uda ( [Project], "PLN")))
This script gives me an error "Syntax error at 'Current Tuple'. Please suggest me how to proceed with this. It would be of a great help if you can help me resolve this issue.
Thanks,
Ramy969637 wrote:
Hi , I am trying to develop an MDX script to clear data from a region/slice in ASO cube. I have to select only certain projects with a similarity in their name. I could not find any key word for that , So I have added a UDA for those projects and used the UDA keyword to group them. The script is below:
alter database BSC_RPT.BSC_RPT Clear data in CurrentTuple( [Scenario].[Actual], [DataView].[datasource], [Years].[FY11],
[Version].[Current], [Account].[Accountname] ,(Uda ( [Project], "PLN")))
Since the UDA function can return multiple values, you cant use a tuple for this, you would have to crossjoin the set of members of the UDA with the tuple of the other dimensions. You would also not use the currenttuple just the tuple itself
something like 'crossjoin ({( [Scenario].[Actual], [DataView].[datasource], [Years].[FY11], [Version].[Current], [Account].[Accountname]),({Uda ( [Project], "PLN")}))'
Note, I did this offhand the syntax may be a little off ot parens and brackets might be off as well -
Hi,
I am trying to write in mdx editor the following query which will give me previous month date.
SELECT
+{(DateRoll(today(),DP_Month,-1),jan)} on COLUMNS+
+from [sample.basic]+
But it gives syntax error. I checked DateRoll function and Today() function in calc script and it was shifting my date to previous month.
Please have a look.
Thanks in advance
Edited by: user10760185 on Jun 21, 2012 12:09 AMYou're mixing Dates and Members. DateRoll function will only work with a 'Date-Time' dimension which is a special type of Time dimension you build with the EAS wizard and only for ASO databases.
-
I've MDX query, the Query is running well, but the result on D7020 is not copied.
What's wrong with the script ??
Anyone can help ??
Here's the Query :
*SELECT(%FGList%,"[ID]","OTHERS","INPUT='Y'")
*XDIM_MEMBERSET OTHERS = %FGList%
*XDIM_MEMBER ACCOUNT = Qty
[ENTITY].[#D7020]=[ENTITY].[7020],[CHANNEL].[ALL_CHANNEL],[CUSTOMER].[ALL_CUSTOMER]
*GO
*COMMITYes, I'm write back to database, write into Entity D7020. (D7020 is based member)
It's worked.
Here's the complete Script :
*SELECT(%FGList%,"[ID]","OTHERS","INPUT='Y'")
*XDIM_MEMBERSET OTHERS = %FGList%
*XDIM_MEMBER ACCOUNT = Qty
*XDIM_MEMBER DATASRC = Input
*XDIM_MEMBER INTCO = Non_InterCo
*XDIM_MEMBER RPTCURRENCY = LC
*XDIM_MEMBER OTHERDTLS = No_OtherDtls
*XDIM_MEMBER PROCESS = No_Proc
*XDIM_MEMBER CHANNEL = No_Channel
*XDIM_MEMBER CUSTOMER = No_Customer
[ENTITY].[#D7020]=([ENTITY].[7020],[CHANNEL].[ALL_CHANNEL],[CUSTOMER].[ALL_CUSTOMER])
*COMMIT -
Create/ run MDX script on Essbase from FDM
Hi there,
Can anybody help me by creating and executing an MDX query from an import script in FDM?
I've managed to create and run a report script on Essbase but the larger the cube the slower the report script.
Therefore i was thinking about MDX.
But before trying for days myself i was hoping someone might have experience in this and is willing to share.
Thanks in advance,
MarcHmm, why does the word "Platypus" keep running through my head?
Bob, I'm trying to do the same thing (create a .app to launch a unix application) and I also ran into the aesthetic issue of the spinning gear in the menu bar for the entire time the app was running. Since the unix app I'm running is a Usenet news reader, that spinning gear would be a long-term distraction. I'll check out Platypus, but I and probably the others in this thread are trying to learn how to do this stuff ourselves to further our OS X knowledge, not merely to solve this one problem.
So with that being said, does anyone know if there's a way to create an Automator "Run Shell Script" action with that spinning gear in the menu bar suppressed? You know, besides using Platypus. -
How execute a .mdx file in batch processing?...equivalent a execution .scr. I am using EAS 7.1.2 and Essbase 7.1.2. Thanks
My first question is what version of Essbase are you on? You say AAS wihich is the System 9 name for EAS. The Allocation scripts only work on version 11.1.2. If you are not on that version, It won't work
-
MDX Script for adding to column values
Hi Experts,
I am new in ASO MDX, need some help.
I have one ASO out line in which I want to fetch addition of "Sales Tax" and "Income Tax" where as there are some other taxes also in "Total Tax". I want to fetch only the sum of "Sales Tax" AND "Income Tax".
ThanksIF you have a look at - http://download.oracle.com/docs/cd/E17236_01/epm.1112/esb_tech_ref/frameset.htm?mdx_sum.html
It gives you an example of how to create a calculated member..
or just use something like
WITH MEMBER [Accounts].[Sales Tax + Income Tax] AS ' [Accounts].[Sales Tax] + [Accounts].[Income Tax]'
Cheers
John
http://john-goodwin.blogspot.com/ -
Conversion of sap script MEDRUCK to smartforms
can anyone help me out in this SAP Script (MEDRUCK) for Purchase Orders to Smart Forms and modified it to suite the requirement.
Hi Hyder,
Its quite simple,
Just goto SMARTFORMS t-code and give a smartform name that needs to be created.
Now follow the below path
Utilities - > Migration -> Import SAPScript Form
It will ask for the SAPScript that needs to be copied to smartform, give MEDRUCK .
Hope this helps.
Rgds,
Sripal -
Adventure Works - Financial Reporting - Amount - Currency Conversion
Hi all,
I was looking into currency conversion in the Adventure Works cube (SQL2008R2).
For each measure that need to be converted, a measure expression is used (e.g.: [Internet Sales Amount] / [Average Rate]), except for Amout in the measure group Financial Reporting.
When creating a pivot table with that measure and changing the destination currency, the Amount is converted to the selected currency.
How is it done ? (because there is no measure expression for that one)
(I had a look at the MDX script of that cube, but could not find anything about that)
Thanks for your answers.
Kind Regards,
GuillaumeHi Guillaume,
According to your description, you are looking for currency conversion in the Adventure Works cube. In Analysis Services, we can use the Business Intelligence Wizard to define currency conversion functionality for a cube, or you can manually define currency
conversions using MDX scripts. For the detail information about it, please see:
Currency Conversions (Analysis Services - Multidimensional Data)
Currency Conversion in Analysis Services
Regards,
Charlie Liao
If you have any feedback on our support, please click
here.
Charlie Liao
TechNet Community Support
Maybe you are looking for
-
BP Duplicate Check - SIC_INDEX_MAIN
I am enabling BP duplicate check in SAP CRM6.0. Steps followed to activate indexes are: 1) I created an index for for application BAS, object type BUT000 and index object type BUT000 from spro > Web Application server > Application Server > System Se
-
Its been an issue since iOS 5.x for me at least. I use the Apple Mail app on my iPhone 4s, because simple is good enough. But has this very annoying tendancy to jump out of the message I'm looking at and pull up another old message in the message vi
-
Couldn't install CS4 Master Trial now can't get rid of it.
I was not successful at installing CS4 Master Collection Trial. I received installation errors for all of the applications on Disk2. Some form of 1620 error code. I called support. Was told that perhaps I had a corrupt disk, so they said they wou
-
Maximum hard drive capacity f or hp dv8
I have a HP DV8 with 2 320GB hard drives. I would like to put 2 750 GB WD Black Scorpio drives in the PC. Is this possible? What is the maximum capacity for this laptop? Thanks.
-
Screen changes are not active in production tenent
Hi Experts, I realized the transport of a solution to the production environment and as can be seen in the attached image the solution has been successfully activated. The scripts "OnSave", "AfterModify", etc for example are up and running in the pro