ASO MDX query in outline??????

Trying to write a MDX query for the Account member
Hierarchy:
Account
A001
A002
A003
A008
Scenario
AG00
AG01
AG06
AG08
AG09
Organization
ETCE
E023
E024
E070
I need to caluculate for the Account AG08 the value should be derived from AG07 and for the same account AG08 for the Organization member "E070" the value should be same as AG09 ( i.e AG09 = AG08 )
I writen below query at the level "0" retrival query is good but when i use the Top level query "ETCE" parent level the value in "E070" is eliminating . Query writen below
NONEMPTYMEMBER [A001],[A007]
CASE
WHEN (IS([Organization].CurrentMember, [E070])) THEN
([A009])
WHEN (IS([Scenario].CurrentMember, [AG00])) THEN
(([A007] * -1)/100)
WHEN (IS([Scenario].CurrentMember, [AG01])) THEN
(([A007] * -1)/100)
WHEN (IS([Scenario].CurrentMember, [AG02])) THEN
(([A007] * -3)/100)
WHEN (IS([Scenario].CurrentMember, [AG03])) THEN
(([A007] * -10)/100)
WHEN (IS([Scenario].CurrentMember, [AG04])) THEN
(([A007] * -20)/100)
WHEN (IS([Scenario].CurrentMember, [AG05])) THEN
(([A007] * -80)/100)
WHEN (IS([Scenario].CurrentMember, [AG06])) THEN
([A007])
ELSE
Missing
END
At Bottom level "0" results are coming as expected but Its not working at the top level Organization ETCE level Please help ????
Thanks
Venu
Edited by: user13351102 on Oct 28, 2011 5:19 PM
Edited by: user13351102 on Oct 28, 2011 6:31 PM

Guru's any help on this ASO Member formula query ??

