1. 概述
1.1 版本
報表伺服器版本 |
---|
11.0 |
1.2 預期效果
按段分組是一個比較典型的進階分組報表樣式,其分組是根據資料的值段來分的。
比如按照分數段、年齡段、時間段等,屬於某個值區間的記錄歸到一個組裏顯示,如下圖所示:
1.3 實現思路
利用資料列屬性中的分組進行自訂分組。
2. 範例
2.1 報表設計
2.1.1 建立報表
建立普通報表,新增資料集 ds1,SQL 語句為:SELECT 僱員ID, 職務, cast(strftime('%Y','now') as int)-cast(strftime('%Y',出生日期) as int)+1 AS 年齡 FROM 僱員,如圖所示:
僱員表中存的是僱員的出生日期,因此在 SQL 中我們使用函式strftime('%Y','now')-strftime('%Y',出生日期) +1,根據出生日期計算出員工的年齡。
2.1.2 報表樣式
報表樣式如下圖所示:
2.1.3 擴展方向
1)選中 A3 儲存格,點選「儲存格屬性>擴展>擴展方向」,設定 A3 儲存格為「縱向擴展」,如下圖所示:
2)選中 B2 儲存格,點選「儲存格屬性>擴展>擴展方向」,設定 B2 儲存格為「橫向擴展」,如下圖所示:
選擇 B3 儲存格的資料列設定為「匯總」、「個數」,擴展方向為「不擴展」,如下圖所示:
2.2 自訂條件分組
設計器預覽範本,此時會將所有年齡都擴展出來,我們希望將年齡分成段顯示。
1)選中年齡資料列所在儲存格 B2,「儲存格元素>基本>資料設定」修改為「分組」、「進階」,如下圖所示:
2)點選「自訂按鈕」,彈出自訂分組對話框,選擇「條件分組」。將年齡分成四段。
組 1:命名為「小於 20 歲」,條件為年齡小於 20,如下圖所示:
組 2:命名為 「20~30 歲」,條件為年齡大於等於 20 and 年齡小於 30,如下圖所示:
組3:命名為 「30~40歲」,條件為年齡大於等於 30 and 年齡小於 40,如下圖所示:
組 4:命名為「大於 40 歲」,條件為年齡大於等於 40,如下圖所示:
2.3 強制分組
由於資料庫表中沒有符合小於 20 歲的年齡,因此預覽時不顯示小於 20 歲這一組,如下圖所示:
若希望即使沒有符合的的資料,仍然顯示出所有定義的分組的話,可以在自訂分組介面選擇「強制分組」,如下圖所示:
2.4 效果預覽
2.4.1 PC 端
儲存範本,選擇分頁預覽,效果如 1.2 節中所示。
2.4.2 行動端
App 與 HTML5 顯示效果相同,如下圖所示: