3

我还是 MDX 的新手,所以也许这将是一个简单的问题。

我想做一些类似按产品查看销售收入的事情:更具体地说,产品被分类为“类”(其中类可以是 A、B 或 C),所以我想查看 A 类产品、B 类的销售额等等。如果维度“产品”有一个层次结构“分类”,级别为“类”,则为简单起见,假设 MDX 查询如下:

SELECT 
[Measures].[Sales] on COLUMNS,
[Product].[Classification].[Class].members on ROWS
FROM [Cube]

问题是,如果没有class='C'的记录,例如在数据表Product中,就不会有成员'C',对吧?在这种情况下,我想显示一个零计数。所以,而不是:

    | Sales
  A    1000
  B    200

我想要:

    | Sales
  A    1000
  B    200
  C    0

有什么帮助吗?提前致谢!

4

1 回答 1

2

问题是,如果没有class='C'的记录,例如在数据表Product中,就不会有成员'C',对吧?

由于您的选择不包含 NON EMPTY ... ON ROWS,因此应返回“C”,并带有一个空单元格作为其“销售”值。您的“客户端”工具可能会忽略它。

您可以做的是使用CoalesceEmpty () 函数定义计算度量,以返回零值而不是空值:

WITH    
   MEMBER [Measures].[Sales - X] as 
            CoalesceEmpty( ( [Measures].[Sales] ).Value, 0 )

SELECT    
    [Measures].[Sales - X] on COLUMNS,  
    [Product].[Classification].[Class].members on ROWS 
FROM [Cube]
于 2013-10-04T00:26:40.053 回答