PowerBi/Dax 总结 table 并获得平均评分

PowerBi/Dax Summarize table and get average rating

我正在尝试创建一个新度量来从我的 table 中找到评分的平均值,无论是整个 table 还是切片器选择的特定 'id' .问题是,在原始数据中,如果一个用户出现在多个用户组中,那么他们的每个组都会包含一个 table 行(例如,harry 出现了 3 次)。我想在视觉中显示评分的平均值,但不知道如何在没有重复值的情况下计算它。

对于下面的 table,我想在视觉对象中将 id 1 的平均评分显示为 4.5 ((5+4)/2) 而不是 4.75 ((5+5+5+ 4)/4).

Table

id user group user id rating
1 group 1 harry 5
1 group 2 harry 5
1 group 3 harry 5
2 group 1 betty 2
2 group 2 phil 3
1 group 1 ted 4

既然规范是为了去除重复值,还要考虑现有的切片器,一个可能的解决方案是

Avg Rating =
CALCULATE(
    AVERAGEX( SUMMARIZE( T, T[id], T[rating] ), T[rating] ),
    ALLSELECTED( T[user id], T[user group], T[rating] ),
    VALUES( T[id] )
)