資料報表FineReport中分組報表按段分組?

問題描述

按段分組是一個比較典型的高階分組報表樣式,其分組是根據資料的值段來分的,比如按照分數段、年齡段、時間段等,屬於某個值區間的記錄歸到一個組裡顯示,如下圖:

資料報表FineReport中分組報表按段分組

方法/步驟

示例

以下介紹上圖企業年齡構成比例報表的製作過程。

新建報表,新增資料集

新建工作薄,新增資料集ds1,SQL語句為SELECT 僱員ID, 職務, strftime('%Y','now')-strftime('%Y',出生日期) +1 AS 年齡 FROM [僱員]。

僱員表中存的是僱員的出生日期,因此在SQL中我們使用SQL函式strftime('%Y','now')-strftime('%Y',出生日期) +1根據出生日期計算出員工的年齡。

表樣設計

資料報表FineReport中分組報表按段分組

資料列設定如下

資料報表FineReport中分組報表按段分組

設計器預覽模板,此時會將所有年齡都擴展出來,我們希望將年齡分成段顯示

自定義條件分組設定

選中年齡資料列所在單元格,資料設定修改為分組>高階,點選後面的自定義按鈕,彈出自定義分組對話方塊,選擇條件分組:

我們將年齡分成四段,分別如下:

資料報表FineReport中分組報表按段分組

組1:命名為小於20歲,條件為年齡小於20;

組2:命名為20~29歲,條件為年齡大於等於20 and 年齡小於30;

組3:命名為30~39歲,條件為年齡大於等於30 and 年齡小於40;

組4:命名為大於40歲,條件為年齡大於等於40。

儲存並預覽

儲存模板,設計器中點選分頁預覽,效果如上。模板效果線上檢視請點選CusGroup_2.cpt

強制分組

由預覽效果可以看到,由於沒有符合“小於20歲”的年齡,因此沒有顯示出“小於20歲”這一組,若希望即使沒有符合的的資料,顯示出所有定義的分組的話,可以在自定義分組介面選擇強制分組,結果如下:

資料報表FineReport中分組報表按段分組

相關問題答案