在创建DAX公式之前,我问了一个类似的问题,以便按照排名目的排列费率,如排名' Rank'下图中的列(DAX Sum of Average to Rank)。然而,我需要将计算的度量从最高到最低随时间排列,而不是求和率。
由于目标是80%,人F和H应该高于人E和G.排序后的理想顺序是A,B,C,D,F,H,E,G。这是在数据透视表中,因此由于OLAP限制而无法创建计算列,因此首选DAX公式。任何帮助表示赞赏。
答案 0 :(得分:1)
目前尚不清楚创建排名的DAX是什么。您可能希望使用以下内容:
rate:=IF (
HASONEVALUE ( DimDate[CalendarMonthName]),
[Avg],
CALCULATE ( SUMX (FactTable, [amount] ) )
)
Rank:=IF(NOT(ISBLANK([rate])),RANKX(ALLSELECTED(DimTable[bank]),
[rate],,,Dense), BLANK())
该速率与您在其他线程中提供的@TJ_类似,但它是一个计算字段而不是列,它总和[数量]在Rank中使用,否则它使用您的默认平均计算。
您可能不需要ALLSELECTED。它用于考虑仅由切片器选择的值。如果没有用,请查看屏幕并将您的DAX发布到Rank。
由于