跳转到主要内容
所有收藏设计器,表单控件,样式及显示表达式编辑器
在表达式编辑器中使用易企办预定义函数
在表达式编辑器中使用易企办预定义函数

轻松利用易企办在表达式编辑器中预定义的函数。轻松优化数据分析,提升定制能力。

超过一个月前更新

函数是预定义的公式,可用于执行简单或复杂的数据计算和逻辑验证等操作。

函数是通过使用特定值(称为参数)按照特定的顺序或结构来执行计算的预定义公式。一个表达式支持多个预定义函数。一个函数支持在其中使用多个函数,称为嵌套函数

  • 函数结构

    • 嵌套函数

  • 按类别的函数

    • 字符串函数

    • 逻辑函数

    • 日期函数

    • 数学函数

    • 其他(高级)函数


函数结构

函数的结构以函数名称①开头,后跟一个开放括号,函数的参数③用逗号分隔,并以一个闭合括号结束。

当您选择任何函数名称时,您将看到如何使用此函数的说明②。

① 函数名称

易企办根据您的场景列出了可用的函数。

② 参数

参数可以是数字、字符串、日期时间、逻辑值(如 TRUE 或 FALSE)、数组、查找引用或任何适用的表达式。您指定的参数必须产生该参数的有效值。参数也可以是常量、公式或其他函数。

③ 公式工具提示

选择此函数时会出现工具提示。

嵌套函数

在某些情况下,您可能需要将一个函数用作另一个函数的参数。例如,以下公式将一个嵌套的 isNullOrEmpty 函数用作参数来返回值。 isNullOrEmpty 嵌套在 iif 函数中。

请注意:当嵌套函数用作参数时,嵌套函数必须返回与参数使用的相同类型的值。例如,如果参数返回一个 TRUE 或 FALSE 值,则嵌套函数必须返回一个 TRUE 或 FALSE 值。如果函数没有这样做,它将显示一个错误值。

<返回顶部>


类别分组的函数

函数按其功能进行分类。单击类别标题可以快速浏览其函数。

根据场景,易企办在不同的类别下提供了不同的函数。

  • 字符串函数

字符串函数执行各种字符操作。它们操作字符串。字符串表达式评估为字符序列或文本。

函数

描述

示例

concat

将多个字符串连接起来。
语法结构: concat(<expression1>, <expression2>, ...)
应用场景: All

示例公式: concat(<"Hello">, <" ">, <"World">)
示例: concat(<"Hello">, <" ">, <"World">)
示例输出: Hello World

formatNumber

格式化数字,指定小数位数。
语法结构: formatNumber(<number>, <decimals>)
应用场景: All

示例公式: formatNumber(<1234.567>, <2>)
示例: formatNumber(<1234.567>, <2>)
示例输出: 1234.57

JSONParse

将字符串解析为 JSON 对象,构建成 JavaScript 可操作的对象。
语法结构: JSONParse(<string>)
应用场景: 字符串类型参数 & 规则

示例公式: JSONParse(<'{"name":"John"}'>)
示例: JSONParse(<'{"name":"John"}'>)
示例输出: {"name":"John"}

JSONStringify

将对象转换为 JSON 字符串。
语法结构: JSONStringify(<object>)
应用场景: 对象类型参数 & 规则

示例公式: JSONStringify(<{"name": "John"}>)
示例: JSONStringify(<{"name": "John"}>)
示例输出: {"name":"John"}

left

返回从左侧开始的指定数量的字符。
语法结构: left(<expression>, <length>)
应用场景: All

示例公式: left(<"Hello">, <2>)
示例: left(<"Hello">, <2>)
示例输出: He

len

返回文本字符串中的字符数。
语法结构: len(<check_expression>)
应用场景: All

示例公式: len(<"Hello">)
示例: len(<"Hello">)
示例输出: 5

lower

将文本转换为小写。
语法结构: lower(<expression>)
应用场景: All

示例公式: lower(<"HELLO">)
示例: lower(<"HELLO">)
示例输出: hello

regExpTest

执行正则表达式匹配测试,返回 true 或 false。
语法结构: regExpTest(<regular expression>, <target>)
应用场景: All

示例公式: regExpTest(<"^[A-Za-z]+$">, <"HELLO">)
示例: regExpTest(<"^[A-Za-z]+$">, <"HELLO">)
示例输出: true

