MDX conversion

Hi,
Could any one explain conversion of this calculation script into MDX?
If (@IsLev("Entity",0))
     "Total (e.)"="Total (e)"->@PARENT("Entity")->"Total Products"->"Total Customers"->"Total Vehicles";
EndIf
Thanks in advance.
CG Reddy.

Hi,
I'm assuming that you're working on a ASO Cube.
I'm going to divide the question into two parts.
1)When IF statement is True.
Essbase BSO Calc :-
IF (@ISLEV(BCK,0) and @ISLEV(LTV,0) and @ISLEV(MOB,0) and @ISLEV(SCR,0) and @ISLEV("Total Product",0) and @ISLEV("ClassID",0) and @ISLEV("Status",0))
C_ENR_BAL+C_BSL_CCF_FNL*C_TOT_UNUSD;
ASO:-
In ASO cube there are no calc scripts only MDX,so you have to create a member to store the Calculated value.
Put this formula on that member.
*Case when ISLEAF([BCK].CurrentMember) and ISleaf([LTV].currentmember) and ISleaf([MOB].currentmember) and ISleaf([SCR].currentmember) and @ISleaf([Total Product].Currentmember) and @ISleaf([ClassID].Currentmember) and @ISleaf([Status].Currentmember)*
then
[C_ENR_BAL]+[C_BSL_CCF_FNL]*[C_TOT_UNUSD]
End
Coming to the 2nd part :-
ELSE
@SUM (@CHILDREN (@CURRMBR (BCK)));
@SUM (@CHILDREN (@CURRMBR (LTV)));
@SUM (@CHILDREN (@CURRMBR (MOB)));
@SUM (@CHILDREN (@CURRMBR (SCR)));
@SUM (@CHILDREN (@CURRMBR ("Total Product")));
@SUM (@CHILDREN (@CURRMBR ("ClassID")));
@SUM (@CHILDREN (@CURRMBR ("Status")));
I think in the else part,your are trying to roll up the data to the dimensional level.
If this is true then you don’t have to aggregate ASO cube, it is done automatically.Practically speaking you really don't need the else part.
Regards,
RSG
Edited by: RSG on Mar 20, 2013 7:35 PM

