在SSAS Cube Designer的Calculations选项卡中为计算度量添加WHERE条件
解答
你尝试的写法[Measures].[Total Hours] & ([Measures].[Status Flag] = 'YES')是不正确的:MDX 中&运算符用于成员键引用,没有直接拼接过滤条件的作用,该写法会直接触发语法错误。
你可以按照以下两种场景选择合适的实现方案:
场景1:[Status Flag] 是度量
需要配合IIF或者Filter函数实现条件过滤:
- 单粒度条件判断写法(适合不需要跨行汇总的场景)
IIF( [Measures].[Status Flag] = 'YES', [Measures].[Total Hours], NULL )
- 汇总场景写法
SUM( Filter( // 替换为你实际的事实行维度成员集合,例如 [Fact Table].[Row ID].[Row ID].Members [事实表对应维度].[行级成员].Members, [Measures].[Status Flag] = 'YES' ), [Measures].[Total Hours] )
场景2:[Status Flag] 是维度属性
写法更简单,直接构造元组即可:
([Status 维度].[Status Flag].&[YES], [Measures].[Total Hours])
内容的提问来源于stack exchange,提问作者SQLNEWBIE
相关产品推荐
相关产品推荐

