powerbi - 如何计算特定级别的 DAX 表达式
问题描述
我需要对各种分组属性执行特定计算,然后在更高级别对这些值进行平均。以下是数据可能看起来的示例:
公式字段是
1 - ABS(Forecast - Actual)/Actual
您可以在图片中看到,如果我要在最低级别进行此计算,然后在 Power BI 中我只想删除公式字段的平均值,您可以看到这将显示为 2%。这不是我想要得到的数字。
现在,如果我尝试以不同的方式执行此操作,并且只是总结所有预测和实际数字并针对这些执行相同的公式,这也不是我想要得到的。我最终得到了这样的东西
我真正想做的是在 MaterialNumber/Plant 级别执行该公式,然后获得这些数字的平均值。所以它看起来像这样:
有人可以帮助我如何完成这样的事情。
解决方案
使用“数据”作为您的表名。
创建度量:
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]
)
结果:
这个怎么运作:
- 计算被分解为多个度量,使代码更清晰、更易于理解;
- 最后一个测量方法如下:我们按材料和工厂汇总数据,并计算每组的方差 %。然后 AverageX 遍历这些组并平均它们的方差。
推荐阅读
- android - Android 信任 ADB 主机(RSA 指纹),无需 USB 连接
- ruby-on-rails - 如何在 Rails 项目中使用 ASDF 设置环境变量
- javascript - 如何使用javascript在onclick函数中将数组作为参数传递
- c++ - 我的决赛有问题。代码不断循环回到我的订购菜单并且不会显示我的总价
- batch-file - 将文件夹名称移动到 #,[AZ]
- maven - 如何避免 maven shade 插件包含来自“test-jar”类型的传递依赖?
- python - 按指定顺序打印带有逗号分隔值的 .csv 文件
- c++ - 为什么使用默认构造函数构造的 std::string 对象表现不同?
- roku - Roku 中的多个组件如何处理焦点?
- sql-server - 与内部联接一起使用时,东西函数返回重复记录