1. 概述
1.1 版本
1.2 应用场景
本文所描述的函数适用于「分页预览」、「填报预览」、「数据分析预览」、「移动端预览」以及「PC端预览」。
注:函数不支持在新填报插件下使用,会存在异常效果,建议将预览方式改为「填报预览」。
2. 常用函式
函式名稱
| 作用 |
---|
SUM
| 求一個指定儲存格區域中所有數字之和。 |
COUNT
| 計算陣列或資料區域中所含項的個數。 |
AVERAGE
| 傳回指定資料的平均值。 |
CHAR
| 根據指定數字傳回對應的字元。 |
DATE
| 傳回一個表示某一特定日期的系列數。 |
MAX
| 傳回參數列表中的最大值。 |
MIN
| 傳回參數列表中的最小值。 |
TIME
| 傳回指定的日期和時間, 日期會隨當天的日期改變。 |
RANGE
| 函式表示從整數from開始,以step為每一步的大小,直到整數to的一個數字序列。 |
3. 數學函式
函式名稱
| 作用 |
---|
ABS
| 傳回指定數位的絕對值。 |
AVERAGE
| 傳回指定資料的平均值。 |
BITNOT
| 將一個十進制整數進行二進制取反運算。 |
BITOPERATION
| 傳回兩個整數根據op進行位運算後的結果。 |
CEILING
| 將參數沿絕對值增大的方向,舍入為最接近的整數。 |
COMBIN
| 傳回若干個指定物件的組合數。 |
COUNT | 計算陣列或資料區域中所含項的個數。 |
EVEN
| 傳回沿絕對值增大方向取整後最接近的偶數。 |
EXP
| 傳回e的n次冪。常數e為自然對數的底數,等於2.71828182845904。 |
FACT
| 傳回數的階乘,一個數的階乘等於1*2*3*...*該數。 |
FLOOR
| 將參數沿絕對值減小的方向去尾舍入。 |
INT
| 傳回數字下舍入(數值減小的方向)後最接近的整數值。 |
LN
| 傳回一個數的自然對數。 |
LOG
| 按指定的任意底數,傳回數值的對數。 |
LOG10
| 傳回以10為底的對數。 |
MAX
| 傳回參數列表中的最大值。 |
MIN
| 傳回參數列表中的最小值。 |
MOD
| 傳回兩數相除的餘數。 |
ODD
| 傳回對指定數值進行舍入後的奇數。 |
PI
| PI(number):是一個數學常數函式,當number為空時,函式傳回精確到15位的數值3.141592653589793;當參數不為空時,number表示PI的整數倍數。 |
POWER
| POWER(number,power):傳回指定數位的乘冪。 |
PRODUCT
| 將所有以參數形式給出的數字相乘,並傳回乘積值。 |
PROMOTION
| PROMOTION(value1,value2):傳回value2在value1上提升的比例。 |
RAND
| 傳回均勻分佈的隨機數。 |
RANDBETWEEN
| RANDBETWEEN(value1,value2):傳回value1和value2之間的一個隨機整數。 |
ROUND
| 傳回某個數字按指定位數舍入後的數字。 |
ROUND5
| ROUND5(number,num_digits):將number按照指定的num_digits位數進行四捨五入,奇進偶不進。 |
ROUNDDOWN
| ROUNDDOWN(number,num_digits):靠近零值,向下(絕對值減小的方向)舍入數字 |
ROUNDUP
| ROUNDUP(number,num_digits):遠離零值,向上(絕對值增大的方向)舍入數字。 |
SIGN
| 傳回數位的符號。當數字為正數時傳回1,為零時傳回0,為負數時傳回-1 |
SQRT
| 傳回一個正數的平方根。 |
SUM
| 求一個指定儲存格區域中所有數字之和。 |
SUMSQ
| 傳回所有參數的平方和。 |
TOBINARY
| 將一個十進制整數型態數轉換成二進制表示的字串。 |
TOHEX
| 將一個十進制整數型態數轉換成十六進制表示的字串。 |
TOOCTAL
| 將一個十進制整數型態數轉換成八進制表示的字串。 |
TRUNC
| 將數位的小數部分截去,傳回整數。 |
WEIGHTEDAVERAGE
| 傳回指定資料的加權平均值。 |
4. 三角函式
5. 正文函式
函式名稱
| 作用 |
---|
CHAR
| 根據指定數字傳回對應的字元。 |
CNMONEY
| 傳回人民幣大寫。 |
CODE
| 計算正文串中第一個字元的數字代碼。 |
CONCATENATE
| 將數個字串合併成一個字串。 |
ENDWITH
| ENDWITH(str1,str2):判斷字串str1是否以str2結束。 |
ENMONEY
| 將給定的BigDemical型別的數字轉換成英文金額字串。 |
ENNUMER
| 將給定的BigDecimal型別的數字(100以內)取整後轉化成英文金額的字串。 |
EXACT
| 檢查兩組正文是否相同。 |
FIND
| FIND(find_text,within_text,start_num):從指定的索引(start_num)處開始,傳回第一次出現的指定子字串(find_text)在此字串(within_text)中的索引。 |
FORMAT
| 傳回object的format格式。 |
INDEXOF
| 傳回字串str1在index位置上的字元。 |
LEFT
| 根據指定的字元數傳回正文串中的第一個或前幾個字元。 |
LEN
| 傳回正文串中的字元數或者陣列的長度。 |
LOWER
| 將所有的大寫字母轉化為小寫字母。 |
MID
| 傳回正文串中從指定位置開始的一定數目的字元。 |
NUMTO
| 傳回number的中文表示。 |
PROPER
| 將正文中的第一個字母和所有非字母字元後的第一個字母轉化成大寫,其他字母變為小寫。 |
REGEXP
| 字串str是否與正則表式pattern相匹配。 |
REPLACE
| 根據指定字串,用其他正文來代替原始正文中的內容。 |
REPEAT
| 根據指定的次數重複顯示正文。 |
RIGHT
| 根據指定的字元數從右開始傳回正文串中的最後一個或幾個字元。 |
SPLIT
| SPLIT(String1,String2):傳回由String2分割String1組成的字串陣列。 |
STARTWITH
| STARTWITH(str1,str2):判斷字串str1是否以str2開始。 |
SUBSTITUTE
| SUBSTITUTE(text,old_text,new_text,instance_num):用new_text更換正文串中的old_text。 |
TODOUBLE
| 將正文轉換成Double物件。 |
TOINTEGER
| 將正文轉換成Integer物件,可以傳回Long範圍內的整數。 |
TRIM
| 清除正文首尾所有的空格。 |
UPPER
| 將正文中所有的字元轉化為大寫。 |
6. 日期和時間函式
7. 邏輯函式
函式名稱
| 作用 |
---|
AND
| 當所有參數的值為真時,傳回TRUE;當任意參數的值為假時,傳回FALSE。 |
BITNOT
| 將一個十進制整數進行二進制取反運算。 |
BITOPERATION
| BITOPERATIOIN(int,int,op)位運算,傳回兩個整數根據op進行位運算後的結果。 |
IF
| IF(boolean,number1/string1,number2/string2):判斷函式,boolean為true時傳回第二個參數,為false時傳回第三個。 |
OR
| 當所有參數的值為假時,傳回FALSE;當任意參數的值為真時,傳回TRUE。 |
REVERSE
| 傳回與參數相反的邏輯值。 |
SWITCH
| switch(表式,值1,結果1,值2,結果2,...): 如果表式的結果是值1,整個函式傳回結果1 如果表式的結果是值2,整個函式傳回結果2等等 |
8. 陣列函式
函式名稱
| 作用 |
---|
ADD2ARRAY
| ADD2ARRAY(array, insertArray, start):在陣列第start個位置插入insertArray中的所有元素,再傳回該陣列。 |
ARRAY
| ARRAY(arg1,arg2...):傳回一個由arg1,arg2,...組成的陣列。 |
GREPARRAY
| GREPARRAY(array,fn):函式(傳回true或者false)是條件,過濾此陣列,最後形成一個新陣列。 |
INARRAY
| INARRAY(co,array):傳回co在陣列array中的位置,如果co不在array中,則傳回0。 |
INDEXOFARRAY
| INDEXOFARRAY(array,index):傳回陣列array的第index個元素。 |
MAPARRAY
| MAPARRAY(array,fn):把一個陣列中的專案轉換到另一個陣列中。 |
RANGE
| 函式表示從整數from開始,以step為每一步的大小,直到整數to的一個數字序列。 |
REMOVEARRAY
| REMOVEARRAY(array,start,deleteCount):從陣列array中刪除從第start個元素開始的deleteCount個陣列元素,並傳回刪除後的陣列。 |
REVERSEARRAY
| 傳回陣列的倒序陣列。 |
SLICEARRAY
| SLICEARRAY(array,start,end):傳回陣列從第start個到第end個元素(包括第end個元素)。 |
SORTARRAY
| 傳回陣列排過序的陣列。 |
UNIQUEARRAY
| 去掉陣列中的重複元素。 |
JOINARRAY
| JOINARRAY(array,sepa):傳回一個由sepa作為分隔符的字串。 |
9. 報表函式
函式名稱
| 作用 |
---|
COL
| 傳回當前儲存格的列號。 |
COLCOUNT
| COLCOUNT(tableData):傳回tableData中列的個數。 |
COLNAME
| COLNAME(tableData,colIndex)傳回的是tableData中列序號colIndex的列名。 |
FIELDS
| FIELDS(connectionName,tableName):傳回tableName這個表中的所有欄位名 |
MAP
| MAP(object,string,int,int):四個參數分別是索引值,資料集的名稱,索引值所在列序號,傳回值所在列序號。 |
RECORDS
| RECORDS(connection,table,field):傳回資料庫表table中欄位名field下的所有元素。 |
SQL
| SQL(connectionName,sql,columnIndex,rowIndex)傳回透過sql語句從connectionName中獲得資料表的第columnIndex列第rowIndex行所對應的元素。 |
I18N
| i18n為本軟體內建國際化公式,可以對一些常用的詞語進行國際化。 |
ROW
| 傳回當前儲存格的行號。 |
ROWCOUNT
| ROWCOUNT(tableData):傳回 TableData 的行數。 |
TABLEDATAFIELDS
| TABLEDATAFIELDS(tableData):傳回tableData中所有的欄位名。 |
TABLEDATAS
| 傳回報表資料集和伺服器資料集名稱。 |
TABLES
| TABLES(connectionName):傳回名為 connectionName 的資料庫中的所有表名。 |
VALUE
| VALUE(tableData,col,row)傳回tableData中列號為col的值,行號為row。 |
DECODE
| 使用指定的編碼機制(UTF-8)對 application/x-www-form-urlencoded 字串解碼。 |
ENCODE
| 使用指定的編碼機制(UTF-8)將字串轉換為application/x-www-form-urlencoded格式。 |
10. 其他函式
函式名稱
| 作用 |
---|
CLASS
| CLASS(object):傳回object物件的所屬的類。 |
CORREL
| CORREL(array1,array2):求兩個相同長度資料系列的相關係數(與Excel的同名函式作用相同)。 |
EVAL
| EVAL(exp)傳回表式exp計算後的結果。 |
INDEX
| INDEX(key,val1,val2,...):傳回key在val1,val2,...所組成的序列中的位置,不存在於序列中則傳回參數的個數。 |
ISNULL
| 判斷物件中所有的值是否全部都是NULL或者為空字串。 |
LET
| LET(變數名,變數值,變數名,變數值,...,表式):區域性變數指派函式,參數的個數N必須為奇數,最後一個是表式,前面是N-1(偶數)為區域性變數指派對。 |
MEDIAN
| 傳回資料系列的中值(與Excel的同名函式作用相同)。 |
NVL
| 在所有參數中傳回第一個不是null的值。 |
RANK
| 傳回一個數在一個陣列中的秩。 |
SEQ
| 傳回數值,在整個報表執行過程中,傳回該函式被第幾次執行了。 |
STDEV
| 計算資料系列的標準偏差(與Excel的同名函式作用相同)。 |
TOIMAGE
| 顯示指定路徑下的圖片。 |
WEBIMAGE
| 在web頁面上顯示指定路徑下的圖片。 |
UUID
| 傳回隨機的UUID。 |
QUERY
| 用於解析 JSON 正文的函式。 |
11. 層次座標函式
函式名稱
| 作用 |
---|
CIRCULAR
| 循環引用, =CIRCULAR(A1, B1, C1, D1)等同於=IF(&A1 = 1, 0, B1[A1:-1] + C1[A1:-1] – D1[A1:-1]),如需橫向, 則傳遞第五個參數false。 |
CROSSLAYERTOTAL
| 跨層累計, =CROSSLAYERTOTAL(A1, B1, C1, D1)等同於=IF(&B1 >1, D1[B1:-1] + C1, D1[A1:-1,B1:!-1] + C1), 如需橫向, 則傳遞第五個參數false。
|
HIERARCHY
| 層次座標簡寫, 等同於=A1[A1:-1], 若需=B1[A1:-1]則HIERARCHY(A1, B1)。 |
LAYERTOTAL
| 逐層累計, =LAYERTOTAL(B1, C1, D1)等同於=D1[B1:-1] + C1, 如需橫向, 則傳遞第四個參數false。 |
MOM
| 環比公式, =MOM(A1, B1)等同於=IF(&A1 > 1, B1 / B1[A1:-1],0)。 |
PROPORTION
| 佔比公式,=PROPORTION(A1)等同於=A1/sum(A1[!0])。 |
SORT
| 排名公式, =SORT(A1)等同於=COUNT(A1[!0]{A1 > $A1}) + 1, 預設升冪排列, 如需要降冪, 則傳遞參數false。 |