Java報表開發外掛FineReport:[6]按段分組?

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

Java報表開發外掛FineReport:[6]按段分組

工具/原料

Java報表開發外掛:FineReport

電腦

方法/步驟

新建報表,新增資料集

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

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

表樣設計

如下圖製作報表:

資料列設定如下:

單元格資料集資料列屬性

A3ds1職務從上到下擴充套件,居中,其餘預設

B2ds1年齡從左到右擴充套件,居中,其餘預設

B3ds1僱員ID彙總-個數,不擴充套件,居中,其餘預設

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

Java報表開發外掛FineReport:[6]按段分組

自定義條件分組設定

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

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

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

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

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

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

Java報表開發外掛FineReport:[6]按段分組

儲存並預覽

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

強制分組

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

Java報表開發外掛FineReport:[6]按段分組

資料, 公務, 外掛, 報表,
相關問題答案