本页内容

案例聚合函数

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

了解案例聚合

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

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

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

常见模式

  • 计算案例总值:

    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活动的平均Duration

caseCountIf

(condition)

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

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

caseMinIf

(attribute, condition)

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

参数
attribute number 要获取最小值的属性
condition boolean 用于筛选的条件
返回值 数字
示例
caseMinIf(Timestamp, Activity == "Start") 第一个Start活动的Timestamp

caseMaxIf

(attribute, condition)

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

参数
attribute number 要获取最大值的属性
condition boolean 用于筛选的条件
返回值 数字
示例
caseMaxIf(Timestamp, Activity == "End") 最后一个End活动的Timestamp

运行聚合

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

适用于:

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

运行聚合模式

  • 累计总值:跟踪某个值在案例中的累积过程:

    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) 截至当前的平均Duration

caseRunningMin

(expr)

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

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

caseRunningMax

(expr)

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

参数
expr number 值表达式
返回值 数字
示例
caseRunningMax(Amount) 累计最大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) 案例中Duration的第90百分位值

caseVariance

(attribute)

计算属性在当前案例内的方差。

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

相关主题