测量以计算平均值

时间:2018-11-24 19:52:40

标签: powerbi dax measure

好的,所以我有这个数据集。

我想做的是检查学生达到6分或更高的平均尝试次数。到目前为止,我想到了: Students = CALCULATE(DISTINCTCOUNT(StudentResults[studnr]);StudentResults[result]>=6) 每个班有多少名学生通过了考试。在SQL中,我将使用Group By和Haveing Max。如何在Power BI中实现这一目标?

1 个答案:

答案 0 :(得分:0)

要计算学生获得课程成功成绩(> = 6)所需的平均尝试次数,我们需要将尝试总次数除以成功尝试的次数。

在计算尝试总数时,我们需要丢弃尚未导致成功结果的尝试,因为如果无法获得成功结果,您将无法计算获得成功结果的尝试次数

因此,伪公式为AVG #Attempts = (all attempts - #No Success Yet) / #Successful Attempts

这是三个基本指标:

All Attempts = COUNTROWS ( 'StudenResults' )

#Succesfull Attempts = COUNTROWS ( FILTER ('StudenResults', 'StudenResults'[result] >= 6))

#no succes yet =
SUMX (
    'StudenResults',
    CALCULATE (
        IF ( MAX ( 'StudenResults'[result] ) < 6, 1, 0 ),
        ALLEXCEPT ( 'StudenResults', StudenResults[studnr], StudenResults[course] )
    )
)

此度量计算所需的平均值:

AVG #Attempts = DIVIDE([All Attempts] - [#no succes yet], [#Succesfull Attempts], BLANK ())

一个矩阵图形,在[行]上具有[课程],在[值]上具有度量,如下所示:

enter image description here

如果您想要每个学生的平均值,只需将[studnr]放在Rows而不是[course]