反饋已提交

網絡繁忙

其他函式概述--重複

1. CLASS

1)概述

文法CLASS(object)傳回 object 物件的所屬的類。
參數object

物件

傳回值String-

2)範例

公式結果備註
CLASS(121)class java.lang.Integer-

2. CORREL——求相關係數

1)概述

文法CORREL(array1,array2)求兩個相同長度資料系列的相關係數(與Excel的同名函式作用相同)。
參數1array1

資料系列1

參數2array2

資料系列2

傳回值Number相關係數的取值範圍是[-1,1]之間的數。相關係數的絕對值越大,表示誤差越小。

2)注意事項

  •  Array1 和 Array2 的資料點的個數必須相同。

  • 如果陣列或引用參數包含正文、邏輯值或空白儲存格,則這些值將被忽略;但包含零值的儲存格將計算在內。

  • 函式計算結果出現負數表示負相關。

3)範例

公式結果備註
CORREL([1,2,3],[2,4,6])1-

3. EVAL——傳回表式 exp 計算後的結果

1)概述

文法EVAL(exp)傳回表式 exp 計算後的結果
參數exp

一個表式形式字串。

傳回值Number-

2)注意事項

  • 只要 EVAL 中的參數 exp 最終可以轉化成一表式形式的字串。比如"sum(2,4)","2+7"等等,那麼它就可以被計算。

3)範例

公式結果備註
EVAL("2+5")7-
EVAL("count(2,3)")2-
EVAL("sum"+"(2,3,5)")10-
EVAL(IF(true, "sum", "count") + "(1,2,3,4)")10-
EVAL(IF(false, "sum", "count") + "(1,2,3,4)")4-

4. INDEX——傳回位置

1)概述

文法INDEX(key,val1,val2,...)傳回 key 在 val1,val2,... 所組成的序列中的位置,不存在於序列中則傳回參數的個數。
參數1exp

key 和 valn 可以是任意型別。

參數2val1,val2,...
傳回值Number-

2)範例

公式結果備註
INDEX(2,2)1-
INDEX(2,1,2)2-
INDEX(2,4,5,6)4-
INDEX("b","b","o","y")1-

5. ISNULL——判斷是否為空

1)概述

文法ISNULL(object)判斷物件中所有的值是否全部都是 NULL 或者為空字串
參數object

需要判斷的物件,結果為空或null,傳回 true,否則傳回 false。

傳回值String
-

2)範例

輸入公式:ISNULL(A1),預覽報表,如下圖所示:

6. LET——區域性變數指派

1)概述

文法LET(變數名,變數值,變數名,變數值,..., 表式)區域性變數指派函式。
參數1變數名

必須是合法的變數名,以字母開頭,可以包括字母,數字和底線。 

參數2變數值參數的個數 N 必須為奇數,最後一個是表式,前面是 N-1(偶數)為區域性變數指派對。 
參數3表式根據前面的 N-1 個參數指派後計算出來的結果,這些變數指派只在這個表式內部有效。
傳回值Number
-

2)範例

公式結果備註
LET(a, 5,b, 6, a+b)11-

7. MEDIAN——中位數

MEDIAN(array1):傳回資料系列的中值(與 Excel 的同名函式作用相同)。

1)當資料元件數量是奇數時,取最中間的元素。

範例結果
MEDIAN([1,2,3])2

2)當資料元件數量是偶數時,取最中間兩個元素的算術平均值。

範例結果
MEDIAN(1,2,3,-1)1.5

注:在報表伺服器版本為 8.0 及以上時,先將資料元件進行排序,再取中位數,結果為 1.5,這樣的結果正確;而在報表伺服器為 8.0 之前,報表不進行排序,直接去掉左右兩邊的值,結果為 2.5,這樣的結果不正確。


8. NVL——傳回第一個不為 null 的 value 值

1)概述

文法NVL(value1,value2)傳回第一個不為 null 的 value 值。如果 value1 不為 null,則傳回 value1 的值,否則傳回 value2 的值,如果 value1 和 value2 都是 null,則傳回 null。 
參數1value1

可以為任意數,也可以為 null。 

參數2value2可以為任意數,也可以為 null。 
傳回值Number
-

2)注意事項

此處的 NVL(value1,value2)為短路運算子。即當第一個不為空的情況下,直接傳回第一個的值,對後面的將不再運算。也可以為 null。

3)範例

公式结果
NVL(12,20)12
NVL(null,12)12

9. RANK——傳回秩

1)概述

文法RANK(number,ref,order)傳回一個數在一個陣列中的秩。(如果把這個陣列排序,該數的秩即為它在陣列中的序號)。
參數1number

所求秩的數,可以是 Boolean 型,true=1,false=0。

參數2Ref可以是陣列,引用,或一系列數,非實數的值被忽略處理。接受Boolean型,zhitrue=1,false=0。
參數3Order指定求秩的參數,非零為升冪,零為降冪。
傳回值Number
-

