您好,登錄后才能下訂單哦!
在文章《中國式復雜報表:按段分組報表制作對比(潤乾 vs 帆軟)》中,我們介紹了不規則分組的做法對比。本文將對另一種不完全分組(帆軟稱“歸并分組”)報表的制作進行對比,廢話不多說,我們這就實際操作一下,供大家參考。
如上圖所示,僅重點關注統計“華北”和“華東”兩個地區的數據,其他地區歸為“其他”。
注:例子均以各產品自帶數據庫的“訂單表及訂單明細表”為例,表樣如上圖。
1、 準備數據集
SELECT 客戶. 城市, 客戶. 地區, 訂單明細. 數量, 訂單明細. 單價 FROM 客戶, 訂單, 訂單明細 WHERE 客戶. 客戶 ID = 訂單. 客戶 ID AND 訂單. 訂單 ID= 訂單明細. 訂單 ID
2、 制作報表
模板如下:
其中:
(1)A2:ds1.group(地區, 地區 ==‘華東’ or 地區 ==‘華北’; 地區:1)
(2)B2:ds1.group(城市; 城市:1)
(3)C2:ds1.sum(數量 * 單價),顯示格式為“#0.00”
(4)A3:“其他”,該組單獨定義
(5)B3:ds1.group(城市, 地區!=‘華東’ and 地區!=‘華北’; 城市:1)
(6)D3:ds1.sum(數量 * 單價),顯示格式為“#0.00”
3、 看效果
預覽報表
1、 準備數據集
SELECT 客戶. 城市, 客戶. 地區, 訂單明細. 數量 * 訂單明細. 單價 總額 FROM 客戶, 訂單, 訂單明細 WHERE 客戶. 客戶 ID = 訂單. 客戶 ID AND 訂單. 訂單 ID= 訂單明細. 訂單 ID
_ 注:數據集匯總函數沒找到怎么多個字段相乘的方法,sql 里把數據和單價處理為總 _
額了
2、 制作報表
模板如下
A2:ds1.G(地區)
B2:ds1.G(城市)
C2:ds1. 求和 (總額)
3、 定義歸并分組列表
和不完全分組類似,帆軟都是通過給 ds.G() 函數設置自定義高級表達式分組來實現,實際也是按照字段條件值的不同分組,如下。
選中 A2 單元格,單元格元素 -- 數據設置,選擇“高級”-- “自定義”
分別定義各分組區間名稱及條件表達式,列表如下
(1)華北地區
(2)華東地區
(3)其他
定義華北和華東后,只需要在下面的下拉中選中“把其他所有的合并”即可,名字在后面的編輯框可以定義,比較靈活,減少了定義表達式的工作量。
4、 看效果
總結:對于國內的商業報表,解決中國式復雜報表是標配的能力。從上面的例子我們不難看出,對于不完全分組(或歸并分組)的報表需求來說,各廠商也有各自的解決方案,只不過做法稍有不同,略有優劣。潤乾表達式好處在于分組條件值數量不多時非常好維護,不用點來點去看其他配置,一個函數調整即可。帆軟的好處則相反,當數量多的時候,布局上看起來很舒服,維護較方便。本例僅作為不完全分組報表功能供用戶參考對比,歡迎指正。
Ps:潤乾可以通過集算器腳本將 sql 的結果集直接處理成需求的三個分組,然后在報表里直接可以用普通分組報表的做法,更簡單直觀。感興趣的可以了解一下集算器的 enum 函數。
詳情鏈接: http://c.raqsoft.com.cn/article/1554945976088?r=gxy
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。