MDX 计算成员与选择器无关

MDX calculated member regardless of selectors

我有一个像这样的 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]))

而且我可以得到想要的结果。我想要实现的是定义另一个计算的度量,它将始终显示 [Miktar Kg],而不管选择器、过滤器等在哪里。喜欢;

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

而且我必须在脚本中执行此操作,而不是在多维数据集中。

谢谢。

您可以只为 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]
  )
);