組內排名的實現方法
“一眨眼又到年中了,各種業績考核結果即將出爐。這不頭兒明天要對於各個地區的訂單情況做個排名分析,吩咐我下班前吧材料準備好,可是離下班就剩下五分鐘了!好巧不巧仰慕已久的女神又突然約飯!怎麼辦?怎麼辦?!”
嗯 ~ 是時候展現真正的技術了。
【技術裝備】:潤乾報表
【核心技術】:座標定位單元格
我們都知道排名分析是常見的分析方法,主要是透過排名讓使用者瞭解當前業務維度下資料記錄的次序,多用於業績考核和對比分析。排名分析中除了之前講到的總(組間)排名,還涉及到組內排名,這就是今天要放的大招。
組內排名就是在分組內對資料進行獨立排名,不同分組之間的排名互不影響。如下圖所示,我們除了統計各城市的總排名外,還需要統計這個城市在所屬地區下的排名情況:
話不多說,開幹!總排名按照我們之前講解的內容很容易就能做出來:
那地區內各個城市的排名如何計算呢?
如果我們能獲取到各個地區下的訂單總價,然後對這些資料進行排名就很簡單了,在潤乾報表中,這確實就是一件很簡單的事情,答案是用座標來獲取:透過 C2[A2],就可以獲取 A2(地區) 下的 C2(訂單總價) 資料了。說到這裡,想必你應該都已經制作出來了吧,鼓掌 ~
報表設計如下圖所示:
其中,
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 單元格擴充套件後某一地區內的訂單總價大於當前單元格訂單總價的城市個數,然後加一,從而實現對訂單總價進行組內排名的效果。
一個表示式就實現了組內排名分析,是不是 so easy?
好了,至此,組內排名需求效果已完美實現,我們來回顧一下其中遇到的問題和解決的技巧:
【問題】單元格定位:
【技巧】:前面我們在很多地方都用了類似“count(C2[A2]{C2>$C2})”的表示式,在潤乾報表中,這個表示式有一個正式的名稱:層次座標表示法:cellx[`0, Lk:lk]。透過層次座標表示法,我們就可以定位特定的單元格了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2670615/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql使用group by實現組內排序實戰MySql排序
- 如何在分組報表中實現組內資料補空行及組內頁碼
- 與你探索classnames模組內部實現
- 分組排名
- MySQL排名函式實現MySql函式
- 元組、布林、集合的內建方法
- redis有序集合實現實時排名Redis
- 利用nginx的stream模組實現內網埠的轉發代理Nginx內網
- 關於call, apply, bind方法的區別與內部實現APP
- #Java集合的組內平均值的計算方法Java
- gostring的內部實現Go
- css實現四種常見邊框內外角組合CSS
- Redis實現排名功能的示例程式碼CRKCRedis
- Promise 方法的實現Promise
- JDK1.8之內建函式式介面(方法引用的實現)JDK函式
- PAT1004成績排名(java實現)Java
- mysqldump的內部實現原理MySql
- Padavan安裝使用ZeroTier實現組建虛擬區域網的方法
- 模組化實現的好處
- Scratch詢問模組怎麼用? Scratch實現對話效果的方法教程
- 國內CRM系統全新排名
- 實現類的註冊方法
- 水平垂直居中的實現方法
- Android 回撥方法的實現Android
- 防盜鏈的實現方法
- mysql group_concat 實現把分組欄位寫成一行的方法MySql
- 【數值計算方法】線性方程組迭代演算法的Python實現演算法Python
- Spring:如何實現註解的組合Spring
- 快速提升網站排名的方法及策略網站
- 高內聚,低耦合的實現方式
- MySQL實現分組排序MySql排序
- frp 實現內網穿透FRP內網穿透
- 經合組織:2019年中國內地學生測試排名全球第一
- 校內 CSP-S 排名統計
- Promise 基本方法的簡單實現Promise
- python dict實現的魔法方法Python
- JavaScript 手動實現instanceof的方法JavaScript
- JavaScript實現淺拷貝的方法JavaScript