表达式简介
ProcessMind表达式语言可用于创建计算属性、为网关定义条件,并在流程模型中转换数据。借助此功能,您无需修改源数据即可推导新的洞察。
使用表达式可以做什么?
-
计算属性:从现有列创建新的数据列。例如,计算事件之间的处理时间:
dateDiff(StartTime, EndTime, "minute") -
条件逻辑:定义用于数据分类或控制流程的业务规则:
if(Amount > 10000, "High Value", if(Amount > 1000, "Medium", "Low") ) -
数据转换:清理、格式化和转换文本数据:
upper(trim(CustomerName)) -
基于时间的分析:提取时间组成部分并创建时间分桶以供分析:
bucket(hour(StartTime), 6, "Night", 12, "Morning", 18, "Afternoon", "Evening")
表达式语法
表达式使用类似电子表格公式的熟悉语法:
-
函数使用括号调用:
round(3.14, 1) -
运算符作用于值之间:
Amount * 1.1 -
字符串使用双引号括起:
"Hello" -
列名可以直接使用:
StartTime Amount -
括号控制计算顺序:
(a + b) * c -
带引号的标识符:如果列名包含空格或特殊字符,请使用反引号括起:
`Order Amount` * 0.1
快速示例
-
以小时计算时长
dateDiff(StartTime, EndTime, "hour") -
按金额分类
if(Amount >= 10000, "Enterprise", if(Amount >= 1000, "Business", "Consumer") ) -
提取年份和月份
concat(toString(year(Timestamp)), "-", padLeft(toString(month(Timestamp)), 2, "0")) -
检查缺失数据
ifNull(Department, "Unassigned") -
计算占总量的百分比
divide(Amount, allSum(Amount), 0) * 100 -
统计案例中的错误
caseCountIf(Status == "Error")