0

如果有更好的方法来编写 MDX

SELECT {         [Measures].[Label], 
        NonEmpty [Measures].[UniqueName],
        NonEmpty [Measures].[TargetName],
                 [Measures].[Place]
        } ON COLUMNS ,
NON EMPTY 
      [Geography].[Country].ALLMEMBERS ON ROWS FROM [Adventure Works]

我只想为少数度量添加非空值,这取决于一个维度,例如 [Street Dimension].[street].[street name]="abcd"。我也可以,但只有在街道名称匹配时才检查街道名称并添加非空的任何条件。

4

1 回答 1

1

更像这样:

SELECT {[Measures].[Label], 
        [Measures].[UniqueName],
        [Measures].[TargetName],
        [Measures].[Place]} ON COLUMNS ,
      nonempty(
      nonempty(
        [Geography].[Country].ALLMEMBERS
        ,[Measures].[UniqueName])
        ,[Measures].[TargetName]
      ) 
ON ROWS 
FROM [Adventure Works]

要将NonEmpty函数指向街道层次结构的特定成员,您可以使用元组作为 each 的第二个参数NonEmpty

SELECT 
    {
      [Measures].[Label], 
      [Measures].[UniqueName],
      [Measures].[TargetName],
      [Measures].[Place]
    } ON COLUMNS,
      NonEmpty(
          NonEmpty(
            [Geography].[Country].ALLMEMBERS
            ,(
              [Measures].[UniqueName]
             ,[Street Dimension].[street].[street name].[abcd]
             )
          )
        ,(
          [Measures].[TargetName]
         ,[Street Dimension].[street].[street name].[abcd]
         )
      ) 
  ON ROWS 
FROM [Adventure Works];
于 2015-08-12T17:30:51.003 回答