我认为我的问题来自于不理解DAX使用的操作顺序,因为它对我来说非常混乱,但这是我的问题:
我有一个相当简单的查询使用SUMMARIZE,它基本上拉入我想要的字段,然后计算几个指标 - 每个指标都在CALCULATE函数中过滤 . 但我希望排除所有以null值结尾的行,因为该级别没有可用的数据 . 我不在我的电脑上使用代码,或者我会把我所拥有的完全放在这里,但简化版本基本上是这样的:
EVALUATE
FILTER(
SUMMARIZE(
'Fact Table',
FieldTable[Field1],
'Metric1',
CALCULATE(
[MetricA]
FILTER(
'Fact Table'
[MetricA],
[Year] = 2017
)
),
'Metric2',
CALCULATE(
[MetricB]
FILTER(
'Fact Table'
[MetricA],
[Year] = 2016
)
)
),
NOT(ISNULL([Metric1]))
)
希望我做对了 . 我没有DAX工作室在我面前解决我的问题所以可能会有一些小错误,但希望你能得到它的要点 .
问题是这会返回一个空白表 . 如果我拿出SUMMARIZE函数周围的FILTER,那么一切都像我想要的那样,除了它带来了大量的空白行,这就是我想用外面的FILTER消除的 . 有关如何做到这一点的任何想法?
1 回答
我不知道这是否是最佳解决方案,但我找到了解决方案 . 基本上,将0添加到我的度量,然后将过滤器更改为过滤<> 0 .