文档首页 / 内置函数总览

内置函数总览

赛特数据分析平台报表表达式内置的 112 个函数按类别索引,并说明函数调用的通用规则:参数个数、类型匹配与同名函数的选择。

概述

报表表达式和脚本中可直接调用 112 个内置函数,按用途分为 7 个类别,每个类别一篇文章,逐个函数给出语法、参数表、返回值、示例和说明。

类别 函数数 文章 函数
数学 9 数学函数 abs ceil floor round trunc pow log percent formatNumber
文本 18 文本函数 concat upper lower trim substring left right length replace indexOf find startsWith endsWith contains joinIfNotEmpty toChinese toChineseAmount numberToRMB
日期 39 日期函数 now date time datetime timestamp timestampMillis toDate timestampToDate dateToNumber formatDate formatDateTime dateFormat year month day week hour minute second quarter dateOffset addYears addMonths addDays addHours addMinutes addSeconds monthStart monthEnd quarterStart quarterEnd yearStart yearEnd betweenYears betweenMonths betweenDays betweenDayOfMonth betweenMonthOfYear betweenDayOfYear
逻辑与空值 9 逻辑与空值函数 isNull isNotNull isEmpty isNotEmpty isBlank isNotBlank ifNull ifEmpty coalesce,另有条件语法 if
聚合与集合 7 聚合与集合函数 sum avg max min count groupConcat rank
报表与数据集 13 报表与数据集函数 dataset rawDataset datasetSelect cellOffset row rows column columns page pageCount fileName fileId seq
用户、工具与数组 17 用户、工具与数组函数 userAccount username uuid print println printf arrayGet range newArray newIntArray newShortArray newDoubleArray newFloatArray newByteArray newCharArray newBooleanArray newLongArray

在表达式编辑器里,右侧「函数」标签页也列出常用函数并可一键插入。编辑器里的提示文字只是简写,与本文不一致时以本文为准。

调用规则

参数个数必须写全

函数按参数个数匹配,没有「省略的参数自动补默认值」这回事。带可选参数的函数在各文章中标为「否」的参数,表示存在少一个参数的写法;只有文章语法里列出的写法才可用。例如 substring(str, start, end) 必须给全三个参数,要取到末尾时第三个参数写 null;写成两个参数会报「找不到函数」。

参数类型要匹配

调用时按实参类型选择函数,类型不符会报「找不到函数」,而不是自动转换。常见情况:

形参类型 可接受 不可接受 处理办法
整数(int,如位置、偏移量、小数位数) 整数 小数、BigDecimal、Long 数据集列取出的数值往往是 BigDecimal,先转换:x::int
文本(String) 文本、null 数字、日期 x::string
日期(Date) 日期、null 文本、数字 toDate(x) 或 x::date('yyyy-MM-dd')
Object 任意值

null 可以传给任何非基本类型的形参(文本、日期、Object 等),但不能传给 int。转换写法见 报表基本语法 的「类型转换」。

同名函数

同一个函数名在平台里可能有多份实现(如 sum、isNull、uuid)。调用时优先匹配参数个数固定的实现,其次才是可变参数的实现;得分相同时先注册者优先。各文章的「说明」里已按实际生效的实现描述行为,其中 sum、avg、max、min、count 单参数与多参数行为不同,见 聚合与集合函数。

函数调用与方法调用

带 . 的调用(如 list.filter(...)、x.round(2))是值上的扩展方法,与全局函数是两套。文本没有 .right(4) 这样的方法,对应的全局函数是 right(str, 4)。扩展方法见 聚合与集合函数 与 用户、工具与数组函数。

空值处理

函数对 null 的处理各不相同:有的返回 null,有的返回默认值,有的把 null 当作当前时间(year(null))。各函数「说明」逐个标出。

相关文档

联系我们

请填写您的信息,我们将在 1 个工作日内与您联系。