repeat

返回指定次数的重复字符串。
语法结构: repeat(<expression>, <count>)
应用场景: All

示例公式: repeat(<"Hello">, <3>)
示例: repeat(<"Hello">, <3>)
示例输出: HelloHelloHello

replace

用另一个字符串值替换指定字符串中的第一次出现。
语法结构: replace(<expression>, <pattern>, <replacement>)
应用场景: All

示例公式: replace(<"Hello World">, <"World">, <"Yeeflow">)
示例: replace(<"Hello World">, <"World">, <"Yeeflow">)
示例输出: Hello Yeeflow

replaceAll

用另一个字符串值替换指定字符串中的所有出现。
语法结构: replaceAll(<expression>, <pattern>, <replacement>)
应用场景: All

示例公式: replaceAll(<"Hello World World">, <"World">, <"Yeeflow">)
示例: replaceAll(<"Hello World World">, <"World">, <"Yeeflow">)
示例输出: Hello Yeeflow Yeeflow

right

返回从右侧开始的指定数量的字符。
语法结构: right(<expression>, <length>)
应用场景: All

示例公式: right(<"Hello">, <2>)
示例: right(<"Hello">, <2>)
示例输出: lo

strIndex

在一个表达式中搜索另一个字符串的位置。
语法结构: strIndex(<expressionToFind>, <expressionToSearch>, <start location>)
应用场景: All

示例公式: strIndex(<"Hello">, <"e">)
示例: strIndex(<"Hello">, <"e">)
示例输出: 1

subString

从原始字符串中指定的开始位置获取指定长度的子字符串。
语法结构: subString(<expression>, <start>, <length>)
应用场景: All

示例公式: subString(<"Hello">, <1>, <3>)
示例: subString(<"Hello">, <1>, <3>)
示例输出: ell

text

将字符串强制转换为文本格式。
语法结构: text(<value>)
应用场景: All

示例公式: text(<123>)
示例: text(<123>)
示例输出: "123"

trim

去除字符串开头和结尾的空字符。
语法结构: trim(<expression>)
应用场景: All

示例公式: trim(<" Hello ">)
示例: trim(<" Hello ">)
示例输出: "Hello"

UniqueID

生成唯一标识符。
语法结构: UniqueID()
应用场景: 类型变量参数 & 规则

示例公式: UniqueID()
示例: UniqueID()
示例输出: "a1b2c3d4"

upper

将文本转换为大写字母。
语法结构: upper(<expression>)
应用场景: All

示例公式: upper(<"hello">)
示例: upper(<"hello">)
示例输出: "HELLO"

  • 逻辑函数

逻辑函数可以创建将一个值转换为另一个值的表达式。

函数

描述

示例

iif

评估每个WHEN条件,如果满足,则执行相应的THEN表达式中的值。如果不满足任何WHEN条件,则执行在ELSE表达式中的默认值或指定的替代值。如果未指定ELSE表达式,则系统会自动添加一个ELSE NULL。
语法结构: iif(<logical expression condition>, <then>, <else>)
应用场景: All

示例公式: iif(<[Status] = "Approved">, <"Yes">, <"No">)
示例: iif(<[Status] = "Approved">, <"Yes">, <"No">)
示例输出: Yes

isFalse

确定表达式是否为假。
语法结构: isFalse(<parameter>)
应用场景: 表单变量 & 规则 & 条件

示例公式: isFalse(<isActive>)
示例: isFalse(<isActive>)
示例输出: true

isNullOrEmpty

如果指定的字符串串或对象为空NULL或空字符串,则返回True;否则,返回False。
语法结构: isNullOrEmpty(<check expression>)
应用场景: All

示例公式: isNullOrEmpty(<[Description]>)
示例: isNullOrEmpty(<[Description]>)
示例输出: true

isTrue

确定表达式是否为真。在以下情况下,表达式的值为“真”:布尔类型为“true”;字符串“True”;数字非零,均认为为真。
语法结构: isTrue(<parameter>)
应用场景: 表单变量 & 规则 & 条件

示例公式: isTrue(<isActive>)
示例: isTrue(<isActive>)
示例输出: true

not

将表达式变为真,或变为假。
语法结构: not(<parameter>)
应用场景: 表单变量 & 规则 & 条件

示例公式: not(<isActive>)
示例: not(<isActive>)
示例输出: false

  • 日期函数

