powerbi - 对 PowerBI 和 DAX 中缺少数据的度量进行大平均
问题描述
我试图让我的头脑围绕 DAX 并且正在苦苦挣扎。我有一个 PowerBI 矩阵,我需要在其中计算一个度量的平均值。衡量标准是“人口百分比”,从表面上看,它似乎完全按预期工作。
它在两个级别的顶部矩阵中正确计算,并在底部表格中正确汇总。
例如,我用红色突出显示“A3”的计算顺序
作为记录,人口百分比设置为
% of Population = sum(Data[Value])/sum('Level'[Population])
当我过滤国家并仅选择国家 2 时会出现问题...
国家 2 没有“D13”的数据。尽管值总和正确 (170),但人口总和包括缺失的 D13 行中的 300,总共 600 和 28.33% 的“人口百分比”(而不是 170 / 300 = 57%)
我很高兴关闭顶部网格中的组总计,这样 28.33 就不会显示;所以我真正的问题实际上是底部网格。
我想我需要一个新的度量来显示在底部网格中。我认为它只需要总结价值并除以人口的总和 - 但只有当价值存在时。我怎么做?
还是我完全走错了路,并且我缺少一个明显的答案?
PowerBI 文件可以从这里下载
提前致谢。
解决方案
发生这种情况的原因是Country
表没有过滤Level
关系图中的表,因为它们都只过滤到Data
表的一种方式,并且没有其他关系。
在不更改数据模型的情况下,在 DAX 中解决此问题的一种方法是指定您只想计算当前过滤器上下文Population
中Level[LevelId]
与 a 匹配的位置。Data[SecondLevelId]
Population =
DIVIDE (
SUM ( Data[Value] ),
CALCULATE (
SUM ( 'Level'[Population] ),
'Level'[LevelId] IN VALUES ( Data[SecondLevelId] )
)
)
推荐阅读
- javascript - 输入框问题在reactjs中,单击光标未指向文本框,双击文本框输入光标即将到来
- c# - FileSystemWatcher File.Copy
- html - XPath如何选择表格行内的特定div
- angular - IE 在 webpack $$_lazy_route_resource 期间冻结
- excel - Excel 公式未应用于某些条目
- python - DatabaseError: 对 sql 对象执行失败': 要执行的第一个参数必须是字符串或 unicode 查询
- r - 使用 data.table 滚动窗口和自联接
- django - 如何使用带有外键的 django api
- http - 如何查看网页在哪个版本的http上运行?
- javascript - 当 api 需要时间(或仍在处理中)时,Angularjs $http.post 得到“net::ERR_EMPTY_RESPONSE”响应