【问题标题】:How to calculate a DAX expression at specific levels如何计算特定级别的 DAX 表达式
【发布时间】:2019-07-11 23:33:23
【问题描述】:

我需要对各种分组属性执行特定计算,然后在更高级别对这些值进行平均。以下是数据的示例:

公式字段是

1 - ABS(Forecast - Actual)/Actual

您可以在图片中看到,如果我要在最低级别进行此计算,然后在 Power BI 中我只想删除公式字段的平均值,您会看到这将显示为 2%。这不是我想要的号码。

现在,如果我尝试以不同的方式执行此操作,只需总结所有预测和实际数字,并针对这些执行相同的公式,这也不是我想要得到的。我最终得到了这样的东西

我真正想做的是在 MaterialNumber/Plant 级别执行该公式,然后获得这些数字的平均值。所以它看起来像这样:

有人可以帮助我完成这样的事情吗?

【问题讨论】:

  • 您的公式应该除以实际,而不是除以预测?
  • 是的,抱歉,这是一个错字,但同样的问题仍然适用

标签: powerbi dax


【解决方案1】:

使用“数据”作为您的表名。

创建一个度量:

Total Forecast = SUM(Data[Forecast])

另一种措施:

Total Actual =SUM(Data[Actual])

第三步:

Variance = ABS([Total Forecast] - [Total Actual])

第四步:

Variance % = 1 - DIVIDE([Variance],[Total Actual])

最后:

Average Variance % =
AVERAGEX(
   SUMMARIZE(
       Data, 
       Data[MaterialNumber],
       Data[Plant],
      "Variance Percent", [Variance %]),
[Variance Percent]
)

结果:

它是如何工作的:

  1. 计算被分解为多个度量,以使代码更清晰、更易于理解;
  2. 最后一项措施如下:我们按材料和工厂汇总数据并计算每组的方差 %。然后 AverageX 遍历这些组并平均它们的方差。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    • 2012-09-13
    相关资源
    最近更新 更多