日期函数根据日历年份处理日期日期时间的数据。

函数

描述

示例

addWorkDays

从日期中添加或减去指定的工作日。
语法结构: addWorkDays(<date>, <days>)
应用场景: All

示例公式: addWorkDays(<"2024-01-01">, <5>)
示例: addWorkDays(<"2024-01-01">, <5>)
示例输出: 2024-01-08

addWorkHours

从日期中添加或减去指定的工作小时。
语法结构: addWorkHours(<date>, <hours>)
应用场景: All

示例公式: addWorkHours(<"2024-01-01 09:00">, <8>)
示例: addWorkHours(<"2024-01-01 09:00">, <8>)
示例输出: 2024-01-01 17:00

dateAdd

从日期中添加或减去指定的时间间隔。
语法结构: dateAdd(<date>, <interval>, <added value>)
应用场景: All

示例公式: dateAdd(<"2024-01-01">, <"day">, <10>)
示例: dateAdd(<"2024-01-01">, <"day">, <10>)
示例输出: 2024-01-11

dateDiff

指定两个日期之间的时间间隔。
语法结构: dateDiff(<date1>, <date2>, <precise>)
应用场景: All

示例公式: dateDiff(<"2024-01-10">, <"2024-01-01">)
示例: dateDiff(<"2024-01-10">, <"2024-01-01">)
示例输出: 9

dateFormat

格式化当前日期时间,支持多种格式。
语法结构: dateFormat(<date>, <format>)
应用场景: All

示例公式: dateFormat(<"2024-01-01 10:30:00">, <"YYYY-MM-DD HH">)
示例: dateFormat(<"2024-01-01 10:30:00">, <"YYYY-MM-DD HH">)
示例输出: 2024-01-01 10

datePart

提取日期部分的特定信息。
语法结构: datePart(<original date>, <type>)
应用场景: All

示例公式: datePart(<"2024-01-01">, <"month">)
示例: datePart(<"2024-01-01">, <"month">)
示例输出: 1

datePicker

选择日期时间格式。
语法结构: datePicker(<selected date>)
应用场景: All

示例公式: datePicker(<"2024-01-01">)
示例: datePicker(<"2024-01-01">)
示例输出: 2024-01-01

day

提取日期中的天数。
语法结构: day(<date>)
应用场景: All

示例公式: day(<"2024-01-15">)
示例: day(<"2024-01-15">)
示例输出: 15

getWorkHours

计算两个日期之间的工作小时数。
语法结构: getWorkHours(<start date>, <end date>)
应用场景: All

示例公式: getWorkHours(<"2024-01-01 09:00">, <"2024-01-01 17:00">)
示例: getWorkHours(<"2024-01-01 09:00">, <"2024-01-01 17:00">)
示例输出: 8

hour

提取日期中的小时。
语法结构: hour(<date>)
应用场景: All

示例公式: hour(<"2024-01-01 15:30">)
示例: hour(<"2024-01-01 15:30">)
示例输出: 15

minute

提取日期中的分钟。
语法结构: minute(<date>)
应用场景: All

示例公式: minute(<"2024-01-01 15:30">)
示例: minute(<"2024-01-01 15:30">)
示例输出: 30

month

提取日期中的月份。
语法结构: month(<date>)
应用场景: All

示例公式: month(<"2024-01-01">)
示例: month(<"2024-01-01">)
示例输出: 1

now

返回当前日期时间。
语法结构: now()
应用场景: All

示例公式: now()
示例: now()
示例输出: 2024-10-30 14:35:00

second

提取日期中的秒数。
语法结构: second(<date>)
应用场景: All

示例公式: second(<"2024-01-01 15:30:45">)
示例: second(<"2024-01-01 15:30:45">)
示例输出: 45

toServerTime

将日期转换为服务器时间。
语法结构: toServerTime(<date>)
应用场景: All

示例公式: toServerTime(<"2024-01-01 15:30">)
示例: toServerTime(<"2024-01-01 15:30">)
示例输出: 服务器时间

toUserTime

将日期转换为用户的本地时间。
语法结构: toUserTime(<date>)
应用场景: All

示例公式: toUserTime(<"2024-01-01 15:30">)
示例: toUserTime(<"2024-01-01 15:30">)
示例输出: 本地时间

weekNum

获取日期所在的周数。
语法结构: weekNum(<date>)
应用场景: All

