我正在努力了解 DAX,但遇到了困难。我有一个 PowerBI 矩阵,需要在其中计算度量的平均值。该衡量标准是“人口百分比”,从表面上看,它似乎完全符合预期。
它在两个级别的顶部矩阵中正确计算,并在底部表中正确总结。
作为示例,我用红色突出显示了“A3”的计算顺序
根据记录,人口百分比设置为
人口百分比 = sum(Data[Value])/sum('Level'[Population])
当我过滤国家/地区并仅选择国家/地区 2 时,会出现问题...
国家 2 没有“D13”的数据。尽管值的总和正确 (170),但人口总和包括缺失的 D13 行中的 300 人,总计为 600 人和 28.33% 的“人口百分比”(而不是 170/300 = 57%)
我很高兴关闭顶部网格中的组总计,这样 28.33 就不会显示;所以我真正的问题实际上是底部网格。
我想我需要在底部网格中显示一个新的度量。我认为它只需要对值进行求和并除以总体总和 - 但仅当值存在时。我该怎么做?
或者我完全走错了路,并且我缺少一个明显的答案?
PowerBI 文件可以是 downloaded from here
提前致谢。
最佳答案
发生这种情况的原因是 Country
表不会过滤关系图中的 Level
表,因为它们都只过滤一种数据方式
表并且没有其他关系。
在不更改数据模型的情况下,在 DAX 中解决此问题的一种方法是指定您只想对 Level[LevelId]
与 匹配的
。Population
进行计数当前过滤器上下文中的数据[SecondLevelId]
Population =
DIVIDE (
SUM ( Data[Value] ),
CALCULATE (
SUM ( 'Level'[Population] ),
'Level'[LevelId] IN VALUES ( Data[SecondLevelId] )
)
)
关于powerbi - 对 PowerBI 和 DAX 中缺失数据的度量进行大平均,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57924818/