本页内容

案例聚合函数

用于聚合同一案例内所有事件值的函数。

了解案例聚合函数

在流程挖掘中,案例代表流程的一个实例(例如一笔订单、一张工单或一段客户旅程)。每个案例包含多个事件(单独的步骤或活动)。

案例聚合函数会计算案例中所有事件的值,并将结果提供给每个事件。您可以借此:

  • 计算案例总值(例如订单总金额)
  • 发现案例中的模式(例如返工事件次数)
  • 将单个事件与案例级统计数据进行比较

常见用法

  • 计算案例总值:

    caseSum(ItemAmount)           // Total order value
    caseCount()                   // Number of events in case
    caseCountDistinct(Resource)   // Unique resources involved
  • 查找极值:

    caseMin(Timestamp)            // First event time
    caseMax(Timestamp)            // Last event time
    caseMax(Timestamp) - caseMin(Timestamp)   // Total case duration
  • 条件聚合:

    caseCountIf(Status == "Error")            // Error count
    caseSumIf(Amount, Activity == "Payment")  // Total payments
    caseAvgIf(Duration, Activity == "Review") // Avg review time
  • 比较事件与案例:

    Duration / caseAvg(Duration)  // Is this event faster/slower than average?

caseSum

(attribute)

对当前案例中所有事件的数值属性求和。

参数
attribute number 要求和的属性
返回值 数字
示例
caseSum(ItemAmount) → 案例中所有ItemAmount值的总和

caseAvg

(attribute)

计算当前案例中所有事件的数值属性平均值。

参数
attribute number 要求平均值的属性
返回值 数字
示例
caseAvg(ProcessingTime) → 每个事件的平均处理时间

caseMin

(attribute)

返回当前案例中所有事件的最小属性值。

参数
attribute number 要返回最小值的属性
返回值 数字
示例
caseMin(ItemPrice) → 案例中的最低价格

caseMax

(attribute)

返回当前案例中所有事件的最大属性值。

参数
attribute number 要返回最大值的属性
返回值 数字
示例
caseMax(ItemPrice) → 案例中的最高价格

caseCount

()

返回当前案例中的事件数。

返回值 数字
示例
caseCount() → 案例中的事件数

caseMedian

(attribute)

返回当前案例中所有事件的属性中位数。

参数
attribute number 要返回中位数的属性
返回值 数字
示例
caseMedian(Duration) → 案例中Duration的中间值

caseCountDistinct

(attribute)

统计当前案例中某个属性的不同值数量。

参数
attribute any 要统计不同值的属性
返回值 数字
示例
caseCountDistinct(Resource) → 案例中的不同资源数量

caseStdDev

(expr)

计算案例中各事件值的标准差。

参数
expr number 值表达式
返回值 数字
示例
caseStdDev(Amount) → 案例内的标准差

caseSumIf

(attribute, condition)

仅对符合条件的事件值求和。

参数
attribute number 要求和的属性
condition boolean 筛选条件
返回值 数字
示例
caseSumIf(Amount, Status == "Approved") → Status为Approved时Amount的总和

caseAvgIf

(attribute, condition)

仅计算符合条件的事件值的平均值。

参数
attribute number 要求平均值的属性
condition boolean 筛选条件
返回值 数字
示例
caseAvgIf(Duration, Activity == "Review") → Review活动的平均时长

caseCountIf

(condition)

统计当前案例中符合条件的事件数。

参数
condition boolean 统计条件
返回值 数字
示例
caseCountIf(Status == "Error") → 案例中的错误事件数

caseMinIf

(attribute, condition)

返回符合条件的事件中的最小值。

参数
attribute number 要返回最小值的属性
condition boolean 筛选条件
返回值 数字
示例
caseMinIf(Timestamp, Activity == "Start") → 首次Start活动的时间戳

caseMaxIf

(attribute, condition)

返回符合条件的事件中的最大值。

参数
attribute number 要返回最大值的属性
condition boolean 筛选条件
返回值 数字
示例
caseMaxIf(Timestamp, Activity == "End") → 最后一次End活动的时间戳

运行聚合

运行聚合会计算截至当前事件(含当前事件)的累计值。按时间顺序查看案例中的事件时,运行值会随之更新。

适用于以下场景:

  • 跟踪累计总值(运行总和)
  • 确定事件位置(运行计数)
  • 计算滚动平均值

运行聚合用法

  • 累计总值:跟踪案例中数值的累计变化:

    caseRunningSum(ItemAmount)   // Cumulative order total at each event
    事件 金额 caseRunningSum(Amount)
    1 100 100
    2 50 150
    3 75 225
  • 事件位置:确定事件在案例顺序中的位置:

    caseRunningCount()   // 1, 2, 3, 4...
  • 滚动平均值:计算截至当前事件的平均值:

    caseRunningAvg(Duration)   // Average duration so far
  • 基于位置的逻辑:

    if(caseRunningCount() == 1, "First", 
       if(caseRunningCount() == caseCount(), "Last", "Middle")
    )

caseRunningSum

(attribute)

计算截至当前事件(含当前事件)的累计和。

参数
attribute number 要求和的属性
返回值 数字
示例
caseRunningSum(ItemAmount) → 各事件对应的累计总和

caseRunningCount

()

返回案例中的事件序号,从1开始。

返回值 数字
示例
caseRunningCount() → 事件位置:1、2、3……

caseRunningAvg

(attribute)

计算截至当前事件(含当前事件)的累计平均值。

参数
attribute number 要求平均值的属性
返回值 数字
示例
caseRunningAvg(Duration) → 截至当前的平均时长

caseRunningMin

(expr)

计算截至当前事件的累计最小值。

参数
expr number 值表达式
返回值 数字
示例
caseRunningMin(Amount) → 累计最小金额

caseRunningMax

(expr)

计算截至当前事件的累计最大值。

参数
expr number 值表达式
返回值 数字
示例
caseRunningMax(Amount) → 累计最大金额

统计函数

用于分析案例内数值分布的统计函数。

  • 百分位数:查看某个值在案例中相对于其他值的位置。百分位数以0到1之间的小数表示,因此0.9表示第90百分位数:

    casePercentile(Duration, 0.5)   // Median duration in this case
    casePercentile(Duration, 0.9)   // 90th percentile
  • 方差:衡量数值的离散程度:

    caseVariance(Amount)           // Variation within this case

casePercentile

(attribute, percentile)

计算某个属性在当前案例中的百分位数。

参数
attribute number 要分析的属性
percentile number 百分位数,以0到1之间的小数表示(0.9 = 第90百分位数)
返回值 数字
示例
casePercentile(Duration, 0.9) → 案例时长的第90百分位数

caseVariance

(attribute)

计算某个属性在当前案例中的方差。

参数
attribute number 要分析的属性
返回值 数字
示例
caseVariance(ProcessingTime) → 案例中处理时间的方差

相关主题

优化流程,构建互联架构,掌控全局。

无需信用卡,也无需等待,即刻开始。将组织的实际工作方式转化为清晰、互联的流程设计。

构建流程架构,明确职责归属与管控措施,并在各层级统一角色分工。

开始免费试用,为流程治理、管理和持续改进建立可靠的统一基础。