tft每日頭條

 > 生活

 > 怎麼利用rank函數計算排名

怎麼利用rank函數計算排名

生活 更新时间:2024-09-02 09:19:15

RANKX函數我們之前也講過,今天我們來做個回顧

怎麼利用rank函數計算排名(DAX函數使用RANKX進行排名的一些經驗與技巧)1

RANKX函數一共有5個參數,前兩個參數是必選參數,後三個是可選參數:

第一參數:表

可以是直接一個表,也可以是函數生成的表,ALL、ALLSELECTED等函數生成的表。

第二參數:表達式

聚合表達式,用聚合函數編寫的表達式,或者是編寫好的度量值。

第三參數:值

與第二參數相同,是個聚合表達式,可選參數,通常都是空。

第四參數:排序

有兩個選項:

  • 0:降序,默認值
  • 1:升序
第五參數:排序方式

兩個選項:

  • Skip:相同排名按照個數增加,下一排名=上一排名加上相同排名的個數
  • Dense:相同排名不計個數,下一排名=上一排名加一

我們來看例子:

最直接的排名度量值:

産品排名1 = rankx(ALLSELECTED('銷售記錄'[産品名稱]),[銷售金額],,DESC,Skip)

布局上做調整的度量值:

産品排名 = IF(HASONEVALUE('銷售記錄'[産品名稱]),

rankx(ALLSELECTED('銷售記錄'[産品名稱]),

[銷售金額],,DESC,Skip),

BLANK())

兩個度量值的效果比較:

當我們按天進行切片時,沒有進行布局調整的度量值會顯示出控制以及總計的排名,而經過布局調整的度量值,則看起來很整齊:

怎麼利用rank函數計算排名(DAX函數使用RANKX進行排名的一些經驗與技巧)2

所以,RANKX函數常用的組合:IF HASONVALUE RANKX BLANK

HANSVALUE與ALLSELECTED函數使用相同的列作為參數,就是我們所說的分組排名,我們再看一個根據客戶進行的排名:

客戶排名 = IF(HASONEVALUE('銷售記錄'[客戶]), rankx(ALLSELECTED('銷售記錄'[客戶]),[銷售金額],,DESC,Skip),BLANK())

同樣我們也使用IF組合:

怎麼利用rank函數計算排名(DAX函數使用RANKX進行排名的一些經驗與技巧)3

這就是RANKX函數的基本用法

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved