當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

利用内置數據集實現範圍劃分

1. 概述

1.1 問題描述

當我們希望在 FineReport 中根據數值區段對其進行等級劃分時,例如根據銷售員的銷量範圍,對銷售員劃分等級,如下表所示:

銷量範圍
等級
2000以上 A
1900~2000 B
1800~1900 C
1700~1800 D
1600~1700  E
1500~1600F
1500以下 G

通常的做法是寫 IF 公式一個一個範圍的判斷,導緻公式冗長,嵌套複雜。那如何能簡單快速的建立等級對應關系呢?

1.2 解決思路

利用内置數據集建立好範圍與等級對應關系,再利用 tablename.select() 公式來查詢。

2. 示例

2.1 數據準備

1)新建普通報表,新建數據庫查詢 ds1,SQL 查詢語句爲:SELECT 銷售員,sum(銷量) 銷量 FROM 銷量 group by 銷售員

1607574125920563.png

2)新建内置數據集「範圍劃分」,設計三個字段分别爲「最大值」、「最小值」和「等級」,設置表示範圍值的兩個列名的數據類型爲整數或小數,再将對應數值和等級增加到字段中。如下圖所示:

Snag_605dde5.png

2.2 報表設計

1)将 ds1 中「銷售員」「銷量」數據列分别拖入 A2、B2 單元格,輸入對應标題,設計表格樣式如下圖所示:

1607574380806785.png

2)選中 C2 單元格,單擊右鍵,選擇「單元格元素>插入公式」,公式爲: 範圍劃分.select(等級, B2 >= 最小值 && B2 < 最大值),即返回當前 B2 單元格在「範圍劃分」數據集中大於等於最小值并且小於最大值對應的等級。

image.png

2.3 效果預覽

2.3.1 PC 端

保存報表,點擊「分頁預覽」,效果如下圖所示:

Snag_610a701.png

2.3.2 移動端

App 端和 HTML5 端均支持,效果如下圖所示:

Snag_613423d.png

3. 模板下載

已完成模板可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\利用内置數據集實現範圍劃分.cpt

點擊下載模板:利用内置數據集實現範圍劃分.cpt

附件列表


主題: 原簡體文檔
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

7s后關閉

反饋已提交

網絡繁忙