首頁>科技>

前面大概用了兩篇,把RANKX排名函式進行了詳細的解釋和演示,全是偏理論,實際中實用性不強,所以這一篇再來舉例排名函式的實際使用案例。突出顯示前三名和後三名,動態展示前N條資料,前N%商品銷售佔比,下面分別演示一下。

【突出顯示前/後三名】

這是一個在資料視覺化展示中很常用的標記,把做得好的和做得不好的資料突出標記出來。思路很簡單,首先計算出排名,然後IF語句判斷一下是否小於等於3就行了,最後自定義顏色進行展示即可。

首先計算出每個產品的排名,具體使用方法可參考前面一篇,有詳細的解釋,DAX語句如下↓

品牌排名 = RANKX(    ALL('產品表'[品牌]),    [銷售金額(萬)],,    DESC,    Skip)

然後在寫一個顏色判斷的語句,如果小於等於3就是綠色,DAX寫法如下↓

顏色判斷 = IF(    [品牌排名]<=3,    "#91C851",    BLANK())

我們可以發現,在顏色判斷哪個地方,前三名就是我們自定義的顏色,然後我們只需要把顏色判斷這個公式應用到對應的欄位,滿足條件的前三名就會顯示我們自定義的顏色↓

前三名就被我們標記上顏色了,下面還需要把後三名標記成紅色,思路是一樣的,只是排名的時候按照升序排列就行了,然後在IF判斷裡面加一層判斷就可以了,兩個DAX語法如下↓

品牌反向排名 = RANKX(    ALL('產品表'[品牌]),    [銷售金額(萬)],,    ASC,    Skip)
顏色判斷 = IF(    [品牌排名]<=3,    "#91C851",    IF(        [品牌反向排名]<=3,        "#DB5E5E",        BLANK()    ))

【動態展示前N條資料】

下面一個案例是動態展示前N條資料,我們還是以排名銷售數量來舉例。首先還是要計算出每個品牌的排名情況,然後需要一個動態的輔助列,用來篩選我們需要動態展示前多少名的資料,DAX寫法如下↓

前N名資料 = CALCULATE(    [銷售金額(萬)],    FILTER(        VALUES('產品表'),        [品牌排名]<=SELECTEDVALUE('動態排名'[排名])    ))

【前N%商品銷售佔比】

有的時候我們會關心銷售靠前的商品銷售佔比情況,就可以先求出前面比例的金額,然後根據產品排名來得到所需的佔比。我們這裡求前30%商品金額的佔比情況,DAX寫法如下↓

前30%商品金額 = VAR ProductPercent = DISTINCTCOUNT('產品表'[品牌])*0.3RETURNCALCULATE([銷售金額(萬)],    FILTER(        VALUES('產品表'[品牌]),        RANKX(VALUES('產品表'[品牌]),[銷售金額(萬)],,DESC)<=ProductPercent    ))
前30%金額佔比 = DIVIDE([前30%商品金額],[銷售金額(萬)])

當然這裡也可以增加一個動態的選擇,方法和上面第二個一樣,這裡就不演示了。

End

6
最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 1999起步的紅米K40至尊版要來了