在功率查询或功率枢轴中需要有关加权平均的建议

Advice needed on weighted averaging in power query or power pivot

我需要创建一个加权平均值,将为多个制造工厂制造的一列乘以包含每个工厂制造成本的一列,然后 returns 一个特定产品类型的加权平均值对于所有植物。

我尝试使用以下方法将其添加为计算列:

=sumx('Plant','Plant'[Cost]*'Plant'[Tonnage])/sum('Plant'[Tonnage])

但是这是逐行进行的,所以它没有给我公司所需的全部超车平均数。我可以汇总数据,但我真的很想看到针对单个工厂排列的平均值以进行基准测试

有什么办法可以做到这一点吗?

您可以通过多种方式执行此操作。您可以进行单个更复杂的计算,也可以进行几个计算列以使最终计算更加透明。我会在这里选择后一种方法,因为它更容易显示正在发生的事情。我将使用以下 DAX 函数:CALCULATE、SUM 和 ALLEXCEPT。

首先,创建三个新的计算列。 第一个应该包含每条记录的 [Volume] 乘以 [Cost]:

VolumeTimesCost:=[Volume] * [Cost]

第二个应包含给定产品类型中所有工厂的 [VolumeTimesCost] 总和。它可能看起来像这样:

TotalProductTypeCost:=CALCULATE(SUM([VolumeTimesCost]),ALLEXCEPT([Product Type]))

使用 ALLEXCEPT([Product Type]) 从 [Product Type] 列以外的所有其他列中删除过滤器。

第三个计算列应包含给定产品类型中所有工厂的 [Volume] 的总和。它可能看起来像这样:

TotalProductTypeVolume:=CALCULATE(SUM([Volume]),ALLEXCEPT([Product Type]))

然后您可以根据两个计算列 [TotalProductTypeCost] 和 [TotalProductTypeVolume] 创建度量。

希望能帮助您正确解决问题。否则请随时告诉我!