# 函數庫列表
### 系統函數
| 函數名稱 | 說明 |
| --- | --- |
| assert(predicate, [msg]) | 斷言函數,當 predicate 的結果為 false 的時候拋出 AssertFailed 異常, msg 錯誤信息可選。 |
| sysdate() | 返回當前日期對象 java.util.Date |
| rand() | 返回一個介于 [0, 1) 的隨機數,結果為 double 類型 |
| rand(n) | 返回一個介于 [0, n) 的隨機數,結果為 long 類型 |
| cmp(x, y) | 比較 x 和 y 大小,返回整數,0 表示相等, 1 表達式 x > y,負數則 x < y。 |
| print([out],obj) | 打印對象,如果指定 out 輸出流,向 out 打印, 默認輸出到標準輸出 |
| println([out],obj) | 與 print 類似,但是在輸出后換行 |
| 或者 | |
| p([out], obj) | |
| pst([out], e); | 等價于 e.printStackTrace(),打印異常堆棧,out 是可選的輸出流,默認是標準錯誤輸出 |
| now() | 返回 System.currentTimeMillis() 調用值 |
| long(v) | 將值轉為 long 類型 |
| double(v) | 將值轉為 double 類型 |
| boolean(v) | 將值的類型轉為 boolean,除了 nil 和 false,其他都值都將轉為布爾值 true。 |
| str(v) | 將值轉為 string 類型,如果是 nil(或者 java null),會轉成字符串 'null' |
| bigint(x) | 將值轉為 bigint 類型 |
| decimal(x) | 將值轉為 decimal 類型 |
| identity(v) | 返回參數 v 自身,用于跟 seq 庫的高階函數配合使用。 |
| type(x) | 返回參數 x 的類型,結果為字符串,如 string, long, double, bigint, decimal, function 等。Java? 類則返回完整類名。 |
| is_a(x, class) | 當 x 是類 class 的一個實例的時候,返回 true,例如 is_a("a", String) ,class 是類名。 |
| is_def(x) | 返回變量 x 是否已定義(包括定義為 nil),結果為布爾值 |
| undef(x) | “遺忘”變量? x,如果變量 x 已經定義,將取消定義。 |
| range(start, end, [step]) | 創建一個范圍,start 到 end 之間的整數范圍,不包括 end, step 指定遞增或者遞減步幅。 |
| tuple(x1, x2, ...) | 創建一個 Object 數組,元素即為傳入的參數列表。 |
| eval(script, [bindings], [cached]) | 對一段腳本文本 script 進行求值,等價于 AviatorEvaluator.execute(script, env, cached) |
| comparator(pred) | 將一個謂詞(返回布爾值)轉化為 java.util.Comparator 對象,通常用于 sort 函數。 |
| max(x1, x2, x3, ...) | 取所有參數中的最大值,比較規則遵循邏輯運算符規則。 |
| min(x1, x2, x3, ...) | 取所有參數中的最小值,比較規則遵循邏輯運算符規則。 |
| constantly(x) | 用于生成一個函數,它對任意(個數)參數的調用結果 x。 |
### 數學函數
| 函數名稱 | 說明 |
| --- | --- |
| math.abs(d) | 求 d 的絕對值 |
| math.round(d) | 四舍五入 |
| math.floor(d) | 向下取整 |
| math.ceil(d) | 向上取整 |
| math.sqrt(d) | 求 d 的平方根 |
| math.pow(d1,d2) | 求 d1 的 d2 次方 |
| math.log(d) | 求 d 的自然對數 |
| math.log10(d) | 求 d 以 10 為底的對數 |
| math.sin(d) | 正弦函數 |
| math.cos(d) | 余弦函數 |
| math.tan(d) | 正切函數 |
| math.atan(d) | 反正切函數 |
| math.acos(d) | 反余弦函數 |
| math.asin(d) | 反正弦函數 |
### 字符串表達式
| 函數名稱 | 說明 |
| --- | --- |
| date_to_string(date,format) | 將 Date 對象轉化化特定格式的字符串 |
| string_to_date(source,format) | 將特定格式的字符串轉化為 Date 對 象 |
| string.contains(s1,s2) | 判斷 s1 是否包含 s2,返回 Boolean |
| string.length(s) | 求字符串長度,返回 Long |
| string.startsWith(s1,s2) | s1 是否以 s2 開始,返回 Boolean |
| string.endsWith(s1,s2) | s1 是否以 s2 結尾,返回 Boolean |
| string.substring(s,begin[,end]) | 截取字符串 s,從 begin 到 end,如果忽略 end 的話,將從 begin 到結尾,與 java.util.String.substring 一樣。 |
| string.indexOf(s1,s2) | java 中的 s1.indexOf(s2),求 s2 在 s1 中 的起始索引位置,如果不存在為-1 |
| string.split(target,regex,[limit]) | Java 里的 String.split 方法一致 |
| string.join(seq,seperator) | 將集合 seq 里的元素以 seperator 為間隔 連接起來形成字符串 |
| string.replace_first(s,regex,replacement) | Java 里的 String.replaceFirst 方法 |
| string.replace_all(s,regex,replacement) | Java 里的 String.replaceAll 方法 |
### Sequence 函數(集合處理)
| 函數名稱 | 說明 |
| --- | --- |
| repeat(n, x) | 返回一個 List,將元素 x 重復 n 次組合而成。 |
| repeatedly(n, f) | 返回一個 List,將函數 f 重復調用 n 次的結果組合而成。 |
| seq.array(clazz, e1, e2,e3, ...) | 創建一個指定 clazz 類型的數組,并添加參數 e1,e2,e3 ...到這個數組并返回。 clazz 可以是類似 java.lang.String 的類型,也可以是原生類型,如 int/long/float 等 |
| seq.array_of(clazz, size1, size2, ...sizes) | 創建 clazz 類型的一維或多維數組,維度大小為 sizes 指定。clazz 同 seq.array 定義。 |
| seq.list(p1, p2, p3, ...) | 創建一個 java.util.ArrayList 實例,添加參數到這個集合并返回。 |
| seq.set(p1, p2, p3, ...) | 創建一個 java.util.HashSet 實例,添加參數到這個集合并返回。 |
| seq.map(k1, v1, k2, v2, ...) | 創建一個 java.util.HashMap 實例,參數要求偶數個,類似 k1,v1 這樣成對作為 key-value 存入 map,返回集合。 |
| seq.entry(key, value) | 創建 Map.Entry 對象,用于 map, filter 等函數 |
| seq.keys(m) | 返回 map 的 key 集合 |
| seq.vals(m) | 返回 map 的 value 集合 |
| into(to_seq, from_seq) | 用于 sequence 轉換,將 from sequence 的元素使用 seq.add 函數逐一添加到了 to sequence 并返回最終的 to_seq |
| seq.contains_key(map, key) | 當 map 中存在 key 的時候(可能為 null),返回 true。對于數組和鏈表,key 可以是 index,當 index 在有效范圍[0..len-1],返回 true,否則返回 false |
| seq.add(coll, element) | 往集合 coll 添加元素,集合可以是 java.util.Collection,也可以是 java.util.Map(三參數版本) |
| seq.add(m, key, value) | |
| seq.put(coll, key, value) | 類似 List.set(i, v)。用于設置 seq 在 key 位置的值為 value,seq 可以是 map ,數組或者 List。 map 就是鍵值對, 數組或者 List 的時候, key 為索引位置整數,value 即為想要放入該索引位置的值。 |
| seq.remove(coll, element) | 從集合或者 hash map 中刪除元素或者 key |
| seq.get(coll, element) | 從 list、數組或者 hash-map 獲取對應的元素值,對于 list 和數組, element 為元素的索引位置(從 0 開始),對于 hash map 來說, element 為 key。 |
| map(seq,fun) | 將函數 fun 作用到集合 seq 每個元素上, 返回新元素組成的集合 |
| filter(seq,predicate) | 將謂詞 predicate 作用在集合的每個元素 上,返回謂詞為 true 的元素組成的集合 |
| count(seq) | 返回集合大小,seq 可以是數組,字符串,range ,List 等等 |
| is_empty(seq) | 等價于 count(seq) == 0,當集合為空或者 nil,返回 true |
| distinct(seq) | 返回 seq 去重后的結果集合。 |
| is_distinct(seq) | 當 seq 沒有重復元素的時候,返回 true,否則返回 false |
| concat(seq1, seq2) | 將 seq1 和 seq2 “連接”,返回連接后的結果,復雜度 O(m+n), m 和 n 分別是兩個集合的長度。 |
| include(seq,element) | 判斷 element 是否在集合 seq 中,返回 boolean 值,對于 java.uitl.Set 是 O(1) 時間復雜度,其他為 O(n) |
| sort(seq, [comparator]) | 排序集合,僅對數組和 List 有效,返回排序后的新集合,comparator 是一個 java.util.Comparator 實例,可選排序方式。 |
| reverse(seq) | 將集合元素逆序,返回新的集合。 |
| reduce(seq,fun,init) | fun 接收兩個參數,第一個是集合元素, 第二個是累積的函數,本函數用于將 fun 作用在結果值(初始值為 init 指定)和集合的每個元素上面,返回新的結果值;函數返回最終的結果值 |
| take_while(seq, pred) | 遍歷集合 seq,對每個元素調用 pred(x),返回 true則加入結果集合,最終返回收集的結果集合。也就是說從集合 seq 收集 pred 調用為 true 的元素。 |
| drop_while(seq, pred) | 與 take_while 相反,丟棄任何 pred(x) 為 true 的元素并返回最終的結果集合。 |
| group_by(seq, keyfn) | 對集合 seq 的元素按照 keyfn(x) 的調用結果做分類,返回最終映射 map。具體使用見文檔。 |
| zipmap(keys, values) | 返回一個 HashMap,其中按照 keys 和 values 兩個集合的順序映射鍵值對。具體使用見文檔。 |
| seq.every(seq, fun) | fun 接收集合的每個元素作為唯一參數,返回 true 或 false。當集合里的每個元素調用 fun 后都返回 true 的時候,整個調用結果為 true,否則為 false。 |
| seq.not_any(seq, fun) | fun 接收集合的每個元素作為唯一參數,返回 true 或 false。當集合里的每個元素調用 fun 后都返回 false 的時候,整個調用結果為 true,否則為 false。 |
| seq.some(seq, fun) | fun 接收集合的每個元素作為唯一參數,返回 true 或 false。當集合里的只要有一個元素調用 fun 后返回 true 的時候,整個調用結果立即為該元素,否則為 nil。 |
| seq.eq(value) | 返回一個謂詞,用來判斷傳入的參數是否跟 value 相等,用于 filter 函數,如filter(seq,seq.eq(3)) 過濾返回等于3 的元素組成的集合 |
| seq.neq(value) | 與 seq.eq 類似,返回判斷不等于的謂詞 |
| seq.gt(value) | 返回判斷大于 value 的謂詞 |
| seq.ge(value) | 返回判斷大于等于 value 的謂詞 |
| seq.lt(value) | 返回判斷小于 value 的謂詞 |
| seq.le(value) | 返回判斷小于等于 value 的謂詞 |
| seq.nil() | 返回判斷是否為 nil 的謂詞 |
| seq.exists() | 返回判斷不為 nil 的謂詞 |
| seq.and(p1, p2, p3, ...) | 組合多個謂詞函數,返回一個新的謂詞函數,當今僅當 p1、p2、p3 ...等所有函數都返回 true 的時候,新函數返回 true |
| seq.or(p1, p2, p3, ...) | 組合多個謂詞函數,返回一個新的謂詞函數,當 p1, p2, p3... 其中一個返回 true 的時候,新函數立即返回 true,否則返回 false。 |
| seq.min(coll) | 返回集合中的最小元素,要求集合元素可比較(實現 Comprable 接口),比較規則遵循 aviator 規則。 |
| seq.max(coll) | 返回集合中的最大元素,要求集合元素可比較(實現 Comprable 接口),比較規則遵循 aviator 規則。 |
- 項目介紹
- 常見問題
- 積木報表版本升級注意事項
- 集成文檔
- 快速集成
- Docker部署
- 示例Demo
- 項目集成
- springboot集成積木報表
- JeecgBoot集成積木報表
- 如何配置訪問菜單
- ruoyi單體版集成積木報表
- ruoyi vue版集成積木報表
- eladmin集成積木報表
- guns集成積木報表
- docker-compose部署
- 舊版本
- 快速集成1.4.3
- 快速集成1.0.1
- 快速集成1.2
- 示例demo1.2
- minidao版本出爐
- Maven私服
- 常見問題bak
- 升級說明
- jeecgcloud集成積木報表
- 快速集成1.8.1
- 開發配置
- 數據庫兼容
- yaml配置參數說明
- 文件上傳配置
- 系統上下文變量
- Token權限控制
- 云存儲跨域設置
- 連接池參數配置
- 分庫數據源配置
- 微服務下靜態資源訪問不到
- 多租戶配置
- 快速入門
- 1. 整體頁面布局介紹
- 2. SQL數據源報表制作
- 3. SQL數據源報表帶參制作
- 4. API數據源報表制作
- 5. API數據源報表帶參制作
- 6. 如何從0到1創建一個大屏
- 7.API接口數據格式適配
- 8.api數據集token機制詳解
- 9.api數據集打印全部規則說明
- 10.自定義api接口數據格式轉換器
- 11.數據庫支持類型
- 12、數據源用法介紹
- 錯誤使用數據集示例
- 操作手冊
- 報表設計器
- 一、基礎操作
- 1 登錄
- 2. 創建報表
- 3. 編輯報表
- 4. 背景設置
- 5. 復制、粘貼、剪切
- 6. 行操作
- 7. 添加數據源
- 8. 報表數據集
- 8.1 SQL數據集配置
- 8.2 API數據集配置
- 8.3 JavaBean數據集
- 8.4 對象數據集配置
- 8.5 集合數據集配置
- 8.6 JSON數據集配置
- 8.7 sql數據源解析失敗彈窗
- 8.8 存儲過程
- 8.9 Redis數據集
- 8.10 MongoDB數據集
- 9. 插入數據
- 10. 數據格式化設置
- 11. 數據字典配置
- 12. 導入報表
- 13. 導出報表
- 14. 分頁設置
- 15. 報表集成
- 16. 分享報表
- 17.報表模版庫
- 18.數據源查詢默認值配置
- 19.自定義分頁條數
- 20.報表定時保存配置
- 21.補全空白行
- 22.預覽頁工具條設置
- 23.動態合并格
- 24.圖片設置
- 二、打印設計
- 1.打印設置規則_重要
- 2. 打印區域設置
- 3. 打印清晰度設置
- 4. 打印機樣式設置
- 5. 套打怎樣設置
- 6. 帶背景打印
- 三、數據報表設計
- 1. 分組
- 1.1 縱向分組(相鄰合并)
- 1.2 橫向分組(相鄰合并)
- 1.3 橫向動態列分組
- 1.4 橫向縱向組合動態列分組
- 1.5 橫向分組小計
- 1.6 分組內合計
- 1.7 縱向分組小計
- 1.8 常用分組示例
- 1.9 分組數據排序設置
- 2. 表達式(舊)
- 3.查詢條件
- 3.1 API查詢條件配置
- 3.2 API查詢條件為時間
- 3.3 API自定義查詢條件
- 3.4 SQL配置查詢條件
- 3.5 API接口后臺接收參數說明
- 3.6 API范圍查詢
- 4.條形碼/二維碼
- 4.1 二維碼配置說明
- 4.2 條形碼配置說明
- 4.3 條形碼和二維碼改值
- 5.交叉報表
- 6.明細報表
- 7.主子報表
- 7.1 主子表API數據源(新)
- 7.2 主子表SQL數據源(新)
- 7.3 主子表SQL關聯(舊)
- 8.聯動鉆取
- 8.1 報表聯動(新)
- 8.2 報表鉆取(新)
- 8.3 報表鉆取帶條件用法
- 8.4 圖表鉆取帶條件用法
- 8.5 報表聯動圖表帶條件用法
- 8.6 圖表聯動圖表帶條件用法
- 8.7 報表鉆取(舊)
- 8.8 報表聯動(舊)
- 8.9 鉆取聯動條件規則
- 9.組件交互清單
- 10.循環塊設置
- 11.分欄設置
- 12.分版設置
- 13多表頭復雜報表
- 四、表達式函數
- 數據集表達式
- 單元格表達式
- 統計函數
- 行號函數
- 日期函數
- 數學函數
- 字符串函數
- 條件表達式
- 顏色表達式
- 判斷函數
- 函數庫列表(高級)
- 基本運算符(高級)
- 自定義報表函數
- 五、報表查詢配置
- 報表參數配置
- 報表查詢配置
- 查詢控件類型
- 查詢控件默認值
- 時間控件設置說明
- 時間控件默認值設置
- SQL中條件表達式
- 查詢控件下拉樹
- 范圍查詢設置默認值
- JS增強和CSS增強
- 技巧說明
- 參數公用示例
- 六、圖形報表設計
- 1. 基本配置
- 1.1 圖表背景設置
- 1.2 圖表動態刷新
- 1.3 圖表之間的聯動
- 2. 柱形圖配置
- 數據源配置
- a)單數據源配置
- b)多數據源配置
- 3. 折線圖配置
- 數據源配置
- a)單數據源配置
- b)多數據源配置
- 4. 餅圖配置
- 數據源配置
- 5. 折柱圖配置
- 數據源配置
- 6. 散點圖配置
- 6.1 普通散點圖數據源配置
- 6.2 氣泡散點圖數據源配置
- 7. 漏斗圖配置
- 數據源配置
- 8. 象形圖配置
- 數據源配置
- 9. 地圖配置
- 地圖區配置
- 數據源配置
- 10. 儀表盤配置
- 數據源配置
- 11. 雷達圖配置
- 數據源配置
- 12. 關系圖配置
- 數據源
- 七、專項功能小結
- sql數據集 in查詢
- 聯動/鉆取配置說明
- 數據集字段字典配置
- 傳參渲染到報表上
- 測試超Z列效果
- Issue提問指南
- 鉆取、聯動條件用法
- 導出圖片支持背景導出
- 模板示例補充表
- 暫取消功能
- Pdf導出接口方案
- ExceL導出接口方案
- pdf瀏覽器打印
- 報表分組設計
- 縱向分組
- 縱向分組說明
- 橫向自定義分組
- 組合動態列分組
- 縱向多維分組
- 橫向多維分組
- 橫向組內小計
- 縱向分組小計
- 大屏設計器
- 大屏常見問題
- 一、基礎操作
- 1. 登錄
- 2. 新建大屏
- 3.修改大屏
- 4. 預覽、保存
- 5. 畫布介紹
- 6. 添加組件
- 7. 組件圖層位置
- 8. 其他操作
- 9. 大屏集成
- 10. 組合分組
- 11、大屏屬性配置
- 二、組件配置說明
- 1 通用配置
- 1.1 圖層名稱
- 1.2 標題配置
- 1.3 X軸配置
- 1.4 Y軸配置
- 1.5 提示語設置
- 1.6 數值設置
- 1.7 坐標軸邊距設置
- 1.8 圖例設置
- 1.9 自定義配色
- 1.10 系統配色
- 1.11 動畫設置
- 2 圖表類組件
- 2.1 柱形圖
- 數據格式
- 數據格式(新)
- 2.2 堆疊柱形圖
- 數據格式
- 2.3 膠囊圖
- 數據格式
- 2.4 玉玨圖
- 數據格式
- 2.5 折線圖
- 數據格式
- 數據格式(新)
- 2.6 餅圖
- 數據格式
- 2.7 mini環形圖(已刪)
- 數據格式
- 2.8 動態環圖
- 數據格式
- 2.9 象形柱圖
- 數據格式
- 2.9 象形圖
- 數據格式
- 2.10 雷達圖
- 數據格式
- 2.11 散點圖
- 2.11.1 數據源配置
- 數據格式 (新)
- 2.12 漏斗圖
- 數據格式
- 2.13 折柱圖
- 數據格式
- 2.14 多色儀表盤
- 數據格式
- 2.15 水波圖
- 數據格式
- 2.16 環形圖
- 數據格式
- 2.18 儀盤表
- 數據格式
- 2.19 金字塔漏斗圖
- 數據格式
- 2.20 旋轉餅圖
- 數據格式
- 2.21 子彈圖
- 數據格式
- 2.22 氣泡圖
- 數據格式
- 2.23 男女占比
- 數據格式
- 2.24 對稱條形圖
- 數據格式
- 2.25 百分比條形圖
- 數據格式
- 3 文本類組件
- 3.1 文本框
- 3.2 跑馬燈
- 3.3 超鏈接(舊)
- 3.4 實時時間
- 3.5 翻牌器
- 數據格式
- 3.6 字符云
- 數據格式
- 3.7 圖層字符云
- 數據格式
- 3.8 閃動字符云
- 數據格式
- 3.9 天氣預報
- 3.10 顏色塊
- 數據格式
- 4 裝飾類組件
- 4.1 圖片組件
- 數據格式
- 4.2 邊框
- 4.3 裝飾
- 5 視頻類組件
- 5.1 video
- 數據格式
- 5.2 RTMP 播放器
- 5.3 阿里播放器
- 6 表格類組件
- 6.1 排名表
- 數據格式
- 6.2 輪播表
- 數據格式
- 6.3 表格
- 數據格式
- 6.4 個性排名
- 數據格式
- 6.5 氣泡排名
- 數據格式
- 6.6 發展歷程
- 數據格式
- 7 地圖類組件
- 離線地圖
- 銷量排名地圖
- 數據格式
- 氣泡標注地圖
- 數據格式
- 綜合統計地圖
- 數據格式
- 飛線地圖
- 數據格式
- 全國地圖
- 數據格式
- 城市派件地圖
- 數據格式
- 聯網地圖
- 全國地圖
- 數據格式
- 飛線圖
- 數據格式
- 熱力圖
- 數據格式
- 柱形地圖
- 數據格式
- 標注地圖
- 數據格式
- 百度空氣質量圖
- 數據格式
- 8 其他組件
- 8.1 選項卡
- 數據格式
- 8.2 輪播圖
- 數據格式
- 8.3 iframe
- 數據格式
- 9 萬能組件
- 9.1 堆疊條形圖
- 9.2 正負條形圖
- 9.3 雙向對比柱形圖
- 9.4 圓形柱形圖
- 9.5 嵌套餅圖
- 9.6 矩形樹圖
- 9.7 k線圖
- 10 高級擴展
- 通用處理
- 數據處理
- 提示事件
- 標題事件
- 11 交互配置
- 組件聯動
- 組件鉆取
- 區域點擊
- 12 數據源配置
- 靜態數據
- 動態數據
- WebSocket接口
- 接口參數
- sql數據源
- 三、系統集成
- 1. 大屏訪問Token安全方案
- 儀表盤/門戶設計器
- 新功能20221008
- 打印支持回調接口
- 打印支持設定表頭表尾
- 自動換行改造說明