MDX:显示不存在成员的零数

时间:2013-10-03 16:30:32

标签: mdx iccube

我仍然是MDX的新手,所以这可能是一个简单的问题。

我想做的事情就像看产品的销售收入一样:更具体地说,产品被分类为“类”(类可以是A,B或C),所以我想看看A类产品的销售量,B级等。如果Dimension“Product”具有一个级别为“Class”的层次结构“Classification”,则为简单起见,假设MDX查询如下:

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

问题是,如果没有class ='C'的记录,例如,在Data table Product中,将没有成员'C',对吧?在那种情况下,我想显示零计数。所以,而不是:

    | Sales
  A    1000
  B    200

我想:

    | Sales
  A    1000
  B    200
  C    0

有任何帮助吗? 提前谢谢!

1 个答案:

答案 0 :(得分:1)

  

问题是,如果没有class ='C'的记录,例如,在Data中   表产品,没有会员'C',对吗?

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

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

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]