1. 概述
1.1 問題描述
當我們希望在 FineReport 中根據數值區段對其進行等級劃分時,例如根據銷售員的銷量範圍,對銷售員劃分等級,如下表所示:
銷量範圍 | 等級 |
---|---|
2000以上 | A |
1900~2000 | B |
1800~1900 | C |
1700~1800 | D |
1600~1700 | E |
1500~1600 | F |
1500以下 | G |
1.2 解決思路
利用內建資料集建立好範圍與等級對應關係,再利用 tablename.select() 公式來查詢。
2. 範例
2.1 資料準備
1)建立普通報表,建立資料庫查詢 ds1,SQL 查詢語句為:SELECT 銷售員,sum(銷量) 銷量 FROM 銷量 group by 銷售員。
2)建立內建資料集「範圍劃分」,設計三個欄位分別為「最大值」、「最小值」和「等級」,設定表示範圍值的兩個列名的資料型別為整數或小數,再將對應數值和等級增加到欄位中。如下圖所示:
2.2 報表設計
1)將 ds1 中「銷售員」「銷量」資料列分別拖入 A2、B2 儲存格,輸入對應標題,設計表格樣式如下圖所示:
2)選中 C2 儲存格,按右鍵,選擇「儲存格元素>插入公式」,公式為: 範圍劃分.select(等級, B2 >= 最小值 ,即傳回當前 B2 儲存格在「範圍劃分」資料集中大於等於最小值並且小於最大值對應的等級。
2.3 效果預覽
2.3.1 PC 端
儲存報表,點選「分頁預覽」,效果如下圖所示:
2.3.2 行動端
App 和 HTML5 端均支援,效果如下圖所示:
3. 範本下載
點選下載範本:利用內建資料集實現範圍劃分.cpt