輕鬆搞定分組報表中的各種排序

2021-08-28 21:37:38 字數 1819 閱讀 9788

在做分組報表統計時,我們經常會被要求按照資料公升序或降序排序。在 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])+1。如下圖所示:

a3 中的表示式是為了控制該行進行縱向擴充套件,有幾個地區就擴充套件幾行,這樣報表在展現時就會在下方增加一片資料區域,並且第一列是 1、2、3 這種編號形式。而 f2 單元格則是根據實際金額做了對應的排名,出來的值也是 1、2、3 的形式。這樣,就可以根據排名對資料進行選擇了。

4)在 b3 單元格中寫入表示式:=b2。

這個表示式的意思是:從 b2 單元格中取數,但是取數時加上了限定條件:f2(排名)單元格的值等於這一行的 a3(序號)單元格的值,也就是從 b2 單元格中按照排名順序取出對應的地區放在 b3 單元格中。預覽的效果如下圖所示:

其餘 c3、d3、e3 幾個單元格的情況類似:

然後再將沒用的行列隱藏掉,就能夠實現我們的的需求了,即按照單元格表示式的計算結果進行排序展現,結果如下:

【總結一下:】

在上面的示例中,表示式:=b2 是【層次座標】的用法。主要是在進行報表設計時,單元格尚未進行擴充套件,但是其它某些單元格的表示式往往需要對這個單元格擴充套件後的單元格進行精確定位並運算。

【層次座標】的具體使用方法可以看一下我們的教程裡面的 12.3.2 章節。

輕鬆搞定分組報表中的各種排序

在做分組報表統計時,我們經常會被要求按照資料公升序或降序排序。在 group 函式的引數中,我們可以指定分組後對組的排序表示式,這樣報表展現時能夠直接根據該表示式進行排序了。我們先來看乙個簡單的例子,如下圖所示 其中,a1 表示式為 ds1.group 貨主地區,貨主地區 null 貨主地區 ds1...

中報表 姓氏分組 報表工具中怎麼給資料排序

乙份雜亂無章的報表 我們需要把它變得有序,可以使我們更清楚的檢視資料。在資料庫裡面我們可以使用 esc 和 desc 根據乙個字段排序,在報表裡面也有 1 和 1 對乙個字段排序,但是如何做到讓字段根據計算後的結果排序呢?讓我們一起去幹學院看個究竟吧 輕鬆搞定分組報表中的各種排序 複製摘要 在做分組...

輕鬆搞定機器學習中的概率統計知識

網上關於機器學習中的數學基礎知識的文章非常混雜。有些文章推薦太過全面,比如推薦 mit 線性代數 微積分入門 概率論入門 等系列課程和書籍,這對初學者非常的不友好。而有些文章又過於簡略,機器學習雖說不用精通各類數學知識,但全面理解相關數學基礎也是非常關鍵的,很多作者想一篇文章概括所有在機器學習中重要...