2017-03-24 70 views
2

讓我們先說我是MDX上的新手,我需要將兩個(或更多)查詢結果合併到一個數據透視表中。如何合併具有不同度量和過濾器的兩個MDX查詢結果?

這些查詢在ROWS和COLUMNS上具有相同的尺寸,但具有不同的度量和過濾器(通常爲一段時間)。

下面是一個例子

查詢1:

        CA US 
Regular Sale TransactionValue 761 16 
Regular Sale TransQty   8  233 
Return   TransactionValue 156 4 
Return   TransQty   1  45 

查詢2:

SELECT 
NON EMPTY {{[stores].[storecountry].[storecountry].Members}} ON COLUMNS, 
NON EMPTY {{[SalesTypes].[Description].[Description].Members}} * 
      {[Measures].[DiscountPerc]} ON ROWS 
FROM [Model] 
WHERE ({[dDates].[Date].[Date].&[2015-03-12T00:00:00] : [dDates].[Date].[Date].&[2015-06-02T00:00:00]}) 

查詢2的結果:

SELECT 
NON EMPTY {{[stores].[storecountry].[storecountry].Members}} ON COLUMNS, 
NON EMPTY {{[SalesTypes].[Description].[Description].Members}} * 
      {[Measures].[TransactionValue], [Measures].[TransQty]} ON ROWS 
FROM [Model] 
WHERE ({[dDates].[Date].[Date].&[2016-01-05T00:00:00] : [dDates].[Date].[Date].&[2016-01-12T00:00:00]}) 

查詢1的結果

       CA  US 
Regular Sale DiscountPerc 40 %  59 % 
Return   DiscountPerc 32 %  43 % 

預期結果後合併

        CA  US 
Regular Sale TransactionValue 761  16 
Regular Sale TransQty   8  233 
Regular Sale DiscountPerc  40 %  59 % 
Return   TransactionValue 156  4 
Return   TransQty   1  45 
Return   DiscountPerc  32 %  43 % 

它是可以實現的,而不從調用應用程序手動合併AdomdClient.CellSet?

謝謝!

回答

1

我會使用計算成員:

with 
Member [Measures].[TransactionValueReport] as 
Aggregate(
    {[dDates].[Date].[Date].&[2016-01-05T00:00:00]:[dDates].[Date].[Date].&[2016-01-12T00:00:00]}, 
    [Measures].[TransactionValue] 
) 

Member [Measures].[TransQtyReport] as 
Aggregate(
    {[dDates].[Date].[Date].&[2016-01-05T00:00:00]:[dDates].[Date].[Date].&[2016-01-12T00:00:00]}, 
    [Measures].[TransQty] 
) 

Member [Measures].[DiscountPercReport] as 
Aggregate(
    {[dDates].[Date].[Date].&[2015-03-12T00:00:00]:[dDates].[Date].[Date].&[2015-06-02T00:00:00]}, 
    [Measures].[DiscountPerc] 
) 

Select 
Non Empty [stores].[storecountry].[storecountry].Members on 0, 
Non Empty [SalesTypes].[Description].[Description].Members * {[Measures].[TransactionValueReport],[Measures].[TransQtyReport],[Measures].[DiscountPercReport]} on 1 
From [Model] 
+0

不幸的是,我發現了一個錯誤: – SMarello

+0

更換骨料()的總和(「聚合函數不能在計算成員的度量維度用於」 )如果措施彙總如此。 –

+0

謝謝,這非常有幫助。 – SMarello