假设我有一个这样的 MDX 查询:
SELECT Measure1, Measure2, Measure3 ON COLUMNS
[Region].[Region].[Region] ON ROWS
FROM TheCube
如果我想排除所有三个度量都为空的行,我会使用 SELECT NON EMPTY,它工作得很快。但我实际上需要排除 Measure1 和 Measure2 都为空的行,即使 Measure3 有一个值 - 因为在这个特定的多维数据集中 Measure3 总是有一个值,所以 NON EMPTY 根本没有效果。
我可以做
SELECT Measure1, Measure2, Measure3 ON COLUMNS
FILTER ([Region].[Region].[Region],
NOT (IsEmpty(Measure1) AND IsEmpty(Measure2)) ON ROWS
FROM TheCube
它甚至可以工作,但它需要永远:比上面的 NON EMPTY 查询长一个数量级。事实上,即使我通过一个始终为真的表达式进行过滤,例如 FILTER(..., 1=1),它也需要很多时间。
有没有更有效的方法来过滤掉 Measure1 和 Measure2 都为空的行?