函数可以理解为封装了运算能力的合集,每个函数都有特定的功能。比如 countIf() 计算个数,sum() 用来求和,string() 用来转换其他类型为字符串类型等等。 
函数类型   | 函数   | 语法   | 示例   | 
统计函数     | avg   | 用于对字段取平均值,仅接受数值类型  avg(field)   | avg({流程节点}.{节点估分})   | 
  | avgIf   | 通过条件判断来获取字段的平均值  avgIf(field, condition)   | avgIf({流程节点}.{节点估分},each>=1)     | 
  | count     | 获取字段包含值数量  count(field)   | count({流程节点}.{名称})     | 
  | countIf   | 通过条件判断来获取字段包含值数量  countIf(field,condition)   | countIf({流程节点}.{名称}, match(each,"开发"))   | 
  | countDistinct   | 用于对字段进行去重计数  countDistinct(field)   | countDistinct({流程节点}.{名称})   | 
  | countDistinctIf   | 去重计数(带条件的)  countDistinctIf(field, condition)   | countDistinctIf({流程节点}.{名称}, match(each,"开发"))     | 
  | max   | 用于对字段取最大值,可接受数值类型、时间类型  max(field)   | max({流程节点}.{节点估分})   | 
  | maxIf   | 通过条件判断来获取字段的最大值  maxIf(field, condition)   | maxIf({流程节点}.{节点估分}, each>=1)   | 
  | min   | 用于对字段取最小值,可接受数值类型、时间类型  min(field)   | min({流程节点}.{节点估分})   | 
  | minIf   | 通过条件判断来获取字段的最小值  minIf(field, condition)   | minIf({流程节点}.{节点估分}, each>=1)   | 
  | median   | 用于对字段取中位数,可接受数值类型、时间类型  median(field)   | median({流程节点}.{节点估分})   | 
  | medianIf   | 通过条件判断来获取字段的中位数  medianIf(field, condition)   | medianIf({流程节点}.{节点估分}, each>=1)   | 
  | sum   | 用于对字段取和,仅接受数值类型  sum(field)   | sum({流程节点}.{节点估分})     | 
  | sumIf   | 通过条件判断来对字段求和  sumIf(field, condition)   | sumIf({流程节点}.{节点估分}, each>=1)   | 
逻辑函数   | not   | 取非,将 true 与 false 之间互相转换  not(condition)   | not(false)   | 
  | empty   | 判断一个字段是否为空,空返回 true,非空返回 false  empty(field)   | empty({优先级})   | 
  | isNull   | 判断一个字段是否为空,空返回 true,非空返回 false  isNull(field)   | isNull({优先级})   | 
条件函数   | if   | 条件判断,用于两个值之间的比较,如 if 的第一个参数为 true,则返回第二个参数的值,否则返回第三个参数的值  if(condition, v1, v2)   | if({优先级} == "P0", 0, 1)   | 
数值类操作运算   | sqrt   | 开根号,接受一个数值类型的参数并返回该数值类型的平方根  sqrt(number)   | sqrt(9)   | 
  | pow   | 求幂,用于数值的求幂,number1 表示底数,number2 表示幂  pow(number1, number2)   | pow(2,3)   | 
  | round   | 保留几位小数,number1 表示原始数值,number2 表示需保留的小数位数  round(number1, number2)   | round(3.1415926, 2)   | 
  | ceil   | 向上取整  ceil(number)   | ceil(1.2)   | 
  | floor   | 向下取整  floor(number)   | floor(2.1)   | 
