【问题标题】:Better syntax for MDX更好的 MDX 语法
【发布时间】:2015-08-12 17:14:09
【问题描述】:

如果有更好的方法来编写 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"。 我也可以,但只有在街道名称匹配时才检查街道名称并添加非空的任何条件。

【问题讨论】:

  • 您的查询中没有[Street Dimension].[street].[street name]。您打算将它放在哪里以及如何放置?

标签: mdx mdxstudio mdxclient


【解决方案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 函数指向街道层次结构的特定成员,您可以使用元组作为每个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];

【讨论】:

    猜你喜欢
    • 2012-03-21
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-02
    相关资源
    最近更新 更多