Similar Messages

  • 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

  • MDX to DAX Conversion - Data Mismatch

    Hi,
    I’m pulling data from a Tabular cube, for the given time period as filter. When I run an mdx query, it pulls around 9 million records in more than 6 hours. Since I need to run it frequently and quickly so I’ve converted the MDX to DAX (below). DAX
    is executing much faster (20 minutes) than the MDX but results between two approaches are not the same and I’m struggling hard to find why!
    All the dimensions used inside SUMMARIZE clause are having a relationship with Primary Dimension/TableName. High level observations:
    Number of Records are different between the result set of DAX & MDX.
    Sum of each measures(DAX) differ from the sum of their corresponding measures(MDX)
    DAX results have no rows where all the measures have zero values, whereas the MDX results has.
    DAX omits many of the rows where all the measures have zero values except one. It appears that due to the omission of these kind of records, we have the data mismatch but reason for
    omission is unknown.
    Any help will be appreciated!!
    MDX
    SELECT NON EMPTY {
    [Measures].[Calculated Measure 1],
    [Measures].[Calculated Measure 2],
    [Measures].[Calculated Measure 8]
                    } ON COLUMNS,
                    NON EMPTY
      [Dimension1].[DimAttribute1].children
    , [Dimension2].[DimAttribute1].children
    , [Dimension2].[DimAttribute2].children
    , [Dimension10].[DimAttribute1].children
                    ) } ON ROWS
                    FROM (SELECT ([Time].[Fiscal Month].&[May, 2014) ON COLUMNS
                    FROM [Cube Name]
                    WHERE (Filter Condition)
    Converted DAX
    EVALUATE(CALCULATETABLE(ADDCOLUMNS(SUMMARIZE(
    PrimaryDimension/PrimaryTableName
    ,Dimension1[Attribute1]
    ,Dimension2[Attribute1]
    ,Dimension2[Attribute2]
    ,Dimension10[Attribute1]                                           
    MeasureGroup1.[Calculated Measure 1],
    MeasureGroup2.[Calculated Measure 2],                                            
    MeasureGroup4.[Calculated Measure 8]
                                    ,Time[Fiscal Month] = "May, 2014"
                                    ,Filter Condition               
    Thanks,
    Amit

    Amit, the two queries are not semantically equivalent.
    SUMMARIZE returns rows that have at least one row in the table you pass as a first argument for the given combination of columns you pass in the following arguments (think to a SELECT DISTINCT for all the columns you include, with an INNER JOIN between all
    the tables included by the colulmns you specified in the following arguments). You can read more about this here:
    http://www.sqlbi.com/articles/from-sql-to-dax-projection/
    The MDX query returns any existing combination of the cartesian product of the columns you included, and depending on the measures you include, you might see data also for combinations of column values that don't exist in the original source.
    The reason why you have a slow MDX is probably because of the cost of non empty evaluation for certain measures. The solution is probably to optimize the DAX code you are using in Tabular.
    The equivalent DAX statement should be something like
    EVALUATE
    ADDCOLUMNS (
        FILTER (
            CROSSJOIN (
                VALUES ( table1[columnA] ),
                VALUES ( table2[columnB] )
            [Measure] <> 0
        "Measure", [Measure]
    But don't expect better performance comparing this to MDX. Only when you can make assumptions that allow you using SUMMARIZE you might see performance benefits, but if these assumptions are not correct, you can get different results (as you experienced).
    Marco Russo (Blog,
    Twitter,
    LinkedIn) - sqlbi.com:
    Articles, Videos,
    Tools, Consultancy,
    Training
    Format with DAX Formatter and design with
    DAX Patterns. Learn
    Power Pivot and SSAS Tabular.

  • MDX syntax conversion

    does anyone have an idea how to convert this MDX statement:
    ALTER CUBE cubeName
    DROP DIMENSION MEMBER memberName
    [WITH DESCENDANTS]
    I got this from the SQL Server Analysis Services 2005, I couldn't find a similar to this in Essbase technical reference.
    Thank you

    You won't find a comparison. Essbase's use of MDX is not as robust as Analysis Services.
    Remember MDX is a Microsoft language and Hyperion adopted it later on. Over time perhaps they will increase the functionality but for now it does query related functions, it does not impact the outline or security as it does in MSAS.

  • 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,
    Jonathan

    oops 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

  • 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-&gt;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 PM

    Have 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

  • *Currency Conversion created in BW BEX query not working in BO report:*

    Hi,
    We have created a key figure with currency conversion and working fine in BEX when I execute that query.
    But when created a BO universe and WEBI report on that query, I am getting following error.
    "MDX query failed to execute with Error".
    Can anyone please help.
    Thanks
    Dhana

    Hi
    Thanks. But new problem.
    When I pulled OCURRENCY to free area now it is working in BO also.
    But now another problem is --> for Currency translation am getting prompt in BO also to select target currency. There , all values (all currency types) are not displayed , only USD is coming. WEBI report is fine for USD conversion.
    But when I want to convert into AUD , its not there in LOVs .
    Some time back this problem exists in Bex also, but when we changed cube level setting as below:
    Infocube : display-> OCURRENCY right click and go to "provider specific properties"..and then
    go to "object specific properties "  and then for "Query Exec Filter Val" selected "M Values in Master data table".
    Now when executing query in Bex for target currency selection values it is taking from master data and displaying all types like USD, AUD, INR ..etc. in drop down list.
    Now created new BO universe and new WEBI report but only USD is coming in selection LOVs not all types.
    Please help us.
    Thanks
    Dhana.

  • MDX remove leading zeros

    Hi,
    We have a third party tool that extracts data from a BW query using MDX. One of the characteristics that should be extracted is Called CCRGID. The Infoobject CCRGID is a CHAR 10 infoobject with Conversion routine ALPHA on it so if we have a value loaded to bw like '123456' it will be stored in BW as '0000123456' even if the Bex reports shows it as '123456'. The target system needs to get the CRG values without leading zeros so I am trying to create a MDX select statement that removes the leading zeros.
    My statement looks like this today:
    SELECT
      [Measures].MEMBERS ON COLUMNS,
      NON EMPTY [CCRGID].[All].CHILDREN
    PROPERTIES
      [CCRGID].[2CCRGID]
      on rows
    FROM <My Query_ID>
    And it returns something like this:
    CCRGID       KF1         KF2
    0000123456   100 USD   150 USD
    And I would like it to be:
    CCRGID     KF1        KF2
    123456     100 USD   150 USD
    Does anyone out there know how I can re-write the MDX so it removes the leading zeros (or any other soultions that will do the trick)?
    Many thanks,
    Martin

    Try functions mentioned in notes below:
    https://service.sap.com/sap/support/notes/1087077
    https://service.sap.com/sap/support/notes/1147344
    Let me know if it works!

  • MDX result contains too many cells - NUMC 6

    Hi to all.
    I'm using I bex query in order to retrieve the field to my universe.
    I know that when there is an element defined as NUMC (6), some errors may occurs into the MDX extraction (e.g.  MDX result contains too many cells (more than 1 million)).
    Can I set everythink in my BEX query or in my universe definition in order to not change the caratcteristic in my SAP BW system ?
    Indeed I will have some bureaucratic and formal problem to change the sap bw type definition of the caracteristics.
    Thank'you in advance.

    hi Ingo,
    Are you sure ? Indeed when I try to run a query where I have a NUMC6 filed and another field there is the error attached above.
    Instead when I run the same query without the NUMC6 field the query  ends correctly.
    Moreover I see in the "SAP Note 1378064" where I see in the "Reason and Prerequisites": The internal data types are incorrect due to NUMC(6). The conversion to integer is required.
    But I don't know if this conversion is allowed in the Bex Query step or in the universe filed definition.
    Any advice will be accepted !

  • OLAP BAPI - MDX Extension - SAP VARIABLES

    Hello,
    we use OLAP BAPI in oder to run queries angainst BW. Queries are written in MDX using the SAP VARIABLES extension to MDX. When using a variable for characteristic "0MATERIAL", the system returns an error stating that the specified value is not correct with this characteristic (we test our queries using tx "mdxtest"). In fact, the specified value exists for 0MATERIAL. Are there any further restrictions to using the SAP VARIABLES-clause (e.g., ALPHA-conversion exit)?
    Thank you!
    Kind regards,
    Tom

    Hello Rishi,
    thank you for your comment. You are right - the conversion exit is MATN1. In fact it does not work either using a material number in external format or using a material number in internal format. Any further ideas - are there any specifics to MDX using clause SAP VARIABLES?
    Thank you!
    Kind regards,
    Tom

  • 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,
    Guillaume

    Hi 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

  • BICS performance vs. MDX

    Does anyone know what the performance improvement is of using BICS over MDX?  I expect it to be significant.
    Thanks,
    John

    Hi John,
    i'm not sure there is an official benchmark about this however what i heard is that the performance are similar on small result sets (few thousands of rows).
    Moreover the datatype conversion in MDX that can have an impact on performance for large result sets.
    thx,
    Romaric

  • How to Find MDX Query

    Hi,
    I have created a WEBI report on an OLAP universe on top of a BEx query. Is it possible to see the MDX query being generated by my WEBI report? If yes, then could someone please guide me as to how do I see the exact MDX query generated by the report? Thanks!
    Regards,
    - Noman Jaffery

    Hi Ingo,
    Thanks for the answer. We are having an issue and I was wondering if you could shed somelight on this.
    Our WEBI report running on top of an OLAP Universe on BEx query is taking forever to run and in the end does not return any data.
    We are monitoring the query through BW and apparently it is stuck in the step:  CL_RSR_MDX_BXML_FLATTENING.
    Through logging we got the underlying MDX query and ran it in BEx Editor and it ran in seconds. But when the same MDX query in ran in BEx Editor using the XML option, it is stucking on the same step i.e. CL_RSR_MDX_BXML_FLATTENING
    My hunch is that the result is being converted into XML format from MDX native format before it is passed on to InfoView and this conversion/flattening is taking forever. Is it a known issue? Is there any way around? Thanks!
    - Noman Jaffery

  • Exclude members from a scope - MDX SSAS

    Hi all,
    I'm just beginning with MDX so the answer may be obvious...
    I'm trying to do a currency conversion with an MDX statement in my Cube SSAS 2012.
    Here is my script :
           SCOPE( LEAVES([Entity]) );
    SCOPE( LEAVES([Time]) );
    SCOPE( LEAVES([Currency]));
    SCOPE( [Account].[Account].[Total ACCOUNT].members)
    THIS = ([Measures].[Value],[Currency].[Currency].[Local])*([Measures].[Value],[Account].[Account].[Fx Rate]);
    END SCOPE;
    END SCOPE;
    END SCOPE;
    END SCOPE;
    The problem is I want to exclude frome the scope Currency my local Currency in order to make the conversion only if a currency (€,$, £) is selected.
    I tried the following syntax but it always return a "MDX script is not valid" :
    SCOPE( LEAVES([Currency], Except (LEAVES([Currency],[Currency].[Currency].[Local]);
    SCOPE( [Measures].[Value] , Except ([Currency].[Currency].members,[Currency].[Currency].[Local]);
    SCOPE( [Measures].[Value] , Except (LEAVES([Currency],[Currency].[Currency].[Local]);
    SCOPE( LEAVES([Currency] - [Currency].[Currency].[Local]);
    Could you please help me with this ? Thanks.

    Hi MNelane,
    Please try to use the following MDX command:
    Scope( Leaves([Date]) , Except([Currency].[Currency].Members, [Currency].[Currency].[Local));
    For more information about currency conversion in SQL Serve Analysis Services, please refer to the articles below:
    Currency Conversion in SSAS 2012:
    http://social.technet.microsoft.com/wiki/contents/articles/18672.currency-conversion-in-ssas-2012-multidimensional-tabular.aspx
    Currency Conversion in Analysis Services:
    http://consultingblogs.emc.com/christianwade/archive/2006/08/24/Currency-Conversion-in-Analysis-Services-2005.aspx
    Regards,
    Elvis Long
    TechNet Community Support

  • Controlling the MDX constructed by Excel PivotTables

    Running SQL Profiler while refreshing an Excel PivotTable that runs for several minutes revealed how poorly performing the MDX is that Excel is constructing. Can someone answer why the MDX is this poor? Using an example against the Adventure Works database,
    the following query is used to populate a PivotTable.
    SELECT {
    [Measures].[Internet Sales Amount],
    [Measures].[Internet Order Quantity]
    } DIMENSION PROPERTIES
    PARENT_UNIQUE_NAME,
    HIERARCHY_UNIQUE_NAME
    ON COLUMNS ,
    NON EMPTY
    CrossJoin(
    CrossJoin(
    CrossJoin(
    CrossJoin(
    Hierarchize({DrilldownLevel({[Customer].[Customer].[All Customers]},,,INCLUDE_CALC_MEMBERS)}),
    Hierarchize({DrilldownLevel({[Customer].[Country].[All Customers]},,,INCLUDE_CALC_MEMBERS)})
    Hierarchize({DrilldownLevel({[Customer].[State-Province].[All Customers]},,,INCLUDE_CALC_MEMBERS)})
    ), Hierarchize({DrilldownLevel({[Customer].[City].[All Customers]},,,INCLUDE_CALC_MEMBERS)})
    ), Hierarchize({DrilldownLevel({[Customer].[Postal Code].[All Customers]},,,INCLUDE_CALC_MEMBERS)})
    ) DIMENSION PROPERTIES
    PARENT_UNIQUE_NAME,
    HIERARCHY_UNIQUE_NAME,
    [Customer].[State-Province].[State-Province].[Country],
    [Customer].[Postal Code].[Postal Code].[City],
    [Customer].[Customer].[Customer].[Address],
    [Customer].[Customer].[Customer].[Birth Date],
    [Customer].[Customer].[Customer].[Commute Distance],
    [Customer].[Customer].[Customer].[Date of First Purchase],
    [Customer].[Customer].[Customer].[Education],
    [Customer].[Customer].[Customer].[Email Address],
    [Customer].[Customer].[Customer].[Gender],
    [Customer].[Customer].[Customer].[Home Owner],
    [Customer].[Customer].[Customer].[Marital Status],
    [Customer].[Customer].[Customer].[Number of Cars Owned],
    [Customer].[Customer].[Customer].[Number of Children At Home],
    [Customer].[Customer].[Customer].[Occupation],
    [Customer].[Customer].[Customer].[Phone],
    [Customer].[Customer].[Customer].[Postal Code],
    [Customer].[Customer].[Customer].[Total Children],
    [Customer].[Customer].[Customer].[Yearly Income],
    [Customer].[City].[City].[State-Province]
    ON ROWS
    FROM [Adventure Works]
    CELL PROPERTIES
    VALUE,
    FORMAT_STRING,
    LANGUAGE,
    BACK_COLOR,
    FORE_COLOR,
    FONT_FLAGS
    If on the Display tab of the PivotTable Options dialog box, the Show Properties in Tooltips and Show calculated members from OLAP server are unchecked, the query is simplified but still extremely slow.
    SELECT {
    [Measures].[Internet Sales Amount],
    [Measures].[Internet Order Quantity]
    } DIMENSION PROPERTIES
    PARENT_UNIQUE_NAME,
    HIERARCHY_UNIQUE_NAME
    ON COLUMNS ,
    NON EMPTY
    CrossJoin(
    CrossJoin(
    CrossJoin(
    CrossJoin(
    Hierarchize({DrilldownLevel({[Customer].[Customer].[All Customers]})}),
    Hierarchize({DrilldownLevel({[Customer].[Country].[All Customers]})})
    Hierarchize({DrilldownLevel({[Customer].[State-Province].[All Customers]})})
    Hierarchize({DrilldownLevel({[Customer].[City].[All Customers]})})
    Hierarchize({DrilldownLevel({[Customer].[Postal Code].[All Customers]})})
    ) DIMENSION PROPERTIES
    PARENT_UNIQUE_NAME,
    HIERARCHY_UNIQUE_NAME
    ON ROWS
    FROM [Adventure Works]
    CELL PROPERTIES
    VALUE,
    FORMAT_STRING,
    LANGUAGE,
    BACK_COLOR,
    FORE_COLOR,
    FONT_FLAGS
    But that's not the true performance killer. Why is the Hierarchize(DrillDownLevel(......)) construct used? It's crazy stupid. The following query is well over 10 fold faster and it's not even all that good.
    SELECT {
    [Measures].[Internet Sales Amount],
    [Measures].[Internet Order Quantity]
    } DIMENSION PROPERTIES
    PARENT_UNIQUE_NAME,
    HIERARCHY_UNIQUE_NAME
    ON COLUMNS ,
    NON EMPTY
    CrossJoin(
    CrossJoin(
    CrossJoin(
    CrossJoin(
    {[Customer].[Customer].[All Customers].Children},
    {[Customer].[Country].[All Customers].Children}
    {[Customer].[State-Province].[All Customers].Children}
    {[Customer].[City].[All Customers].Children}
    {[Customer].[Postal Code].[All Customers].Children}
    ) DIMENSION PROPERTIES
    PARENT_UNIQUE_NAME,
    HIERARCHY_UNIQUE_NAME
    ON ROWS
    FROM [Adventure Works]
    CELL PROPERTIES
    VALUE,
    FORMAT_STRING,
    LANGUAGE,
    BACK_COLOR,
    FORE_COLOR,
    FONT_FLAGS
    Martin
    &lt;a href=&quot;http://martinsbiblog.spaces.live.com&quot; target=&quot;_blank&quot;&gt;http://martinmason.wordpress.com&lt;/a&gt;

    Thanks to everyone for responding. And yes, Muthukumaran, the actual query I'm using has user hierarchies defined and the attributes associated with a given dimension are adjacent to each other. If the attribute hierarchies are positioned in the order that
    users originally had the PivotTable laid out, the query takes at least 10 times longer. And Christian, been following your blog for a long time, since the currency conversion posts of an eon ago, so I'd seen the reference posted above. As this report is being
    delivered in Excel Services, using VBA isn't an option.
    While Excel 2013 has some tremendous enhancements for querying a multidimensional cube, finally have a GUI to construct calculated members and don't have to rely on OLAP PivotTable Extensions to provide this functionality, as these MDX construction problems
    persist from version to version to version to version, it's been nearly impossible to propose a pure Microsoft BI solution to a perspective client. Yes, we now have Power View, but honestly, put Power View up against Tableau? You're kidding, right? Plus, the
    whole Microsoft BI story from the get-go has been empower information workers with the tools they're familiar with. Seems to me like the entire BI team at Microsoft has their priorities out of whack. Rather than building the next Power Whatever, why don't
    you give us the ability to use QueryTables with custom MDX and wire them together with Slicers. Then, may be then, you'll have a usable BI frontend. Muthukumaran, can you take that to the BI team?
    Fifteen years and Microsoft still has yet to produce a decent BI frontend. Crazy.
    Martin
    &lt;a href=&quot;http://martinsbiblog.spaces.live.com&quot; target=&quot;_blank&quot;&gt;http://martinmason.wordpress.com&lt;/a&gt;

Maybe you are looking for