輕鬆搞定分組報表中的各種排序
在做分組報表統計時,我們經常會被要求按照資料升序或降序排序。在 group 函式的引數中,我們可以指定分組後對組的排序表示式,這樣報表展現時能夠直接根據該表示式進行排序了。我們先來看一個簡單的例子,如下圖所示:
其中,A1 表示式為:=ds1.group(貨主地區, 貨主地區!=null; 貨主地區;ds1.sum( 數量 * 單價))
意思是:在根資料集 ds1 中取出貨主地區不為空的資料,並按照貨主地區進行分組,分組後求出每組的總價 sum(數量 * 單價),然後按照這個彙總值對組進行升序排列。
分組排序後的效果如下圖所示:
但是有些時候,某些單元格的資料可能是透過其他單元格計算後的結果,這樣就無法透過 group 函式的引數來指定了,例如下圖這樣:
報表 D2 單元格的資料是根據前兩個單元格相減計算後的結果,這時就無法透過 group 函式來完成排序控制操作了,那麼有什麼方法能夠實現依據這樣計算出來的單元格結果進行排序呢?
(苦思冥想中····)額,我可以做一個排名,但是排序要怎麼做呢?
Bingo··答對了一半,就是需要先排名哦。
下面由我給大家詳細講解一下實現流程:
1)首先按照上圖中展現的報表格式,在 A 列左邊和下邊分別插入行、列,並且給報表追加一列。形成如下如所示的樣式:
2)然後在 A3 中寫表示式 =to(1,count(B2{}))。
3)在 F2 單元格中按照 E2 單元格的資料計算排名, 寫入表達 =count(E2[`0]{E2<$E2})+1。如下圖所示:
A3 中的表示式是為了控制該行進行縱向擴充套件,有幾個地區就擴充套件幾行,這樣報表在展現時就會在下方增加一片資料區域,並且第一列是 1、2、3 這種編號形式。而 F2 單元格則是根據實際金額做了對應的排名,出來的值也是 1、2、3 的形式。這樣,就可以根據排名對資料進行選擇了。
4)在 B3 單元格中寫入表示式:=B2{F2==$A3}。
這個表示式的意思是:從 B2 單元格中取數,但是取數時加上了限定條件:F2(排名)單元格的值等於這一行的 A3(序號)單元格的值,也就是從 B2 單元格中按照排名順序取出對應的地區放在 B3 單元格中。預覽的效果如下圖所示:
其餘 C3、D3、E3 幾個單元格的情況類似:
然後再將沒用的行列隱藏掉,就能夠實現我們的的需求了,即按照單元格表示式的計算結果進行排序展現,結果如下:
【總結一下:】
在上面的示例中,表示式:=B2{F2==$A3} 是【層次座標】的用法。主要是在進行報表設計時,單元格尚未進行擴充套件,但是其它某些單元格的表示式往往需要對這個單元格擴充套件後的單元格進行精確定位並運算。
【層次座標】的具體使用方法可以看一下我們的教程裡面的 12.3.2 章節。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2670487/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 不寫程式碼不用 Excel, 如何輕鬆搞定各種圖形化展現Excel
- 輕鬆理解分庫分表
- MySQL8.0輕鬆搞定GTID組複製MySql
- 填報指令碼之輕鬆搞定複雜表的資料入庫指令碼
- 一份配置,輕鬆搞定Vue表單渲染Vue
- Vue資料驅動表單渲染,輕鬆搞定form表單VueORM
- 輕鬆實現報表整合
- 如何輕鬆搞定光纖熔接
- web 報表中電子圖章 / 水印的輕鬆實現Web
- 電腦截圖方法只會【Ctrl+Alt+A】!5個電腦軟體輕鬆搞定各種截圖
- IINA for Mac:輕鬆播放和轉換各種媒體格式Mac
- 5分鐘,輕鬆搞定Oracle資料庫等保測評Oracle資料庫
- 輕鬆搞定專案流程自動化
- javascript: 帶分組資料的Table表頭排序JavaScript排序
- 這12種方法輕鬆合併Python中的列表Python
- 8分鐘搞懂Java中的各種鎖Java
- 看圖輕鬆理解計數排序排序
- 3D 穿梭效果?使用 CSS 輕鬆搞定3DCSS
- Jenkins部署安裝,輕鬆三步搞定Jenkins
- 十分鐘教條與經驗,輕鬆搞定系統分析師的案例分析
- 影片建立動畫GIFGIF‘ted for Mac,輕鬆製作各種小動圖動畫Mac
- 軟體測試之30分鐘輕鬆搞定正規表示式基礎
- 輕鬆理解JVM的分代模型JVM模型
- 上億條資料,OurwayBI也能輕鬆搞定
- 輕鬆搞定專案管理軟體、分配任務專案管理
- 一文輕鬆搞定 tarjan 演算法(二)演算法
- MySQL8.0輕鬆搞定GTID主從複製MySql
- MySQL8.0輕鬆搞定GTID主主複製MySql
- JNPF讓你輕鬆點亮報表應用技能
- 輕鬆看懂Java位元組碼Java
- 使用騰訊tslint-config-alloy輕鬆搞定ionic專案中TSLint配置
- 100行程式碼,輕鬆搞定文字編輯器中草稿箱行程
- win10我的電腦怎麼放在桌面 教你一分鐘輕鬆搞定問題Win10
- 實用且簡單的Git教程,輕鬆搞定多人開發Git
- 智慧摳圖+海量模板=輕鬆搞定主圖設計的工具!
- 學會這些linux的“自動化”輕鬆搞定任務Linux
- TaroEcharts-各種圖表在Taro中的實踐Echarts
- 淺談mysql中各種表空間(tablespaces)的概念MySql