2016-02-26 34 views
0

我有一個MDX腳本,例如;無論選擇器如何,MDX計算的成員

select NON EMPTY {[Measures].[Miktar Kg]} ON COLUMNS , NON EMPTY [DimSalesRepView].[SalesRepName].[SalesRepName]* [DimDateView].[MonthOfYear].[MonthOfYear] ON ROWS FROM (SELECT ([DimDateView].[Year].&[2016]}) ON COLUMNS FROM (SELECT ([DimCompanyView].[CompanyKey].&[smr]) ON COLUMNS FROM [Model]))

,我可以得到想要的結果。我想要實現的是定義另一個計算的Measure,它將顯示[Miktar Kg]的所有時間,而不管選擇器如何,濾波器等。

- - Miktar Kg AllTimesMiktarKg SELIM 1 8089259 27499099 SELIM 2 2591473 27499099 YASAR 1 11384002 27499099 YASAR 2 5434365 27499099

我必須在腳本中做到這一點,而不是在立方體。

謝謝。

回答

1

您可以或許只需添加一個元組All這將添加行:

SELECT 
    NON EMPTY 
    {[Measures].[Miktar Kg]} ON COLUMNS 
,NON EMPTY 
    { 
     [DimSalesRepView].[SalesRepName].[SalesRepName] 
     * 
     [DimDateView].[MonthOfYear].[MonthOfYear] 
    ,(
     [DimSalesRepView].[SalesRepName].[All] 
     ,[DimDateView].[MonthOfYear].[All] 
    ) 
    } ON ROWS 
FROM 
(
    SELECT 
    [DimDateView].[Year].&[2016] ON 0 
    FROM 
    (
    SELECT 
     [DimCompanyView].[CompanyKey].&[smr] ON 0 
    FROM [Model] 
) 
); 

要爲總添加一列,你需要使用WITH條款進行計算的成員:

WITH MEMBER [Measures].[AllTimesMiktarKg] AS 
     (
     [DimSalesRepView].[SalesRepName].[All] 
     ,[DimDateView].[MonthOfYear].[All] 
     ,[Measures].[Miktar Kg] 
    ) 
SELECT 
    NON EMPTY 
    { 
     [Measures].[Miktar Kg] 
    ,[Measures].[AllTimesMiktarKg] 
    } ON 0 
,NON EMPTY 
     [DimSalesRepView].[SalesRepName].[SalesRepName] 
     * [DimDateView].[MonthOfYear].[MonthOfYear] 
    ON 1 
FROM 
(
    SELECT 
    [DimDateView].[Year].&[2016] ON 0 
    FROM 
    (
    SELECT 
     [DimCompanyView].[CompanyKey].&[smr] ON 0 
    FROM [Model] 
) 
);