我需要创建一个加权平均值,将一个为多个制造工厂生产的体积列乘以一个包含每个工厂生产成本的列,并为所有工厂返回一个特定产品类型的加权平均值。
我尝试使用以下方法将其添加为计算列:
=sumx('Plant','Plant'[Cost]*'Plant'[Tonnage])/sum('Plant'[Tonnage])
但这是一排一排的,所以它并没有给我公司所需的全面平均值。我可以汇总数据,但是真的希望看到平均值与单个工厂对齐以进行基准测试
我有什么想法可以做到这一点?
答案 0 :(得分:0)
您可以通过多种方式执行此操作。您可以进行一个更复杂的计算,也可以制作一些计算列,以使最终计算更加透明。我会在这里选择后一种方法,因为它更容易显示正在发生的事情。我将使用以下DAX函数:CALCULATE,SUM和ALLEXCEPT。
首先,创建三个新的计算列。 第一个应包含每个记录的[卷]时间[成本]:
VolumeTimesCost:=[Volume] * [Cost]
第二个应包含给定产品类型中所有工厂的[VolumeTimesCost]总和。它看起来像这样:
TotalProductTypeCost:=CALCULATE(SUM([VolumeTimesCost]),ALLEXCEPT([Product Type]))
使用ALLEXCEPT([产品类型])从[产品类型]列以外的所有其他列中删除过滤器。
第三个计算列应包含给定产品类型中所有工厂的[Volume]的SUM。它看起来像这样:
TotalProductTypeVolume:=CALCULATE(SUM([Volume]),ALLEXCEPT([Product Type]))
然后,您可以根据两个计算列[TotalProductTypeCost]和[TotalProductTypeVolume]创建度量。
我希望能帮助您正确解决问题。否则请随时告诉我!