報表合計需求的實現方法

xiaohuihui發表於2019-11-21

一、常用合計方案

在有專業報表工具之前,常用的實現方案有:

1) SQL

“select sum(欄位) from 表 group by 欄位 order by 欄位“可以實現簡單的分組資料合計、條件合計,這種方式有一個很明顯的缺點,就是隨著合計需求複雜度的增加,sql 的複雜度是呈指數級的。

2) Excel

Excel 工具在一定程度上彌補了 sql 的缺點,透過內建函式可以相對輕鬆的實現合計需求。例如條件彙總時,可以直接呼叫公式 =SUMIF(A1:A5,“>3”);分頁彙總也可以使用內建的“分類彙總“功能實現。

但是對於複雜多變的合計需求還是心有餘而力不足,因為 excel 對於彙總時更多的傾向於資料所在單元格位置是固定的。

這兩種方案並不能滿足客戶的所有合計需求,那麼專業報表工具的出現就是為了完美的解決這一問題,下面我們透過潤乾報表工具來看一下它是如何實現的。

二、專業報表工具方案

潤乾報表提供了 sum 函式可以快速的實現合計需求,我們先來看下函式幫助:

imagepng

透過函式幫助的介紹說明,我們知道透過 sum 函式可以輕鬆實現資料彙總需求,下面我們透過一個具體的例子來看一下。

2.1 分組合計

話不多說,先看需求效果圖:

imagepng

此報表需要計算所有資料的一個彙總值和各個類別下的彙總值,在潤乾報表中使用 sum 函式實現時,可以使用如下配置:

imagepng

其中,

G4 單元格表示式 =sum(E3 G3,B3{}) 表示對 B3 擴充套件出來的所有行資料進行“庫存量單價“計算,最後吧計算後的值進行求和計算。

G5 單元格表示式:=sum(G4{}) 表示對 G4 所有擴充套件出來的資料進行求和計算。

2.2 條件合計

在 2.1 報表的基礎上增加一個需求,在進行總計的時候只彙總部分供應商的庫存金額,那麼在潤乾報表中如何進行實現呢?

imagepng

答案就是:在 {} 中新增過濾條件。

sum(G4{A3>4}) 表示對滿足供應商 ID 大於 4 的庫存金額進行求和。

2.3 頁合計

現在把需求再次升級,對每一頁的資料進行一個小計,有沒有內建函式可以使用呢?答案是肯定的,我們來看一下 pcsum() 函式的用法:

imagepng

在報表單元格中我們可以直接寫到表示式中:

imagepng

配置 C5 單元格表示式為:=pcsum(E3{})

G5 單元格表示式為:=pcsum(G4{})

加上頁小計後的報表展現效果如下圖所示:

imagepng

同樣的,我們可以在 pcsum 函式中新增過濾條件,實現部分資料的頁小計。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2665128/,如需轉載,請註明出處,否則將追究法律責任。

相關文章