一、概述
1
預期效果。
在文檔 按段分組 中,透過【分組】→【進階】→【自訂】→【條件分組】實現了按固定年齡段進行分組彙總,現在我們希望實現資料按不同的段長參數進行動態分組。效果如下圖所示。
2
實現思路。
透過【儲存格元素】→【資料設定】中的【分組】→【進階】→【自訂】→【公式分組】實現。
二、範例
1
資料準備。
建立普通報表,建立資料集 ds1,SQL 查詢語句為:【SELECT 年齡, count(1) as 數量 FROM 員工資訊表 group by 年齡】 。如下圖所示。
2
報表設計。
設計表格如下圖1所示。
設定 B2 儲存格資料設定為【彙總】→【求和】,如下圖2所示。
3
參數面板設定。
在參數面板拖入一個【標簽元件】和【數字元件】,設定【標簽元件】的元件值為【段長:】;【數字元件】的元件名稱為【num】,標簽章稱為【段長:】。如下圖1所示。
點選【預定義元件】,將【查詢按鈕】拖入參數面板,如下圖2所示。
4
分組設定。
選中 A2 儲存格,資料設定為【分組】→【進階】→【自訂】→【公式分組】,選擇顯示模式為【普通分組】,自訂值中輸入公式:【"["+((roundup($$$/$num)-1)*$num+1)+"~"+(roundup($$$/$num)*$num)+"]"】,公式說明如下表。步驟如下圖所示。
公式 | 說明 |
---|---|
ROUNDUP() | 遠離零值,向上(絕對值增大的方向)舍入數字。 |
$$$ | 當前儲存格的實際值 |
$num | 段長參數 |
"["+ +"]" | 連接中括號 [ ] ,也可以不寫 |
5
效果預覽。
PC 端:儲存報表,點選【分頁預覽】,效果同第一章第1節預期效果一緻。
行動端:App 端和 HTML5 端均支援。
三、範本下載
已完成範本可參見:【%FR_HOME%\webroot\WEB-INF\reportlets\doctw\Advanced\GroupReport\按段動態分組.cpt】。
點選下載範本:按段動態分組.cpt