示例公式: weekNum(<"2024-01-01">)
示例: weekNum(<"2024-01-01">)
示例输出: 1

year

提取日期中的年份。
语法结构: year(<date>)
应用场景: All

示例公式: year(<"2024-01-01">)
示例: year(<"2024-01-01">)
示例输出: 2024

  • 数学函数

数学函数在数字数据上执行数学运算。

函数

描述

示例

abs

获取一个数字的绝对值。可以使用此函数确保数字为正值。
语法结构: abs(<number or number property>)
应用场景: All

示例公式: abs(<-10>)
示例: abs(<-10>)
示例输出: 10

ceil

返回不小于参数的最小整数值。
语法结构: ceil(<number or number property>)
应用场景: All

示例公式: ceil(<4.2>)
示例: ceil(<4.2>)
示例输出: 5

fixed

将数字格式化为指定的小数位数。
语法结构: fixed(<number>, <decimals>)
应用场景: All

示例公式: fixed(<4.567>, <2>)
示例: fixed(<4.567>, <2>)
示例输出: 4.57

floor

返回不大于参数的最大整数值。
语法结构: floor(<number or number property>)
应用场景: All

示例公式: floor(<4.8>)
示例: floor(<4.8>)
示例输出: 4

log

返回数字的自然对数(以e为底)。
语法结构: log(<number or number property>)
应用场景: All

示例公式: log(<10>)
示例: log(<10>)
示例输出: 2.3026

max

返回提供的值中的最大值。
语法结构: max(<number1>, <number2>, ...)
应用场景: All

示例公式: max(<5>, <10>)
示例: max(<5>, <10>)
示例输出: 10

min

返回提供的值中的最小值。
语法结构: min(<number1>, <number2>, ...)
应用场景: All

示例公式: min(<5>, <10>)
示例: min(<5>, <10>)
示例输出: 5

number

将值转换为数字。
语法结构: number(<value>)
应用场景: All

示例公式: number(<"123">)
示例: number(<"123">)
示例输出: 123

pow

将一个数字提升到另一个数字的幂次方。
语法结构: pow(<base>, <exponent>)
应用场景: All

示例公式: pow(<2>, <3>)
示例: pow(<2>, <3>)
示例输出: 8

rand

返回0(包含)和1(不包含)之间的随机数。
语法结构: rand()
应用场景: All

示例公式: rand()
示例: rand()
示例输出: 0.5674

round

将数值四舍五入到最近的整数或指定的小数位数。
语法结构: round(<number expression>, <digits>)
应用场景: All

示例公式: round(<3.456>, <2>)
示例: round(<3.456>, <2>)
示例输出: 3.46

sqrt

返回数字的平方根。
语法结构: sqrt(<number or number property>)
应用场景: All

示例公式: sqrt(<16>)
示例: sqrt(<16>)
示例输出:

  • 其他函数 - 高级函数

其他函数包含一些高级功能,例如:

  • 查找函数,例如“listLookup”

  • 系统引用函数,例如“getUserAttr”

  • 统计函数,例如“arrayConcat”

  • 工程师函数,例如“getAttr”

它可以从您的查找源、系统数据或一些复杂变量中返回值。

函数

描述

示例

arrayConcat

返回一个包含两个数组中所有元素的新数组。
语法结构: arrayConcat(<array1>, <array2>)
应用场景: All

示例公式: arrayConcat(<[1, 2]>, <[3, 4]>)
示例: arrayConcat(<[1, 2]>, <[3, 4]>)
示例输出: [1, 2, 3, 4]

arrIndex

查找数组中某个值的位置,返回从零开始的索引位置。
语法结构: arrIndex(<array>, <value>)
应用场景: All

示例公式: arrIndex(<["a", "b", "c"]>, <"b">)
示例: arrIndex(<["a", "b", "c"]>, <"b">)
示例输出: 1

clientType

获取用户的客户端类型,如“web”或“mobile”。
语法结构: clientType()
应用场景: All

示例公式: clientType()
示例: clientType()
示例输出: "web"

currentUser

获取当前用户的用户名。
语法结构: currentUser()
应用场景: All

示例公式: currentUser()
示例: currentUser()
示例输出: "John Doe"

getAttr

根据提供的属性从对象中提取数据。
语法结构: getAttr(<object>, <attribute>, <default value>)
应用场景: All

