報表合計需求的實現方法
一、常用合計方案
在有專業報表工具之前,常用的實現方案有:
1) SQL
“select sum(欄位) from 表 group by 欄位 order by 欄位“可以實現簡單的分組資料合計、條件合計,這種方式有一個很明顯的缺點,就是隨著合計需求複雜度的增加,sql 的複雜度是呈指數級的。
2) Excel
Excel 工具在一定程度上彌補了 sql 的缺點,透過內建函式可以相對輕鬆的實現合計需求。例如條件彙總時,可以直接呼叫公式 =SUMIF(A1:A5,“>3”);分頁彙總也可以使用內建的“分類彙總“功能實現。
但是對於複雜多變的合計需求還是心有餘而力不足,因為 excel 對於彙總時更多的傾向於資料所在單元格位置是固定的。
這兩種方案並不能滿足客戶的所有合計需求,那麼專業報表工具的出現就是為了完美的解決這一問題,下面我們透過潤乾報表工具來看一下它是如何實現的。
二、專業報表工具方案
潤乾報表提供了 sum 函式可以快速的實現合計需求,我們先來看下函式幫助:
透過函式幫助的介紹說明,我們知道透過 sum 函式可以輕鬆實現資料彙總需求,下面我們透過一個具體的例子來看一下。
2.1 分組合計
話不多說,先看需求效果圖:
此報表需要計算所有資料的一個彙總值和各個類別下的彙總值,在潤乾報表中使用 sum 函式實現時,可以使用如下配置:
其中,
G4 單元格表示式 =sum(E3 G3,B3{}) 表示對 B3 擴充套件出來的所有行資料進行“庫存量單價“計算,最後吧計算後的值進行求和計算。
G5 單元格表示式:=sum(G4{}) 表示對 G4 所有擴充套件出來的資料進行求和計算。
2.2 條件合計
在 2.1 報表的基礎上增加一個需求,在進行總計的時候只彙總部分供應商的庫存金額,那麼在潤乾報表中如何進行實現呢?
答案就是:在 {} 中新增過濾條件。
sum(G4{A3>4}) 表示對滿足供應商 ID 大於 4 的庫存金額進行求和。
2.3 頁合計
現在把需求再次升級,對每一頁的資料進行一個小計,有沒有內建函式可以使用呢?答案是肯定的,我們來看一下 pcsum() 函式的用法:
在報表單元格中我們可以直接寫到表示式中:
配置 C5 單元格表示式為:=pcsum(E3{})
G5 單元格表示式為:=pcsum(G4{})
加上頁小計後的報表展現效果如下圖所示:
同樣的,我們可以在 pcsum 函式中新增過濾條件,實現部分資料的頁小計。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2665128/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何實現報表的批次列印需求
- 如何實現報表直接列印需求
- 如何實現報表的點選表頭排序需求排序
- iReport 報表、子報表、主從報表、合計、例項解析
- 實現報表資料預先計算
- 分欄報表-物品清單報表實現
- 大屏報表元件間的聯動互動效果實現方法元件
- Vue 結合 echarts 原生 html5 實現拖拽排版報表系統VueEchartsHTML
- 輕鬆實現報表整合
- 報表展現時如何實現固定表頭效果
- ORACLE中實現表變數的方法Oracle變數
- 【Golang】基於beego/orm實現相同表結構不同表名的分表方法實現GolangORM
- 填報表實現隔行異色的效果
- Toolbar不能實現你的需求?
- 結合業務需求的創新設計落地思考
- MySQL實現MYISAM表批次壓縮的方法MySql
- c++實現多型的方法 虛表C++多型
- Ruby Ruport實踐—報表引數實現
- 在VB6.0中實現動態統計報表 (轉)
- SQL多個表實現聯合查詢SQL
- 【C#】DevExpress實現複合表頭C#devExpress
- java中實現報表樣式的問題Java
- 怎樣實現動態列報表,也就是列數不固定的報表?
- Redux實現組合計數器Redux
- MySQL派生表合併最佳化的原理和實現MySql
- BabaSSL 釋出 8.3.0|實現相應隱私計算的需求
- 一例“詭異”報表SQL需求分析SQL
- 舊的報表平臺滿足不了需求?使用者說固定報表和動態報表兩個都想要
- 報表如何實現行列互換效果?
- python實現報表用什麼?Python
- Ruby Ruport實踐—報表引數實現(二)
- 大屏報表中如何實現多圖表間的聯動?
- VUE Cookbook 系列:實現可配置組合表單Vue
- 報表中怎樣實現滾動的公告效果
- 各位推薦一下,哪種報表可以實現凍結表頭合併單元格,謝謝!
- 展示主資料的歷史變化的幾種業務需求及其實現方法
- 怎樣實現填報表定時提交
- 實現報表資料分庫儲存