1. 概述
1.1 版本
FineReport 版本 | 功能變動 |
---|---|
11.0 | - |
11.0.1 | 公式編輯框增加「輸入提示」和「關閉前檢查」選項 公式搜尋優化 |
11.0.3 | 新增了自動補全功能:使用公式編輯面板編寫公式時,若輸入內容只有一個補全公式的選擇,此時取消補全的提示(例如打一個空格再刪除這個空格),再輸入任何一個英文字母,直接補全為之前的選擇 |
11.0.4 | 公式編輯框最外層支援調整大小 |
1.2 功能簡介
在設計範本時使用者需要頻繁的使用公式函式,例如:求和、求個數、做判斷等等。
本文介紹函式的計算組成和文法。
2. 計算文法
2.1 概覽
組成部分 | 文法 | 範例 |
---|---|---|
函式 | 函式文法詳情查看對應函式: | SUM(合同金額)、SUM(A1) |
資料欄 | 可輸入有資料欄的儲存格名稱 | A1(黑色) |
運算子 | 詳情參見:計算運算子說明 | +、-、*、/ |
正文表式 | 數字正文寫為數字。 字串正文和日期正文帶有引號。 布爾正文寫為 true 或 false。 Null 正文寫為 null。 | 2000 "大訂單"、“2020-07-15” true 或者 false null |
2.2 函式文法
在 FineReport 中,函式是計算的主要組成部分。
1)函式在 FineReport 計算中顯示為藍色,每個函式都有特定的文法。
例如:在 FineReport 中建立範本,在儲存格中輸入「=」,然後雙擊儲存格,將出現「公式編輯框」,如下圖所示:
注1:資料集函式不支援模擬計算。
位置 | 說明 |
---|---|
A | 寫入公式位置 注:若計算後結果小數位超過4位,計算結果會自動四捨五入,因此可能與實際資料產生微小差距 。 如需精確顯示資料,可使用 Round 函式調整資料精度:Round函式 |
B | 函式搜尋框 搜尋結果包括「函式」和「參數」兩種型別 前綴為f(x),表示此項為函式 前綴為$,表示此項為參數。 |
C | 輸入公式會進行自動識別顯示 支援顯示參數(包括全局變數;系統變數;已經定義全局參數、範本參數、資料集參數)和函式。 前綴為f(x),表示此項為函式 前綴為$,表示此項為參數。 注1:使用者自訂公式與報表自帶公式顯示方式一致。 注2:函式顯示位置優先高於參數,即所有相關函式顯示完成後再顯示參數。 注3:不同型別的同名參數僅顯示一個。 |
D | 選擇函式型別 |
E | 選擇需要使用的函式 |
F | 選擇是否引用參數 |
G | 查看公式用法 |
H | 檢查公式合法性,詳情可參見本文 3.3 節 |
I | 關閉前檢查,詳情可參見本文 3.3 節 |
J | 模擬計算,詳情參見本文 3.4 節 |
11.0.4 版本公式編輯框最外層支援調整大小,如下圖所示:
2)可以在計算中使用多個函式。例如:IF(SIGN(A2)=1,B2,0)
該計算中有兩個函式:IF、SIGN。
函式包括在另一個函式中(即巢),上面範例就是這種情況。在這種情況下,將在計算 IF 函式之前先計算「A2」儲存格的 SIGN 函式,因為後者在括號內部。
2.3 資料欄文法
可以在計算中插入資料欄。函式的文法通常會指明應在計算中的何處插入資料欄。例如:COUNT(value1,value2,…)。
例如:如果要計算銷售員數量,在儲存格中輸入公式:=count(B2),B2 即銷售員資料欄,如下圖所示:
2.4 運算子文法
若要建立計算,需要了解支援的運算子。運算子在 FineReport 計算中顯示為淺黑色。
詳情參見:計算運算子說明
2.5 正文表式文法
此部分描述在 FineReport 計算中使用正文表式的正確文法。
正文表式「按原樣」表示常數值。使用函式時,有時需要使用正文表式表示數字、字串、日期等。
3. 範例
函式計算由四個內容組成:
內容 | 說明 | 報表中顯示 |
---|---|---|
函式 | 用於對欄位中的值或成員進行轉換的語句 | 報表設計器中顯示為藍色 |
資料欄 | 資料表中的資料欄 | 報表設計器中顯示為黑色 |
運算子 | 運算的符號 | 報表設計器中顯示為淺黑色 |
正文表式 | 按照寫入內容表示的常數值 | 報表設計器中 正文型別、時間型別(有雙引號)顯示為粉色 數值型別顯示為紫色 |
3.1 設計報表
例如,使用內建資料集「銷量」建立資料集ds1,對不同地區銷量高低做判斷。
將「地區」欄位拖入 A2,將「銷量」欄位拖入B2,並設定「銷量」展示方式為求和,然後對不同地區的銷量情況進行求和,如下圖所示:
3.2 輸入公式
選擇「儲存格元素>插入公式」,彈出公式定義框,輸入公式:if(B2>8000,"高銷量","低銷量"),即進行判斷,如果銷量大於 8000,則定義為高銷量,否則定義為低銷量,如下圖所示:
輸入計算內容說明如下所示:
內容 | 說明 |
---|---|
函式 | IF |
資料欄 | B2 |
運算子 | 詳情參見:運算子 |
正文表式 | 字串正文:"高銷量"、"低銷量" 數字正文:8000 |
3.3 公式校驗
有兩種公式校驗方案:
方案一:點選「檢查合法性」進行公式校驗,如下圖所示:
方案二:
勾選「關閉前檢查」,然後點選「確定」,自動對公式進行校驗,如果公式正確,則直接關閉公式編輯框,如果公式錯誤,則會給出報錯提示,如下圖所示:
3.4 根據模擬計算查看結果
完成後可點選「模擬計算」,輸入公式中的參數 B2 需要驗證的資料,例如輸入 400,即可實時查看計算結果為「低銷量」,如下圖所示:
注1:資料集函式、層次座標函式、GETUSERDEPARTMENTS()和GETUSERJOBTITLES()獲取部門角色的部門和職位函式、WEBIMAGE函式、TOIMAGE 函式、檔案函式、treelayer函式、不支援模擬計算。
注3:需要擴展後才能進行計算的參數不支援模擬計算。