在 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])
)
希望对您有所帮助。
问题的简短版本:如何根据计算的度量创建排名?
问题背景:
我有一个 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])
)
希望对您有所帮助。