2)注意事項

RANK 對重複的數傳回相同的秩,但重複的數影響後面的數的秩,比如,在一組升冪排列的整數中,如果 5 出現了 2 次,並且秩為 3,那麼 6 的秩為 5 (沒有數的秩是 4)。

3)範例

範例結果

如果A1:A5 = 6, 4.5, 4.5, 2, 4 

則:

RANK(A1,A1:A5,1)

5

升冪排列時,A1 中的 6 的秩為 5

RANK(3,1,2,"go",3,4,1)

3

"go"被忽略

10. SEQ——執行次數

SEQ():傳回數值,在整個報表執行過程中,傳回該函式被第幾次執行。

範例結果
SEQ()第一次執行時,結果為 1
第二次執行時,結果為 2

11. STDEV——標準差

STDEV(array1):計算資料系列的標準偏差(與 Excel 的同名函式作用相同)。

注:使用該函式,資料值必須要有多個,單個值無法計算偏差,預覽報錯。

範例結果
STDEV([1,2,3])1

12. TOIMAGE——傳回圖片

1)概述

文法TOIMAGE(path)顯示指定路徑下的圖片。
参数path

圖片路徑

2)注意事項

  • 此處預設開啓了圖片快取功能以加速報表的生成。如不需要快取,請在參數後面追加值 FALSE。

  • 不支援模擬計算,模擬計算詳情參見:2.4節

3)範例

公式結果備註
TOIMAGE("D:/fr.png",false)顯示圖片

13. WEBIMAGE——顯示網頁圖片

1)概述

文法WEBIMAGE(path)顯示網頁上的圖片。可以提升 Web 圖片載入速度。
參數path

圖片網頁

2)注意事項

不支援模擬計算,模擬計算詳情參見:2.4節

11.0.17 及之前版本,圖片佈局不生效,圖片在儲存格中預覽為拉伸效果。

11.0.18 及之後版本使用函式傳回的圖片,「圖片佈局」為「預設」預覽顯示與平鋪效果相同。可以在「儲存格屬性>樣式>對齊>圖片佈局」處選擇其他佈局方式。佈局方式在預覽和匯出時均生效,可參考:調整圖片佈局

11.0.17 及之前版本升級至 11.0.18 及以上後,原範本中的圖片顯示效果會變更為平鋪顯示效果。

3)示例

公式
結果
WEBIMAGE('http://www.fanruan.com/images/index2.jpg')顯示圖片
效果如下圖所示:

14. UUID——傳回隨機數

1)概述

文法UUID()傳回隨機的 UUID。
參數空/32

傳回36位/32位隨機數

傳回值String-

2)範例

目前只支援兩種位數的隨機數,如下:

公式結果備註
UUID()傳回36位隨機數,例如 ad342e21-fc60-4de3-8f20-126f6ac60a50-
UUID(32)傳回32位隨機數,例如 4400a7ddeece4e568803a64634edd6e4-

在設計器中新增公式如下圖所示:

得到結果預覽如下圖所示:

15. QUERY——決議 JSON 文本

FineReport10.0(2019-03-01)版本之後,提供了一個用於決議 JSON 文本的函式,有以下兩個作用:

  • 用於提取內建參數 $fine_position 中的值

  • 用於提取 JSON 格式的正文中的特定值,用於到報表中展示,避免使用報表中的正文函式進行各種切割。

該函式的第一個參數為待處理的字串,可以是一個 JSON 格式的字串,也可以是一個普通字串。

該函式的第二個參數是查詢語句,是一個標準的 JavaScript 語句,其中用 $ 表示第一個參數的值,可以參與運算。

15.1 用法一

用於提取內建參數 $fine_position 中的值

範例:

建立報表輸入公式:=QUERY($fine_position, "$ instanceof Array ? $.map(el => el.jobTitle) : $.jobTitle"),如下圖所示:

將範本掛出至平台,不同使用者登入平台後,範本將根據登入平台使用者的職位。

例如,技術支援部長 Alice 登入,顯示其職位,如下圖所示:

15.2 用法二

用於提取 JSON 格式的正文中的特定值,用於到報表中展示,避免使用報表中的正文函式進行各種切割。

函式呼叫結果
QUERY("{\"job\":\"司机\",\"age\":45}", "$.age")45
QUERY("{\"job\":\"司机\",\"age\":45}", "function() {return $.age > 50 ? 100 : 0}")0
QUERY("[\"a\",\"b\"]", "$")["a","b"]
QUERY("[\"a\",\"b\"]", "$[1]")"b"
QUERY("{\"value\":20.5,\"status\":true}", "$.status")true
QUERY("{\"value\":20.5,\"status\":true}", "$.value")20.5
QUERY("hello", "$")"hello"
QUERY("hello", "$.slice(0, 3)")"hel"
QUERY("hello", "$ + \" world\"")"hello world"


附件列表


主題: Lauren--下架
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

文 檔回 饋

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

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

不再提示

10s後關閉