如何在单列PowerBI中使用值和权重计算加权平均值

时间:2020-03-23 19:32:23

标签: powerbi dax powerbi-desktop

我正在尝试建立一种度量来计算某些KPI的加权平均值,但是所有数据都在同一列中。

这是我拥有的数据类型

Line  Indicator     Value
A     Efficiency    90
B     Efficiency    80
A     Weight        5
B     Weight        10

此度量应从(90 * 5 + 80 * 10)/(5 + 10)返回我83.33。

如何使用DAX获得此结果?还是应该使用其他方法?

谢谢!

2 个答案:

答案 0 :(得分:0)

我按照@AlexisOlson的指示旋转了指标列,然后使用简单的SUMX语法计算了加权平均值。解决了。​​

答案 1 :(得分:0)

这可能会对您有所帮助。 首先,使用以下DAX公式创建一个计算列:

Column =
 VAR line = 'Table'[Line]
 VAR SubTable = FILTER( 'Table'; 'Table'[Line] = line )
 VAR eff = CALCULATE( SUM('Table'[Value]); 'Table'[Indicator] = "Efficiency"; SubTable )
 VAR w = CALCULATE( SUM('Table'[Value]); 'Table'[Indicator] = "Weight"; SubTable )                                                                           
Return IF( 'Table'[Indicator] = "Efficiency"; eff * w )

然后,您必须创建一个这样的度量:

Result =
 VAR SumColumn = SUM( 'Table'[Column] )
 VAR TotalWeight = CALCULATE( SUM( 'Table'[Value] ); 'Table'[Indicator] = "Weight" )                                                                           
Return DIVIDE( SumColumn; TotalWeight; BLANK() )

希望有帮助。