我有以下场景。我有通过考试的学生。他们可以同时拥有多个主管。我想在DAX中创建一个计算,计算每个级别(即部门、主管、学生)的平均分数。
原始表包含每个学生一个测试,但我“左连接”了这个表和一个新创建的表,即学生导师,所以我还可以计算导师的分数。问题是当我计算每个部门的平均分数时,因为它包含了我用这个新表创建的所有重复项。
下面是我的表格:

这是我的模型:

显然,只计算平均分数的DAX适用于以下PivotTable上的学生和主管,但在部门级别上是错误的:
Avg Score:=AVERAGE(score[Score])

在这一点上,我已经尝试了类似以下的方法,但没有成功。我的重点是创建一个动态表,其中按testid汇总分组并计算平均分数。然后我想再求一次平均值,这将是正确的分数,并将1column-1row转换为数字值。但这不起作用,我不知道为什么:
Avg Score= VAR ThisTable=SUMMARIZE(score,score[TestId],"IndividualScore",AVERAGE(score[Score])) RETURN SUMMARIZE(ThisTable,"AvgScore",AVERAGE([IndividualScore]))发布于 2017-01-31 01:03:41
这是我处理它的方式。
首先,创建一个如下所示的度量,以获取每个上下文中的分数:
Sum Score := MAX(Score[Score])然后创建平均计算度量值:
Avg Score :=
DIVIDE (
SUMX ( DISTINCT ( Score[Student] ), [Sum Score] ),
DISTINCTCOUNT ( Score[Student] )
)注Sum Score度量值是必需的,因为Avg Score度量值使用它来执行计算。
您将在Power BI中获得类似于此矩阵(透视表)的内容:

如果这有帮助,请告诉我。
发布于 2017-01-31 03:34:00
好的,多亏了alejandro的想法,我才能找到答案。基本上,我正在创建一个动态表格,其中包含一个按考试id和平均分数(即真实分数)分组的表。然后我使用AVERAGEX来计算这些测试的平均值。下面是DAX代码:
Avg CSAT:=VAR ThisTable=SUMMARIZE(score,score[TestId],"SumOfScore",AVERAGE(score[Score])) RETURN AVERAGEX(ThisTable,[SumOfScore])https://stackoverflow.com/questions/41940037
复制相似问题