日期类操作函数   | toHour   | 提取小时,将输入的时间提取为 24 小时制式小时。  toHour(date)   | toHour(date("2021-05-01 18:25:30"))   | 
  | toMinute   | 提取分钟,将输入的时间提取分钟数。  toMinute(date)   | toMinute(date("2021-05-01 18:25:30"))   | 
  | toMonth   | 提取月份,将输入的时间提取月份。  toMonth(date)   | toMonth(date("2021-05-01 18:25:30"))   | 
  | toSecond   | 提取秒,将输入的时间提取秒数。  toSecond(date)   | toSecond(date("2021-05-01 18:25:30"))   | 
  | toYear   | 提取年  toYear(date)   | toYear(date("2021-05-08")) == 2021   | 
  | getWeekOfYear   | 提取日期所在周  getWeekOfYear(date)   | getWeekOfYear(today())   | 
  | getYear   | 提取日期所在年  getYear(date)   | getYear(today())   | 
  | getMonth   | 提取日期所在月份  getMonth(date)   | getMonth(today())   | 
  | toStartOfDay   | 获取当前天的起始时间,向前取整到今天开始。  toStartOfDay(date)   | toStartOfDay(date("2021-05-15 18:25:30"))   | 
  | toStartOfHour   | 获取当前小时的起始时间,向前取整到当前小时开始。  toStartOfHour(date)   | toStartOfHour(date("2021-05-15 18:25:30"))   | 
  | toStartOfMinute   | 获取当前分钟的起始时间,向前取整到当前分钟开始。  toStartOfMinute(date)   | toStartOfMinute(date("2021-05-15 18:25:30"))   | 
  | toStartOfMonth   | 获取当前月份的起始时间,向前取整到当前月份的第一天。  toStartOfMonth(date)   | toStartOfMonth(date("2021-05-15 18:25:30"))   | 
  | toStartOfQuarter   | 获取当前季度的起始时间,向前取整到当前季度的第一天。  toStartOfQuarter(date)   | toStartOfQuarter(date("2021-05-15 18:25:30"))   | 
  | toStartOfYear   | 获取当前年份的起始时间,向前取整到当前年度的第一天。  toStartOfYear(date)   | toStartOfYear(date("2021-05-15 18:25:30"))   | 
  | hour   | 返回两个日期之间的小时数  hour(date1, date2)   | hour(date("2021-08-09 10:00:30"), date("2021-08-09 12:00:30"))   | 
  | second   | 返回两个日期之间的秒数  second(date1, date2)   | second(date("2021-08-09 10:00:59"), date("2021-08-09 12:00:15"))   | 
  | daysBetween   | 返回两个日期之间的天数,值为 date2-date1 的结果  daysBetween(date1, date2)   | daysBetween(today(), date("2022-09-06"))   | 
  | workdaysBetween   | 返回两个日期之间的工作日天数,值为 date2-date1 的结果  workdaysBetween(date1, date2)   | workdaysBetween(today(), date("2022-09-06"))   | 
  | now   | 返回当前时间  now()   | now()   | 
  | today   | 返回当前时间  today()   | today()   | 
  | dateAdd   | 计算日期增减计算后的返回值  dateAdd(date, number)   | dateAdd(today(), -60)   | 
字符串操作函数   | length   | 返回字符串的长度。  length(string)   | length("meego") == 5   | 
  | match   | 判断第一个参数是否包含第二个参数,是返回 true,反之返回 false  match(string1,string2)   | match("meego", "go")   | 
  | lower   | 将字符串中的英文字符转换为小写。  lower(string)   | lower("MEEGO")   | 
  | upper   | 将字符串中的英文字符转换为大写。  upper(string)   | upper("meego")   | 
  | reverse   | 反转字符串。  reverse(string)   | reverse("meego")   | 
  | subString   | 以字符为单位截取指定位置字符串  subString(string,start,end)   | subString("meego", 1, 3)   | 
  | concat   | 将参数中的多个字段/字符串拼接。  concat(string1,string2)   | concat("mee", "go")   | 
类型转换函数   | string   | 将一个值强行转为 string 类型  string(field)   | string(1)   | 
  | date   | 将日期类型的字符串转换成日期类型  date(string)   | date("2022-08-02")   | 
  | bool   | 将某值转换成 bool 类型  bool(field)   | bool(1)   | 
容器操作函数   | contains   | 判断数组是否包含某一个元素,是返回 true,反之返回 false  contains(array, elem)   | contains([1, 2, 3], 1)   | 
  | containsAny   | 判断两个数组是否有交集,是返回 true,反之返回 false  containsAny(array1, array2)   | containsAny([1, 2, 3], [2, 3, 4])   | 
  | filter   | 过滤数组元素  filter(array, condition)   | filter([1, 2, 3], each % 2 == 0)   | 
  | join   | 拼接字符串数组  join(array<string>, char)   | join(["1", "2"], ",")   | 
特殊函数   | timeline     | 输出时间轴,支持 day、workday、week、bi-week、month、bi-month、quarter 与 year 输出,不能与其他函数混合使用  timeline(startTime,endTime, "day")   | timeline(date("2021-05-01"), date("2021-05-03"), "day")   | 
  | timelineCursor   | 取当前 timeline 时间切片日期  timeline_cursor()   | dateAdd(timeline_cursor(), -60)   | 
 











