本页内容

表达式简介

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")

相关主题