RANKX 的三種排名方法
對于排名,是一個老生常談的問題,有小伙伴問:
如何實現(xiàn)完全順序排名?
先來看看效果:

這里分別列出了針對 Item 的每個值以及對應(yīng)的排名。
Dense 方法:RANKX 原生支持,稱為緊密排名。
Skip 方法:RANKX 原生支持,稱為稀疏排名。
Order 方法:自定義實現(xiàn),RANKX 無原生支持,稱為自定義順序排名。
Dense 方法
編寫度量值如下:
Item.Rank.Dense =
RANKX( ALLSELECTED( Data[Item] ) , [Item.Value] , , , Dense )注意,多個逗號之間不寫內(nèi)容屬于忽略的參數(shù)。可以參考此前關(guān)于 RANKX 的文章。
Skip 方法
編寫度量值如下:
Item.Rank.Skip =
RANKX( ALLSELECTED( Data[Item] ) , [Item.Value] , , , Skip )注意,多個逗號之間不寫內(nèi)容屬于忽略的參數(shù)。可以參考此前關(guān)于 RANKX 的文章。
Order 方法
編寫度量值如下:
Item.Rank.Order =
VAR vItemIndex = RANKX( ALLSELECTED( Data[Item] ) , [Item] , SELECTEDVALUE( Data[Item] ) )RETURN
RANKX( ALLSELECTED( Data[Item] ) ,
[Item.Value] + RANKX( ALLSELECTED( Data[Item] ) , [Item] ) / 100 ,
[Item.Value] + vItemIndex / 100
)這里的構(gòu)思技巧在于:
第 5 行,計算每個 Item 的值。
第 6 行,計算每個 Item 的自身的索引并作為一個小值加到值的身上。
第 7 行,用當(dāng)前元素的值和索引量在排序表中卡位實現(xiàn)計算排名。
在這個方法下,每個元素都不會出現(xiàn)重復(fù)的值,因此實現(xiàn)了順序排名。
總結(jié)
RANKX 非常簡單,只要你明白了它的本質(zhì)原理即可。
更多參考:PowerBI DAX RANKX 詳解
在訂閱了BI佐羅講授的《BI真經(jīng)》之《BI進(jìn)行時》課程區(qū),除了可以下載本文案例,還可以觀看視頻講解。

Power BI 終極系列課程《BI真經(jīng)》

BI真經(jīng) - 讓數(shù)據(jù)真正成為你的力量
掃碼與精英一起討論 Power BI,驗證碼:data2022
點擊“閱讀原文”進(jìn)入學(xué)習(xí)中心
↙
評論
圖片
表情