Similar Messages

  • Writing MDX query in outline??????

    Hi All,
    I have to write one MDX query for account member.
    Hierarchy:
    Accounts
    ---acm1
    ---acm2
    ---acm3
    Time
    ---2011
    ------Jan, 2011
    ------Feb, 2011
    ---2010
    ------Jan, 2010
    ------Feb, 2010
    Division
    ---East
    ------A
    ---------a
    ------B
    ---------b
    ---West
    ---North
    ---South
    Now i need to calculate AVG for acm1 which is in accounts dimension based on Year and Division.
    I have written
    Sum(([Accounts].[TotalCreationToInvoiceDayNumber],[TimeMonth].CurrentMember.LastChild):([Accounts].[TotalCreationToInvoiceDayNumber],[TimeMonth].CurrentMember.LastChild.LastChild.Lag(11)))
    Count(CrossJoin({[Accounts].[TotalCreationToInvoiceDayNumber]},{({[TimeMonth].CurrentMember.LastChild.LastChild:[TimeMonth].CurrentMember.LastChild.LastChild.Lag(11)})}
    But it is not working, Can you please help me to complete this query????
    Thanks,
    Prathap

    This will give you some idea
    Re: Writing formula in Outline??????
    Regards,
    RSG

  • Custom Calculation in ASO - Error in MDX query

    Hi All,
    We are trying to use a run a custom calculation on our ASO cube
    We are getting the error as below
    Syntax error in input MDX query on line 13 at token ' )'
    When i checked my POV i did not find any issue. Even when I try to put only one crossjoin, it is still giving me the error saying "error at line 2')' "
    I am unable to find the cause of this issue.
    Can any one help me on this.
    ******content of Maxl Script********
    execute calculation on database ASOFNPLN.ASOFNPLN with local script_file D:\++++++++Sateesh+++++++\ADWEA\Custom.csc"
    POV
    "Crossjoin({[FY09]},
    Crossjoin({[Actual]},
    Crossjoin ({[Jan],[Feb]},
    Crossjoin({[Working]},
    CrossJoin({[XA]},
    CrossJoin({[0000000]},
    CrossJoin({[000000000]},
    CrossJoin({[00000]},
    CrossJoin({[175110]},
    CrossJoin({[CC_ADWEA_0000_AED]},
    CrossJoin({[Unspecified Product]},
    CrossJoin({[HSP_InputValue]},
    CrossJoin({[Local]} )))))))))))))"
    SourceRegion "{[Opening Balance],[Ending Balance],[Periodic Balance]}";
    *************** Content of Custom.csc *********
    case when
    IsUda([Account].currentMember, "Expense") OR IsUda([Account].currentMember, "Revenue")
    AND
    Is([Period].CurrentMember, [Jan]) OR Is([Period].CurrentMember, [Feb]) OR Is([Period].CurrentMember, [Mar]) OR Is([Period].CurrentMember, [Apr]) OR Is([Period].CurrentMember, [May]) OR Is([Period].CurrentMember, [Jun]) OR Is([Period].CurrentMember, [Jul]) OR
    Is([Period].CurrentMember, [Aug]) OR Is([Period].CurrentMember, [Sep]) OR Is([Period].CurrentMember, [Oct]) OR Is([Period].CurrentMember, [Nov]) OR Is([Period].CurrentMember, [Dec]) OR Is([Period].CurrentMember, [YearTotal])
    THEN
    ([Ending Balance]):=([Opening Balance]+[Periodic Balance]);
    ([Opening Balance]):=([View].[Ending Balance], [Period].CurrentMember.lag(1));
    ([Ending Balance]):=([Opening Balance]+[Periodic Balance]);
    END

    You've got a mismatched " in the first line of the "execute calculation" statement.
    However, I think the real problem is in the calc script.  I don't believe you can do this in MDX:
    CASE WHEN x THEN
        a := y;
        b := z;
    END
    You have to do this:
    a := CASE WHEN x THEN y END;
    b := CASE WHEN x THEN z END;
    An alternative is to create a formula member for each of the measures you are trying to set (with the member formula containing the CASE logic) and have the calc script copy the formula member to the permanent member.

  • MDX query for parent-child combination display

    Hi guys..
    I am really new to the Essbase technology.
    Could you please help me out with this one:
    is it possible to extract the data(for example the metadata of a outline)..eg:-
    The outline structure is as follows :
    A1
    A11
    A12
    A2
    A21
    A22
    I want a MDX query to display it as :
    A1 A11
    A1 A12
    A2 A21
    A2 A22
    I have tried various ways but couldnt come up with a query for this.
    Thanks in advance for all your help.

    Unfortunately MDX cannot do this. If you think about what you are asking for, you are essentially saying that you want to see members of the same dimension on different axis. Multi-dimensional queries can't do that (think about trying to do it with addin).
    A further limiation is that MDX is not robust enough to allow you to work the results into a single axis using a concatenation function because while there is a string-to-member function, there is no member-to-string function and concat requires a string as input.
    Other approaches would require MDX to support joins or subqueries, which it does not.
    As others have mentioned, to do what you want to do, you need outline extractor or something like that.
    *Fun fact - if you have OBIEE 11g, it can do reporting in Essbase with hierarchy members in hierarchy format or column format, which will give you the results you need.  That alone is good reason to start using OBIEE.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Essbase ASO Cube query performance from OBI EE

    Hi all
    I have serious problems of performance when I query an ASO cube from OBI EE. The problem born when I implement a filter in some dimension of model in the Business Model and Mapping layer. This filter is to level-0 of the dimension, the values are obtained from a session variable in OBI EE. The objetive of this is apply filters depending of users. Then, for session variable I've a table in relational dabase base with relation between user and "access", then my dimensions (not all) have as level-0 the "access" of users (as duplicated members).
    The session variable in OBI EE is filled with row-wise option, so it has all values of "access" that correspond to user (:USER system variabe).
    When I query only by one of this filtered dimensions the respond is very fast, When I query for one of this filtered dimensions and a metric the respond is fast (10 seconds). But when I query for two of this filtered dimensions and metric the respond take 25 minutes. I checked Essbase app log and found this:
    +[Mon Nov 15 19:56:01 2010]Local/TestSec5/TestSec5/admin/Info(1013091)+
    +Received Command [MdxReport] from user [admin]+
    +[Mon Nov 15 20:28:28 2010]Local/TestSec5/TestSec5/admin/Info(1260039)+
    MaxL DML Execution Elapsed Time : [1947.18] seconds
    When I look the MDX query generated by OBI I see that the aggregation process is doing in the fly in the members filtered of the crossjoin of two dimensions:
    With
    set [CATALOGO_INSTITUCIONAL2] as '[CATALOGO_INSTITUCIONAL].Generations(2).members'
    set [CATALOGO_PRESUPUESTARIO2] as '[CATALOGO_PRESUPUESTARIO].Generations(2).members'
    *member [METRICAS_PRESUPUESTARIAS].[MS1] as 'AGGREGATE(filter(crossjoin (Descendants([CATALOGO_INSTITUCIONAL].currentmember,[CATALOGO_INSTITUCIONAL].Generations(7)),Descendants([CATALOGO_PRESUPUESTARIO].currentmember,[CATALOGO_PRESUPUESTARIO].Generations(7))),(([CATALOGO_INSTITUCIONAL].CurrentMember.MEMBER_ALIAS = "01.01" OR [CATALOGO_INSTITUCIONAL].CurrentMember.MEMBER_Name = "01.01")) AND (([CATALOGO_PRESUPUESTARIO].CurrentMember.MEMBER_ALIAS = "G" OR [CATALOGO_PRESUPUESTARIO].CurrentMember.MEMBER_Name = "G") OR ([CATALOGO_PRESUPUESTARIO].CurrentMember.MEMBER_ALIAS = "I0101" OR [CATALOGO_PRESUPUESTARIO].CurrentMember.MEMBER_Name = "I0101") OR ([CATALOGO_PRESUPUESTARIO].CurrentMember.MEMBER_ALIAS = "S01" OR [CATALOGO_PRESUPUESTARIO].CurrentMember.MEMBER_Name = "S01"))),METRICAS_PRESUPUESTARIAS.[Compromiso])', SOLVE_ORDER = 100*
    select
    { [METRICAS_PRESUPUESTARIAS].[MS1]
    } on columns,
    NON EMPTY {crossjoin ({[CATALOGO_INSTITUCIONAL2]},{[CATALOGO_PRESUPUESTARIO2]})} properties ANCESTOR_NAMES, GEN_NUMBER on rows
    from [TestSec5.TestSec5]
    Can somebody tell me if is possible to change the way in that OBI built the query or if is possible to use aggregations previously materialized of essbase?

    hi Amol,
    1. On what basis , did you estimate your cube to around 400GB to 600GB.
    2. If ASO is an option, its huge advantage lies in space, its does not take more space , unlike BSO.
    3. I have seen cubes ,who size was around 300-400GB in BSO,when made the same cube into ASO , its consumed space of 40GB-45GB.
    HOpe this helps
    Sandeep Reddy Enti
    HCC
    http://hyperionconsutlancy.com/

  • MDX Query Syntax error

    I have a simple MDX query is shown in below:
    SELECT [Accounts].[pv] ON ROWS,
    [Reporting].Members ON COLUMNS
    FROM RoggeBSO.Db
    (please note that Accounts, pv and Reporting words are in square brackets)
    When I execute this query on the MDX Script Editor (in EAS), I get the following syntax error:
    Statement Executed with warnings.
    Syntax error in input MDX Query on line 1 at token 'ON'
    Unexpected Essbase error 1260052
    I tried this on both ASO & BSO cubes but didn't work. Could anyone help please?
    Regards
    Chandra
    Edited by: user2695091 on 22-Apr-2009 03:27

    SELECT {[Accounts].[pv]} ON ROWS,
    {[Reporting].Members} ON COLUMNS
    FROM RoggeBSO.Db

  • MDX Query Editable in BO 3.0?

    Hello, everyone,
    We are building BObj Universes in Version 3.0 against SAP BEx Queries. We have installed the "flattening error" service packs on the BW side, and have read and worked through the forum posts.  Our issue is creating objects in the Universe, with the guidelines outlined by Didier in "OLAP universes best practices" document.
    We can create simple objects in the Universe, but when we try to add the MDX functions to perform a rolling aggregate across time (the last 12 fiscal periods) or to find the corresponding value for the same period for one year ago, we get an error in the report.
    So, we have a couple of questions:
    1. Is there anyplace to see / edit the MDX query, like can be done in a relational universe?
    2. Where exactly in the Universe does the syntax outlined in Didier's Best Practice document go? We have tried in the Universe object definition, but cannot see anywhere else to place the syntax.
    Thanks for any assistance!
    Regards,
    Judy

    Hi Judy,
    Here is an example  of YTD on previous member:
    <EXPRESSION> SUM(YTD([0CALMONTH].PrevMember), [Measures].[4OHSNHMBZDWBV5J6NOYCWXZXV]) </EXPRESSION>
    You can also use MDX expression such as PERIOSDTODATE or PARALLELPERIOD for returning the value of a n previous member at a given level.
    Example, measure for the 3rd previous member at any level:
    <EXPRESSION> ( [Measures].[4OHSNHMBZDWBV5J6NOYCWXZXV], PARALLELPERIOD( [0CALMONTH].currentmember.level, 3, [0CALMONTH].currentmember)   ) </EXPRESSION>
    Example, YTD with parallelperiod:
    <EXPRESSION> SUM(YTD( PARALLELPERIOD( [0CALMONTH].currentmember.level, 1, [0CALMONTH].currentmember)  ), [Measures].[4OHSNHMBZDWBV5J6NOYCWXZXV]) </EXPRESSION>
    Please have a look on the Microsoft documentation for parallelperiod:[http://technet.microsoft.com/en-us/library/ms145500.aspx]
    Best regards
    Didier

  • MDX Query: Equivalent of SQL's "IN" clause

    Hi,
    In SQL, we have an option of viewing data of multiple members by specifying IN as follows:
    SELECT column1 from TABLE WHERE
    column2 in ('value1','value2');
    Is there any equivalent of that in MDX?
    Let's say my outline is like this:
    --Products (Standard Dimension)
    |_____Computers (+)
    |_____ Televisions (+)
    |_____Others (+)
    --Regions (Standard Dimension)
    |_____North(+)
    |_____ South (+)
    |_____East(+)
    |_____West(+)
    --Measures (Accounts Dimension)
    |_____Estimate Sales
    |_____Actual Sales
    I would like to answer this question:
    What is the actual sales and estimate sales of each product in "North" and "East" regions?
    If the region constraint is not there, the MDX query would be:
    SELECT Products.Members on Rows
    {[Estimate Sales], [Actual Sales]} on Columns
    from appName.dbName
    How do I modify this query to include only North and East regions, and still selecting product on rows?
    Thanks in advance.
    Regards,
    Vivek Ganesan

    Just add a where condition:
    WHERE
    ({[Regions].[North], [Regions].[East})
    for more info:
    Member range specification:
    http://docs.oracle.com/cd/E12825_01/epm.111/esb_techref/mdx_memberrange.htm
    Slicer specification:
    http://docs.oracle.com/cd/E12825_01/epm.111/esb_techref/mdx_slicer_spec.htm
    Hope this helps

  • OBIEE - ESSBASE   ERROR - 1200467 - Error executing formula for [MDX query]

    I have an issue on essbase with a query with 50 member filters.
    The environment is OBIEE 11g over ESSBASE 11.1.2 with an ASO cube.
    The user for essbase are with database access filters.
    I have the following issue, OBIEE returns a query that filter 30 members and the query runs ok, but the same query with a 50 member filter returns the following error when i execute it on MAXL :
    MAXL Error
    ERROR - 1200467 - Error executing formula for [MDX query]: status code [1130203] in function [].
    ERROR - 1241101 - Unexpected Essbase error 1200467.
    i paste an example of the query that returns OBIEE
    With
    set [_Account2] as '{Distinct({[Account].[Allocated FTE - Budget]})}'
    set [_Employee0] as '[Employee].members'
    set [_Fund4] as 'Generate([Fund].Generations(2).members, Descendants([Fund].currentmember, [Fund].Generations(4), leaves))'
    set [_Position4] as '{Distinct({[Position].[POS111165], [Position].[POS111166], [Position].[POS111167], [Position].[POS111540], [Position].[POS112331], [Position].[POS113201], [Position].[POS113247], [Position].[POS113248], [Position].[POS113540], [Position].[POS113618], [Position].[POS113954], [Position].[POS114109], [Position].[POS114194], [Position].[POS115224], [Position].[POS115912], [Position].[POS115913], [Position].[POS116727], [Position].[POS117229], [Position].[POS117491], [Position].[POS117587], [Position].[POS117610], [Position].[POS117979], [Position].[POS119456], [Position].[POS121262], [Position].[POS121458], [Position].[POS121698], [Position].[POS123368], [Position].[POS124027], [Position].[POS124028], [Position].[POS124110], [Position].[POS124396], [Position].[POS125623], [Position].[POS125624], [Position].[POS126476], [Position].[POS127960], [Position].[POS129352], [Position].[POS129468], [Position].[POS129494], [Position].[POS129535], [Position].[POS129608], [Position].[POS129679], [Position].[POS129730], [Position].[POS129905], [Position].[POS130010], [Position].[POS130144], [Position].[POS133456], [Position].[POS134943], [Position].[POS135231], [Position].[POS135404], [Position].[POS135734]})}'
    set [_Program3] as 'Generate([Program].Generations(2).members, Descendants([Program].currentmember, [Program].Generations(3), leaves))'
    select
    { [Budget Item]
    } on columns,
    NON EMPTY {crossjoin({[_Account2]},crossjoin({[_Employee0]},crossjoin({[_Fund4]},crossjoin({[_Position4]},{[_Program3]}))))} properties GEN_NUMBER, [Account].[MEMBER_UNIQUE_NAME], [Account].[Memnor], [Program].[MEMBER_UNIQUE_NAME], [Program].[Memnor], [Employee].[MEMBER_UNIQUE_NAME], [Employee].[Memnor], [Fund].[MEMBER_UNIQUE_NAME], [Fund].[Memnor], [Position].[MEMBER_UNIQUE_NAME], [Position].[Memnor] on rows
    from [BCPSASO2.BCPS_ASO]
    any suggestions ?
    Thanks
    Niko
    Edited by: user8367101 on Mar 1, 2011 10:31 AM

    Here it is:
    It is a Windows Server 2003 R2
    Processor 8393 SE
    31.9 GB of RAM
    32-Bit
    How does "memscaling" works?
    I also think that are high but it is the way it was configured before I managed the application. For my DB
    Index Cache setting: 205800
    Index cache current value: 205800
    Data file cache setting: 33768
    Data file cache current: 0
    Data Cache setting: 877273
    Cata cache current: 71540
    Block Size: 65408

  • Writing MDX query???

    Hi All,
    I have to write one MDX query for the below general formula.
    For Year = 2011
    If TotalPolicyCount > 0 Then
    (TotalePolicyCount / TotalPolicyCount) * 100
    Else
    0
    For Year = 2010
    If TotalPolicyCount > 0 Then
    Avg (TotalePolicyCount / TotalPolicyCount) * 100
    Else
    0
    For Year = 2009
    0
    Can you please let me know how to write MDX.
    Thanks,
    Prathap

    This will give you some idea
    Re: Writing formula in Outline??????
    Regards,
    RSG

  • Filters not getting passed in MDX query while using SAP BW with OBIEE

    Hello,
    I've been working on OBIEE with SAP BW as back-end. I've created some reports & those are working fine when there is less amount of data. But when I try to run a report with 3 dimensions & 1 fact it throws an error saying "No more storage space available for extending an internal table". When I checked MDX query, I found that the filters that I had applied to request & also selected from prompts are not getting passed in that query. So, I tried running a simple request using a simple filter in Answers. Although this request returns results but I can't see filter conditions in query. MDX query always show crossjoin but I can't see filter conditions anywhere.
    Is it the normal OBIEE behaviour OR am I doing something wrong in there? Can you please help me out with this?
    Thanks,
    Rocky

    Hello Sainath,
    We tried those things. But it is still giving same error.
    State: HY00. Code: 10058. [NQODBC][SQL_STATE:HY000][nQSError: 10058] A general error has occurred. XML/A error returned from the server: Fault code: "XMLAnalysisError.0X80000005". Fault string: "The XML for Analysis provider encountered an error: MDX result contains too many cells (more than 1 million)". (HY000)
    The problem here, I think, is the filter parameters are not getting passed in the MDX query. Any idea why would that happen? Is there any setting to do so?
    Thanks in advance for help.
    Regards,
    Rocky

  • Need help in MDX query

    Hi All 
    I am new to MDX language and need a MDX functions/query on the cube to get the required output, Given below is the scenario with the data. 
    I am maintaining the data in a table in dataMart with given structure. We have the data at day and weekly in a single table with granularity indicator and count is the measure group column. While loading the data in to mart table we are populaiting the week
    Key from week table and Month key from month table and joining in the cube.
    we need to calculate the inventory for a particular month. If a user selects a particular month the output would be count = 30 as  a measure called Closed and count = 16 as a measure value called Open.
    Need a MDX query to get output.
    Granularity  Count WeekKey MonthKey
    Weekly 16
    W1 M1
    Weekly 17
    W1 M1
    Weekly 18
    w1 M1
    Weekly 19
    W1 M1
    Weekly 20
    W1 M1
    Weekly 21
    W1 M1
    Weekly 22
    W1 M1
    Weekly 23
    w2 M1
    Weekly 24
    w2 M1
    Weekly 25
    w2 M1
    Weekly 26
    w2 M1
    Weekly 27
    w2 M1
    Weekly 28
    w2 M1
    Weekly 29
    w2 M1
    Weekly 30
    w2 M1
    Weekly 16
    w3 M1
    Weekly 17
    w3 M1
    Weekly 18
    w3 M1
    Weekly 19
    w3 M1
    Weekly 20
    w3 M1
    Weekly 21
    w3 M1
    Weekly 22
    w3 M1
    Weekly 23
    w4 M1
    Weekly 24
    w4 M1
    Weekly 25
    w4 M1
    Weekly 26
    w4 M1
    Weekly 27
    w4 M1
    Weekly 28
    w4 M1
    Weekly 29
    w4 M1
    Weekly 30
    w4 M1
    Thanks in advance

    Hi Venkatesh,
    According to your description, you need to count the members with conditions in a particular month, right?
    In MDX, we can achieve the requirement by using Count and Filter function, I have tested it on AdventureWorks cube, the sample query below is for you reference.
    with member [ConditionalCount]
    as
    count(filter([Date].[Calendar].[Month].&[2008]&[2].children,[Measures].[Internet Order Count]>50))
    select {[Measures].[Internet Order Count],[ConditionalCount]} on 0,
    [Date].[Calendar].[Date].members on 1
    from
    (select [Date].[Calendar].[Month].&[2008]&[2] on 0 from
    [Adventure Works]
    Reference
    http://msdn.microsoft.com/en-us/library/ms144823.aspx
    http://msdn.microsoft.com/en-us/library/ms146037.aspx
    If this is not what you want, please elaborate your requirement, such as the detail structure of your cube, so that we can make further analysis.
    Regards,
    Charlie Liao
    TechNet Community Support

  • SSRS report with tabular model – MDX query CoalesceEmpty function does not return the provided string value

    Hello everyone,
    I created following calculated member in MDX query. I am using it in one of the report parameter in dataset (single select dropdown list as report parameter).
    WITH MEMBER [Measures].[ParameterCaption] AS
    CoalesceEmpty([Customer].[National Account Code].CURRENTMEMBER.MEMBER_CAPTION,'None')
    I would like to display 'None' text at the top of the dropdown list values. So that when user selects 'None' then this parameter will not considered in MDX query else the selected National Account Code will be considered to filter report data. But,
    the above return blank/empty value for  [Customer].[National Account Code].&  member though I specified 'None' as text in CoalesceEmpty function. Any advice would be appreciated.
    Thanks, Ankit Shah
    Inkey Solutions, India.
    Microsoft Certified Business Management Solutions Professionals
    http://www.inkeysolutions.com/MicrosoftDynamicsCRM.html

    Hi Ankit,
    It seems that you issue had been solved in your another thread.
    http://social.msdn.microsoft.com/Forums/sqlserver/en-US/5a5becac-226f-428a-95b0-aaaa22733818/ssrs-report-with-tabular-model-create-a-dropdown-report-parameter-with-none-option-as-the-top?forum=sqlanalysisservices#0e51bf8c-a66c-4df5-a244-0147728fdfdb
    iif([Customer].[National Account Code].CURRENTMEMBER.MEMBER_CAPTION="","None",[Customer].[National
    Account Code].CURRENTMEMBER.MEMBER_CAPTION)
    I marked this reply as answer, it will benefit to other members who have the similar issue.
    Regards,
    Charlie Liao
    TechNet Community Support

  • SSRS report with cube – MDX query how to get an extra row with value '0'.

    Hello everyone,
    I'm unable to write the MDX query to get '0' value as first row in output. Following is my MDX query:
    WITH MEMBER [Measures].[Dummy] AS   '0'
    SELECT NON EMPTY Union( {[Measures].[Amount] },{[Measures].[Dummy]}) ON COLUMNS,
    NON EMPTY  { ([Customer].[Customer Nbr].[Customer Nbr].ALLMEMBERS * [Fiscal].[Year].[Year].ALLMEMBERS ) }
    having  [Measures].[Amount] > 5000
    ON ROWS FROM [cube]
    With above query, the output returns the value '0' as a separate column.
    I would like to get it in form of first row for [Measures].[Amount]. Like,
    Amount
    0
    500
    200
    100
    What needs to be changed to achieve the above result? I'm planning to use the above value in line chart to start the line from 0th value as described in following URL. (Note: The below URL is using SQL query and not MDX expressions.)
    http://spinerain.blogspot.in/2013/09/ssrs-line-chart-create-stacked-line-and.html
    Thanks, Ankit Shah
    Inkey Solutions, India.
    Microsoft Certified Business Management Solutions Professionals
    http://www.inkeysolutions.com/MicrosoftDynamicsCRM.html

    The round brackets in your expression are forcing an implicit crossjoin between the 3 lines. I would do the following which creates a set of the DummyYear plus the real year members and then crossjoin that with the customer set.
    WITH MEMBER [Fiscal].[Year].DummyYear AS   '0'
    SELECT NON EMPTY {[Measures].[Amount]} ON COLUMNS,
     NON EMPTY  {[Fiscal].[Year].DummyYear,
         [Fiscal].[Year].[Year].MEMBERS} *
                [Customer].[Customer Nbr].[Customer Nbr].MEMBERS
     having  [Measures].[Amount] > 5000
    ON ROWS FROM [cube]
    http://darren.gosbell.com - please mark correct answers

  • 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

Maybe you are looking for