組內排名的實現方法
“一眨眼又到年中了,各種業績考核結果即將出爐。這不頭兒明天要對於各個地區的訂單情況做個排名分析,吩咐我下班前吧材料準備好,可是離下班就剩下五分鐘了!好巧不巧仰慕已久的女神又突然約飯!怎麼辦?怎麼辦?!”
嗯 ~ 是時候展現真正的技術了。
【技術裝備】:潤乾報表
【核心技術】:座標定位單元格
我們都知道排名分析是常見的分析方法,主要是透過排名讓使用者瞭解當前業務維度下資料記錄的次序,多用於業績考核和對比分析。排名分析中除了之前講到的總(組間)排名,還涉及到組內排名,這就是今天要放的大招。
組內排名就是在分組內對資料進行獨立排名,不同分組之間的排名互不影響。如下圖所示,我們除了統計各城市的總排名外,還需要統計這個城市在所屬地區下的排名情況:
話不多說,開幹!總排名按照我們之前講解的內容很容易就能做出來:
那地區內各個城市的排名如何計算呢?
如果我們能獲取到各個地區下的訂單總價,然後對這些資料進行排名就很簡單了,在潤乾報表中,這確實就是一件很簡單的事情,答案是用座標來獲取:透過 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排序
- 如何在分組報表中實現組內資料補空行及組內頁碼
- 分組排名
- 元組、布林、集合的內建方法
- MySQL排名函式實現MySql函式
- redis有序集合實現實時排名Redis
- Sql字串分組Split函式的兩種實現方法SQL字串函式
- css實現四種常見邊框內外角組合CSS
- #Java集合的組內平均值的計算方法Java
- 用java語言用sort方法實現groupby分組Java
- KVO的內部實現
- 【SQL】獲取指定範圍內結果集的實現方法SQL
- Redis實現排名功能的示例程式碼CRKCRedis
- RxSwift(偽)實戰 組內分享Swift
- 【原創】用Java實現按位元組長度擷取字串的方法Java字串
- JDK1.8之內建函式式介面(方法引用的實現)JDK函式
- 關於call, apply, bind方法的區別與內部實現APP
- Win10系統利用花生殼實現內網穿透的方法Win10內網穿透
- Promise 方法的實現Promise
- mysqldump的內部實現原理MySql
- gostring的內部實現Go
- Padavan安裝使用ZeroTier實現組建虛擬區域網的方法
- mysql實戰--MYSQL中的SQL分組方法MySql
- MySQL實現分組排序MySql排序
- SQL實現分組limitSQLMIT
- 實現水平居中的方法
- 實現日期的加算方法
- HashMap的內部實現機制HashMap
- 國內CRM系統全新排名
- Spring:如何實現註解的組合Spring
- PAT1004成績排名(java實現)Java
- mysql group_concat 實現把分組欄位寫成一行的方法MySql
- 【數值計算方法】線性方程組迭代演算法的Python實現演算法Python
- 高內聚,低耦合的實現方式
- CSS實現隱藏超出的內容CSS
- iOS 揭露Block的內部實現原理iOSBloC
- 實現iframe內容的自適應
- 帶你看懂Dictionary的內部實現