【问题标题】:Grand averaging a measure where there is missing data in PowerBI and DAX对 PowerBI 和 DAX 中缺少数据的度量进行大平均
【发布时间】:2020-01-15 09:36:20
【问题描述】:

我正在努力了解 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文件可以是downloaded from here

提前致谢。

【问题讨论】:

    标签: powerbi dax


    【解决方案1】:

    发生这种情况的原因是Country 表没有过滤关系图中的Level 表,因为它们都只过滤到Data 表的一种方式,并且没有其他关系。

    在不更改数据模型的情况下,在 DAX 中解决此问题的一种方法是指定您只想计算 Population,其中 Level[LevelId] 与当前过滤器上下文中的 Data[SecondLevelId] 匹配。

    Population =
    DIVIDE (
        SUM ( Data[Value] ),
        CALCULATE (
            SUM ( 'Level'[Population] ),
            'Level'[LevelId] IN VALUES ( Data[SecondLevelId] )
        )
    )
    

    【讨论】:

      猜你喜欢
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多