我仍然是 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
有什么帮助吗?
提前致谢!
最佳答案
由于您的选择不包含 NON EMPTY ... ON ROWS,因此 'C' 应返回一个空单元格作为其 'Sales' 值。您的“客户端”工具可能会忽略它。
您可以做的是使用 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]
关于MDX:显示不存在成员的零计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19164443/