示例公式: getAttr(<{user: {email: "[email protected]"}}>, <"user.email">)
示例: getAttr(<{user: {email: "[email protected]"}}>, <"user.email">)
示例输出: "[email protected]"

getCostCenterAttr

获取成本中心属性信息,如果成本中心存在则返回属性值。
语法结构: getCostCenterAttr(<expression>, <attribute>, <default value>)
应用场景: All

示例公式: getCostCenterAttr(<"CC001">, <"code">)
示例: getCostCenterAttr(<"CC001">, <"code">)
示例输出: "CC001"

getDirectReports

输入用户ID,返回其直接下属列表。
语法结构: getDirectReports(<expression>, <default value>)
应用场景: All

示例公式: getDirectReports(<"User01">)
示例: getDirectReports(<"User01">)
示例输出: ["User02", "User03"]

getLocAttr

获取位置属性信息,如指定位置存在,则返回属性值。
语法结构: getLocAttr(<location expression>, <attribute>, <default value>)
应用场景: All

示例公式: getLocAttr(<"Location01">, <"city">)
示例: getLocAttr(<"Location01">, <"city">)
示例输出: "New York"

getMetadataAttr

获取元数据属性值,如提供的元数据存在则返回属性值。
语法结构: getMetadataAttr(<expression>, <attribute>, <default value>)
应用场景: All

示例公式: getMetadataAttr(<"Metadata01">, <"type">)
示例: getMetadataAttr(<"Metadata01">, <"type">)
示例输出: "type1"

getDeptAttr

获取指定部门属性信息,如部门存在则返回属性值。
语法结构: getDeptAttr(<department expression>, <attribute>, <default value>)
应用场景: All

示例公式: getDeptAttr(<"Department01">, <"name">)
示例: getDeptAttr(<"Department01">, <"name">)
示例输出: "IT"

getDeptByParent

根据父部门ID获取部门列表。
语法结构: getDeptByParent(<parent department expression>, <type>)
应用场景: All

示例公式: getDeptByParent(<"Dept01">, <"subDepartments">)
示例: getDeptByParent(<"Dept01">, <"subDepartments">)
示例输出: ["002", "003"]

getQueryString

从URL中获取指定查询参数的值。
语法结构: getQueryString(<key>, <default>)
应用场景: All

示例公式: getQueryString(<"id">, <"12345">)
示例: getQueryString(<"id">, <"12345">)
示例输出: "12345"

getUserAttr

获取用户属性信息,如用户存在则返回属性值。
语法结构: getUserAttr(<user>, <attribute>, <default value>)
应用场景: All

示例公式: getUserAttr(<"User01">, <"name">)
示例: getUserAttr(<"User01">, <"name">)
示例输出: "Alice"

isInGroup

判断用户是否属于指定的用户组。
语法结构: isInGroup(<user>, <group>)
应用场景: All

示例公式: isInGroup(<"User01">, <"Group01">)
示例: isInGroup(<"User01">, <"Group01">)
示例输出: true

len

返回字符串或数组的长度。
语法结构: len(<check_expression>)
应用场景: All

示例公式: len(<[2, 3]>)
示例: len(<[2, 3]>)
示例输出: 2

listLookup

从列表数据中查找字段值。
语法结构: listLookup(<contentList>, <filter>, <fields>, <default value>)
应用场景: 如果列表为空,则返回默认值

示例公式: listLookup(<"Employees">, <"123">, <"name">, <"Unknown">)
示例: listLookup(<"Employees">, <"123">, <"name">, <"Unknown">)
示例输出: "John Doe"

positionLookup

根据位置在用户列表中查找用户信息。
语法结构: positionLookup(<position>, <result>, <default>)
应用场景: 如果没有匹配项则返回默认值

示例公式: positionLookup(<"Manager">, <"name">, <"Unknown">)
示例: positionLookup(<"Manager">, <"name">, <"Unknown">)
示例输出: "Bob"

vLookup

在列表数据中查找特定条目并返回相应字段的值。
语法结构: vLookup(<lookupValue>, <list>, <lookupColumn>, <returnColumn>)
应用场景: All

示例公式: vLookup(<"123">, <"Employees">, <"id">, <"name">)
示例: vLookup(<"123">, <"Employees">, <"id">, <"name">)
示例输出: "John Doe"

这是否解答了您的问题?