在 DAX 中对度量值(而不是列值)进行排名?

Ranking a Measure Value (as opposed to a column value) in DAX?

问题的简短版本:如何根据计算的度量创建排名?

问题背景: 我有一个 table/query 为每个员工生成许多行,每行都有一个 time taken 值。

我想计算每个 employee 花费的平均时间,然后为每个 employee 显示一行 table,显示他们的 name ,平均值 time taken,和 rank(基于 time taken)。

为了完成第一部分,我创建了一个名为 AverageTimeLength 的度量并将其设置为:

AverageTimeLength = Average(Table_name[Column_name]) 

然后我编码如下:

AverageTimeLength_employee = CALCULATE([AverageTimeLength], GROUPBY(Table_name, Table_name[EmployeeName]))

这两个是措施;我能够将第二个插入到我正在创建的新 table 图表中,但不幸的是,我无法在其上使用 RANKX(),因为度量值不是来自列。如果我尝试创建一个从度量派生的列(即 column_name = [AverageTimeLength_employee]),我只会收到一个错误,指责 column_name 循环推理。

我想做的事情看起来应该很简单;有谁知道如何创建一个简单的排名参数来对度量值进行排名?

您可以创建 Average 度量并在 Rank 度量中使用它,如下所示:

Average = AVERAGE([Time taken]) 

Rank = IF (
    HASONEVALUE ( Table_Name[Name] ), 
    RANKX ( ALL ( Table_Name[Name] ), [Average])
)

希望对您有所帮助。