排名分析是常見的分析方法,主要是通過排名讓使用者了解當前業務維度下數據記錄的次序,多用于業績考核和對比分析。雖然排名的需求看著很簡單,但實際操作時會發現有常常并不容易實現,這是因為排名的花樣實在不少。今天我就來帶大家玩轉排名,開外掛分分鐘搞定需求下班去浪!
一般來講,常見的排名方式有以下幾類:單級排名、去重排名、橫向排名、多級排名等。下面就詳細說明各種排名是如何被外掛軟件——潤乾報表——輕松搞定的。
單級排名也稱為組間排名,即對一個字段的數值進行排名,例如,對各個城市的訂單總價進行排名,效果圖如下:
具體實現操作如下:
其中,
A2:=ds1.group(貨主城市, 貨主城市:1) 按照城市進行分組進行數據計算
B2:=ds1.sum(單價 * 數量) 計算每個城市的額銷售額
C2:=count(B2[`0]{B2>$B2})+1 根據訂單總價進行城市排名分析,也就是統計訂單總價比當前單元格訂單總價大的城市個數,第一名這個個數是 0,所以需要加 1
這樣就實現了單級排名分析,是不是 so easy?
不出所料,有同學舉手說第 4 名重復(廣州和石家莊)了,那么如果需要實現去重排名,應該怎么做呢?
去重排名顧名思義,就是排名中沒有重復的名次,如果出現相同的名次,后面的名次加 1。
很簡單,我們只需要增加一列協助列處理就可以,如下圖所示:
增加協助處理列:
C2 表達式:=row() 取得當前單元格所在行的行號
E2 表達式:=D2+count(B2[`0]{D2==$D2&&C2<$C2}) 取得不重復名次
其中,count(B2[`0]{D2==$D2&&C2<$C2}) 表示統計 B2 單元格中滿足下面條件的個數:對應行的 D2 單元格值相同且行號小于當前行。在此基礎上加上原來的名次就實現了不重復名次的計算。
最后把不需要的 C 列和 D 列設置隱藏,最終效果如下圖所示:
上面都是縱向擴展排名,如果是橫向擴展的數據,如何實現橫向排名呢?
橫向和縱向是根據數據擴展的方向來區分的,顧名思義,橫向排名是對橫向擴展數據的排名例如,對各個城市的訂單總價進行排名,配置方法如下:
我們只需要在排名單元格 A3 表達式中增加一個英文分號就可以,表示橫向擴展取數計算,即:=count(A2[;`0]{A2>$A2})+1
結果如下:
上面我們已經將簡單排名需求的制作方法做了詳細說明,下面我來考大家一下,如果我在上一個報表的基礎上增加了貨主地區分組,統計排名時不光統計總的排名,還要統計每一地區內的排名,該如何做呢?這就是我們接下來要說的多級排名。
多級排名也稱為組內排名,對應單級排名的“組間排名”,即在某個分組內各個數據的排名,不同分組之間的排名互不影響,如下圖所示,我們除了統計各城市的總排名外,還需要統計這個城市在所屬地區下的排名:
聰明的你是不是很快就做出來了?我們再來看下具體配置:
其中,
A2:=ds1.group(貨主地區:1, 貨主地區!=null) 按照貨主地區分組取數
B2:=ds1.group(貨主城市; 貨主城市:1) 按照貨主城市分組取數
C2:=ds1.sum(單價 * 數量) 計算訂單總價
D2:=count(C2[A2]{C2>$C2})+1 計算同一地區下的訂單總價排名
E2:=count(C2[`0]{C2>$C2})+1 計算所有地區下的訂單總價排名
count(C2[A2]{C2>$C2})+1 為統計 A2 單元格擴展后某一區域內的訂單總價大于當前單元格訂單總價的城市個數,然后加一,從而實現對訂單總價多級排名的效果。
好了,至此,常見排名需求效果已經介紹完畢,我們來回顧一下其中遇到的問題和解決的技巧:
單元格定位:
【技巧】:前面我們在很多地方都用了類似“count(C2[`0]{C2>$C2})”的表達式,在潤乾報表中,這個表達式有一個正式的名稱:層次坐標表示法:cellx[`0, Lk:lk]。通過層次坐標表示法,我們就可以定位特定的單元格了,其中,`0 代表了根坐標。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。