1. 概述
1.1 版本
報表伺服器版本 | 功能變更 |
---|---|
11.0 | - |
11.0.4 | 檔案處理-郵件通知-收件人-自訂信箱支援輸入公式 檔案處理-郵件通知-複本人-自訂信箱支援輸入公式 檔案處理-郵件通知-密送人-自訂信箱支援輸入公式 檔案處理-使用者端通知-自訂連結支援輸入公式 |
1.2 功能簡介
本文將詳細介紹設定排程管理任務程式中,可以使用的公式及其用法。
注1:排程管理任務中,無法觸發報表的 JS 事件。
注2:排程管理任務中,「調度週期-執行條件-公式判斷」處支援將儲存格作為參數傳給其他公式使用;除此之外的其他地方,都不支援將儲存格作為參數傳給其他公式使用。
注3:排程管理任務中,公式的長度過長、公式解析後的收件人長度過長、公式解析後的主題過長等情況,都有可能導致排程管理任務執行失敗。
2. FineReport 範本
類型 | 公式/參數/函式 | 使用位置 | 備注 |
---|---|---|---|
參數 | 使用者全局參數: ${fine_username}${fine_position}${fine_role}${fr_username}${fr_userposition}${fr_authority} | 排程物件-參數設定 排程物件-檔案名稱 調度週期-執行條件-公式判斷 檔案處理-平台通知-主題和內容 檔案處理-郵件通知-主題和內容 檔案處理-使用者端通知-主題和內容 檔案處理-簡訊通知-簡訊參數 檔案處理-郵件通知-收件人-自訂信箱 檔案處理-郵件通知-複本人-自訂信箱 檔案處理-郵件通知-密送人-自訂信箱 檔案處理-使用者端通知-自訂連結 | 1)作為參數時,在【排程物件-參數設定】和【調度週期-執行條件-公式判斷】中不要加【{}】,例如:【$fine_role】;其他情況要加【{}】,例如【${fine_role}】。 2)使用使用者全局參數,需要勾選【除通用結果外,根據預設使用者組內的使用者單獨生成結果】。 3)【掛載平台】、【FTP 上傳附件】、【列印檔案】使用通用結果資料夾下的檔案,無法使用【使用者全局參數】。 |
1)作為參數時,在【排程物件-參數設定】和【調度週期-執行條件-公式判斷】中不要加【{}】,例如:【$p】;其他情況要加【{}】,例如:【${p}】。 2)在【排程物件-參數設定】右側,點選【設定參數預設值】,參數列表載入後,才能在排程管理的其他地方引用資料集參數/範本參數/全局參數。 3)對於資料集參數,只能獲取到【範本資料集】的參數,不能得到【伺服器資料集】的參數和【報表函式】。 | |||
自訂參數 | 作為參數時,在【排程物件-參數設定】和【調度週期-執行條件-公式判斷】中不要加【{}】,例如:【$p】;其他情況要加【{}】,例如【${p}】。 | ||
結果報表儲存格值 | 範例: sum(B8,C8)>1000 | 排程物件-參數設定 排程物件-檔案名稱 調度週期-執行條件-公式判斷 檔案處理-平台通知-主題和內容 檔案處理-郵件通知-主題和內容 檔案處理-使用者端通知-主題和內容 檔案處理-簡訊通知-簡訊參數 檔案處理-郵件通知-收件人-自訂信箱 檔案處理-郵件通知-複本人-自訂信箱 檔案處理-郵件通知-密送人-自訂信箱 檔案處理-使用者端通知-自訂連結 | 1)作為參數時,在【調度週期-執行條件-公式判斷】中,直接使用【A2】,其他情況下不能作為函式參數,只能使用【${A2}】的格式。 2)只取預設 sheet 頁的儲存格值,不能跨 sheet 取數。 3)若 A1 儲存格的值可拓展為 1,2,3三個值: 【調度週期-執行條件-公式判斷】功能:2018-12-27 之前的 JAR 中,使用【${A1}】公式取到的是 1 ;2018-12-27 之後的 JAR 中,使用【${A1}】公式取到的是包含 1,2,3 三個元素的陣列。 其他功能:使用【${A1}】公式取到的都是 1。 |
表單公式 | 決策報表的組件,可以引用該決策報表的【報表塊】中儲存格的資料 公式格式為:【報表塊名稱~儲存格】 範例:${report0~A1} | 排程物件-參數設定 排程物件-檔案名稱 調度週期-執行條件-公式判斷 檔案處理-平台通知-主題和內容 檔案處理-郵件通知-主題和內容 檔案處理-使用者端通知-主題和內容 檔案處理-簡訊通知-簡訊參數 檔案處理-郵件通知-收件人-自訂信箱 檔案處理-郵件通知-複本人-自訂信箱 檔案處理-郵件通知-密送人-自訂信箱 檔案處理-使用者端通知-自訂連結 | 作為參數時,在【調度週期-執行條件-公式判斷】中,直接使用【report0~A1】。其他情況下使用【${report0~A1}】。 注:2019-11-08 之後的 JAR 支援表單公式的使用,但不支援自訂報表塊名稱。 |
報表塊公式 | 範例: ${block1~A4} | 作為參數時,在【調度週期-執行條件-公式判斷】中,直接使用參數名【block1~A4】就能取數。其他情況下使用【${block1~A4}】才能取數。 注:2020-04-26 及之後的 JAR 支援複合式報表報表塊公式的使用。 | |
跨sheet公式 | 範例: 'sheet1'!A1 | 調度週期-執行條件-公式判斷 | 僅支援在排程管理的調度週期-執行條件-公式判斷中,對非複合式報表使用跨sheet公式 不支援對複合式報表使用 不支援在排程管理其他位置使用 |
常用函式 | SUM、COUNT、 AVERAGE、CHAR、DATE、MAX、 MIN、TIME、 RANGE | 排程物件-參數設定 排程物件-檔案名稱 調度週期-執行條件-公式判斷 檔案處理-平台通知-主題和內容 檔案處理-郵件通知-主題和內容 檔案處理-使用者端通知-主題和內容 檔案處理-簡訊通知-簡訊參數 檔案處理-郵件通知-收件人-自訂信箱 檔案處理-郵件通知-複本人-自訂信箱 檔案處理-郵件通知-密送人-自訂信箱 檔案處理-使用者端通知-自訂連結 | 1)作為參數時,在【排程物件-參數設定】和【調度週期-執行條件-公式判斷】中不要加【${}】,其他情況要加【${}】。 例如【AND(1+7=8,5+7=12)】,在排程管理中應該寫為【${AND(1+7=8,5+7=12)}】,不要加【=】號。 注:請不要手動給公式前面新增=號,寫成=${AND(1+7=8,5+7=12)} 2)【WEIGHTEDAVERAGE的】參數只能是常數陣列,不能是【A1:A4】這種形式。 3)【FORMAT】函式,不支援引用範本中的儲存格。 4)【COL】和【ROW】寫在儲存格中,在排程管理中雖然不會報錯,但是沒有意義,回傳值為常數 0 。 【COL()】傳回當前儲存格的列號。 例如,若當前儲存格是 A5 ,在 A5 中寫入:【=col()】,傳回 1 ;若當前儲存格是 C6 ,在 A5 中寫入:【=col()】,傳回 3。 5)【COLCOUNT】、【COLNAME】、【MAP】、【ROWCOUNT】、【TABLEDATAFIELDS】、【VALUE】這些函式的參數中包括有資料集,在排程管理中,只能使用全局資料集,無法獲取範本資料集。 6)【WEBIMAGE】用來顯示網頁上的圖片,在排程管理中傳回【com.fr.file.WebImage@23dd10da】類似格式。 7)REPORTCHECK雖不會報錯,但是不生效。 8)CELLSUM雖有回傳值,但是無意義。 |
數學和三角函式 | ABS、ACOS、ACOSH、ASIN、ASINH、ATAN、ATAN2、AVERAGE、CEILING、COMBIN、COS、SOSH、COUNT、DECIMAL、DEGREES、EVEN、EXP、FACT、FLOOR、INT、LN、LOG、LOG10、MAX、MIN、MOS、ODD、PI、POWER、PRODUCT、PROMOTION、RADIANS、RAND、RANDBETWEEN、ROUND、ROUND5、ROUNDDOWN、ROUNDUP、SIGN、SIN、SINH、SQRT、SUM、SUMPRECISE、SUMSQ、TAN、TANH、TOBINARY、TOHEX、TOOCTAL、TRUNC、WEIGHTEDAVERAGE | ||
正文函式 | CHAR、CNMONEY、CODE、CONCATENATE、ENDWITH、ENMONEY、ENNUMBER、EXACT、FIND、FORMAT、INDEXOF、LEFT、LEN、LOWER、MIN、NUMTO、PROPER、REGEXP、REPEAT、REPLACE、RIGHT、SPLIT、STARTWITH、SUBSTITUTE、TODOUBLE、TOINTEGER、TRIM、UPPER | ||
日期和時間函式 | DATE、DATEDELTA、DATEDIF、DATEINMONTH、DATEINQUARTER、DATEINWEEK、DATEINYEAR、DATESUBDATE、DATETONUMBER、DAY、DAYS360、DAYSOFMONTH、DAYSOFQUARTER、DAYSOFYEAR、DAYVALUE、HOUR、LUNAR、MINUTE、MONTH、MONTHDELTA、NOW、SECOND、TIME、TODATE、TODAY、WEEK、WEEKDATE、WEEKDAY、YEAR、YEARDELTA | ||
邏輯函式 | AND、BITNOT、BITOPERATION、IF、OR、REVERSE、SWITCH | ||
陣列函式 | ADD2ARRAY、ARRAY、GREPARRAY、INARRAY、INDEXOFARRAY、JOINARRAY、MAPARRAY、RANGE、REMOVEARRAY、REVERSEARRAY、SLICEARRAY、SORTARRAY、UNIQUEARRAY | ||
報表函式 | COL、DECODE、ENCODE、I18N、ROW、COLCOUNT、COLNAME、FIELDS、MAP、RECORDS、ROWCOUNT、SQL、TABLEDATAFIELDS、TABLEDATAS、TABLES、VALUE | ||
其他函式 | WEBIMAGE、CLASS、CORREL、EVAL、INDEX、ISNULL、LET、MEDIAN、NVL、QUERY、RANK、SEQ、UUID、LUNAR | ||
層次座標函式 | CIRCULAR、CROSSLAYERTOTAL、LAYERTOTAL、MOM、PROPORTION、SORT | ||
自訂函式 | REPORTCHECK、UBM、SUBSECTION、CELLSUM |
3. 無調度物件
類型 | 公式/參數/函式 | 使用位置 | 備注 |
---|---|---|---|
參數 | 使用者全局參數: ${fine_username} ${fine_position} ${fine_role} | 不能使用 | 不能使用 |
常用函式 | SUM、COUNT、AVERAGE、CHAR、DATE、MAX、MIN、TIME、RANGE | 調度週期-執行條件-公式判斷 檔案處理-平台通知-主題和內容 檔案處理-郵件通知-主題和內容 檔案處理-使用者端通知-主題和內容 檔案處理-簡訊通知-簡訊參數 檔案處理-郵件通知-收件人-自訂信箱 檔案處理-郵件通知-複本人-自訂信箱 檔案處理-郵件通知-密送人-自訂信箱 檔案處理-使用者端通知-自訂連結 | 1)作為參數時,在「調度週期-執行條件-公式判斷」中不要加${},其他情況要加${} 例如AND(1+7=8,5+7=12),在排程管理中應該寫為${AND(1+7=8,5+7=12)},不要加=號 |
數學和三角函式 | ABS、ACOS、ACOSH、ASIN、ASINH、ATAN、ATAN2、AVERAGE、CEILING、COMBIN、COS、SOSH、COUNT、DECIMAL、DEGREES、EVEN、EXP、FACT、FLOOR、INT、LN、LOG、LOG10、MAX、MIN、MOS、ODD、PI、POWER、PRODUCT、PROMOTION、RADIANS、RAND、RANDBETWEEN、ROUND、ROUND5、ROUNDDOWN、ROUNDUP、SIGN、SIN、SINH、SQRT、SUM、SUMPRECISE、SUMSQ、TAN、TANH、TOBINARY、TOHEX、TOOCTAL、TRUNC、WEIGHTEDAVERAGE | ||
正文函式 | CHAR、CNMONEY、CODE、CONCATENATE、ENDWITH、ENMONEY、ENNUMBER、EXACT、FIND、FORMAT、INDEXOF、LEFT、LEN、LOWER、MIN、NUMTO、PROPER、REGEXP、REPEAT、REPLACE、RIGHT、SPLIT、STARTWITH、SUBSTITUTE、TODOUBLE、TOINTEGER、TRIM、UPPER | ||
日期和時間函式 | DATE、DATEDELTA、DATEDIF、DATEINMONTH、DATEINQUARTER、DATEINWEEK、DATEINYEAR、DATESUBDATE、DATETONUMBER、DAY、DAYS360、DAYSOFMONTH、DAYSOFQUARTER、DAYSOFYEAR、DAYVALUE、HOUR、LUNAR、MINUTE、MONTH、MONTHDELTA、NOW、SECOND、TIME、TODATE、TODAY、WEEK、WEEKDATE、WEEKDAY、YEAR、YEARDELTA | ||
邏輯函式 | AND、BITNOT、BITOPERATION、IF、OR、REVERSE、SWITCH | ||
陣列函式 | ADD2ARRAY、ARRAY、GREPARRAY、INARRAY、INDEXOFARRAY、JOINARRAY、MAPARRAY、RANGE、REMOVEARRAY、REVERSEARRAY、SLICEARRAY、SORTARRAY、UNIQUEARRAY | ||
報表函式 | COL、DECODE、ENCODE、I18N、ROW、COLCOUNT、COLNAME、FIELDS、MAP、RECORDS、ROWCOUNT、SQL、TABLEDATAFIELDS、TABLEDATAS、TABLES、VALUE | 1)COL和ROW寫在 FineReport 範本的儲存格中,在排程管理中雖然不會報錯,但沒有意義,回傳值為常數 0 2)COLCOUNT、COLNAME、MAP、ROWCOUNT、TABLEDATAFIELDS、VALUE這些函式的參數中包括有資料集,在 BI 工程就會獲取 BI 的伺服器資料集,在 FR 工程就會獲取 FR 的伺服器資料集 | |
其他函式 | WEBIMAGE、CLASS、CORREL、EVAL、INDEX、ISNULL、LET、MEDIAN、NVL、QUERY、RANK、SEQ、UUID、LUNAR | 1)SEQ雖被執行,但永遠只有一次,所以值一直為 1 ,沒什麼意義 2)WEBIMAGE用來顯示網頁上的圖片,在排程管理中傳回com.fr.file.WebImage@23dd10da類似格式 | |
自訂函式 | UBM、SUBSECTION | 取儲存格值的函式在無排程物件中都不能使用。 |