Question

from some reasons I need to insert an artificial(dummy) column into a mdx expression. (the reason is that i need to obtain a query with specific number of columns )

to ilustrate, this is my sample query:

SELECT {[Measures].[AFR],[Measures].[IB],[Measures].[IC All],[Measures].[IC_without_material],[Measures].[Nonconformance_PO],[Measures].[Nonconformance_GPT],[Measures].[PM_GPT_Weighted_Targets],[Measures].[PM_PO_Weighted_Targets], [Measures].[AVG_LC_Costs],[Measures].[AVG_MC_Costs]}    ON COLUMNS,
([dim_ProductModel].[PLA].&[SME])
*  ORDER(  {([dim_ProductModel].[Warranty Group].children)} , ([Measures].[Nonconformance_GPT],[Dim_Date].[Date Full].&[2014-01-01]) ,desc)   
* ([dim_ProductModel].[PLA Text].members  - [dim_ProductModel].[PLA Text].[All]) 
* {[Dim_Date].[Date Full].&[2013-01-01]:[Dim_Date].[Date Full].&[2014-01-01]} ON ROWS
FROM [cub_dashboard_spares]

it is not very important, just some measures and crossjoined dimensions. Now I would need to add f.e. 2 extra columns, I don't care whether this would be a measure with null/0 values or another crossjoined dimension. Can I do this in some easy way without inserting any data into my cube?

In sql I can just write Select 0 or select "dummy1", but here it is not possible neither in ON ROWS nor in ON COLUMNS part of the query.

Thank you very much for your help,

Regards,

Peter

ps: so far I could just insert some measure more times, but I am interested whether there is a possibility to insert really "dummy" column

Was it helpful?

Solution

Your query just has the measures dimension on columns. The easiest way to extend it by some columns would be to repeat the last measure as many times that you get the correct number of columns.

Another possibility, which may be more efficient in case the last measure is complex to calculate would be to use

WITH member Measures.dummy as NULL
SELECT {[Measures].[AFR],[Measures].[IB],[Measures].[IC All],[Measures].[IC_without_material],[Measures].[Nonconformance_PO],[Measures].[Nonconformance_GPT],[Measures].[PM_GPT_Weighted_Targets],[Measures].[PM_PO_Weighted_Targets], [Measures].[AVG_LC_Costs],[Measures].[AVG_MC_Costs],
Measures.dummy, Measures.dummy, Measures.dummy
}
ON COLUMNS,

([dim_ProductModel].[PLA].&[SME])
*  ORDER(  {([dim_ProductModel].[Warranty Group].children)} , ([Measures].[Nonconformance_GPT],[Dim_Date].[Date Full].&[2014-01-01]) ,desc)   
* ([dim_ProductModel].[PLA Text].members  - [dim_ProductModel].[PLA Text].[All]) 
* {[Dim_Date].[Date Full].&[2013-01-01]:[Dim_Date].[Date Full].&[2014-01-01]}
ON ROWS

FROM [cub_dashboard_spares]

i. e. adding a dummy measure that should not need much computation as many times as you need it to the end of the columns.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top