本页内容

全局聚合函数

用于聚合整个数据集中所有事件的值的函数。

了解全局聚合

案例聚合在单个案例内运行,而全局聚合则跨数据集中的所有事件进行计算。这可以用于:

  • 计算总体总量和平均值
  • 将单个事件或案例与全局基准进行比较
  • 计算占总量的百分比

常见模式

  • 总体统计:

    allSum(Revenue)           // Total revenue
    allAvg(ProcessingTime)    // Average processing time
    allCount()                // Total number of events
  • 占总量的百分比:

    caseSum(Amount) / allSum(Amount) * 100   // This case as % of total
    Amount / allSum(Amount) * 100            // This event as % of total
  • 与平均值比较:

    Duration - allAvg(Duration)              // Difference from average
    Duration / allAvg(Duration)              // Ratio to average
  • 筛选后的全局聚合:计算数据子集的聚合值:

    allSumIf(Amount, Region == "Europe")     // European total
    allAvgIf(Duration, Priority == "High")   // High-priority average
    allCountIf(Status == "Completed")        // Completed count
  • 识别异常值:

    if(Duration > allAvg(Duration) + 2 * allStdDev(Duration), 
       "Outlier", "Normal")

allSum

(attribute)

汇总数据集中所有事件的数值属性。

参数
attribute number 要求和的属性
返回值 数字
示例
allSum(Revenue) 所有案例的Revenue总额

allAvg

(attribute)

计算数据集中所有事件的平均值。

参数
attribute number 要求平均值的属性
返回值 数字
示例
allAvg(ProcessingTime) 整体平均ProcessingTime

allMin

(attribute)

返回数据集中所有事件的最小值。

参数
attribute number 要获取最小值的属性
返回值 数字
示例
allMin(StartTime) 数据中的最早Timestamp

allMax

(attribute)

返回数据集中所有事件的最大值。

参数
attribute number 要获取最大值的属性
返回值 数字
示例
allMax(Amount) 数据中的最高Amount

allCount

()

返回数据集中的事件总数。

返回值 数字
示例
allCount() 事件总数

allMedian

(attribute)

返回数据集中所有事件的中位值。

参数
attribute number 要获取中位值的属性
返回值 数字
示例
allMedian(Duration) 所有Duration的中位值

allStdDev

(attribute)

计算数据集中所有事件的标准差。

参数
attribute number 要分析的属性
返回值 数字
示例
allStdDev(ProcessingTime) ProcessingTime的标准差

allCountDistinct

(expr)

统计数据集中所有事件的不同值数量。

参数
expr any 值表达式
返回值 数字
示例
allCountDistinct(Resource) 唯一资源数量

allSumIf

(attribute, condition)

汇总所有符合条件的事件值。

参数
attribute number 要求和的属性
condition boolean 用于筛选的条件
返回值 数字
示例
allSumIf(Amount, Region == "Europe") 欧洲案例的Amount总额

allAvgIf

(attribute, condition)

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

参数
attribute number 要求平均值的属性
condition boolean 用于筛选的条件
返回值 数字
示例
allAvgIf(Duration, Priority == "High") 高优先级项目的平均Duration

allCountIf

(condition)

统计所有符合条件的事件。

参数
condition boolean 要统计的条件
返回值 数字
示例
allCountIf(Status == "Completed") 已完成事件数量

allMinIf

(attribute, condition)

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

参数
attribute number 要获取最小值的属性
condition boolean 用于筛选的条件
返回值 数字
示例
allMinIf(Price, Category == "Premium") Premium的最低Price

allMaxIf

(attribute, condition)

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

参数
attribute number 要获取最大值的属性
condition boolean 用于筛选的条件
返回值 数字
示例
allMaxIf(Duration, Activity == "Approval") 最长ApprovalDuration

统计函数

用于分析所有事件中值分布的统计函数。

  • 识别绩效层级:

    百分位数以0到1之间的分数传入(0.25=第25百分位数):

    if(Duration < allPercentile(Duration, 0.25), "Fast",
       if(Duration < allPercentile(Duration, 0.75), "Normal", "Slow")
    )
  • 查找异常值:超出平均值两个标准差的值:

    if(abs(Amount - allAvg(Amount)) > 2 * sqrt(allVariance(Amount)),
       "Outlier", "Normal")
  • 与基准比较:

    Duration > allPercentile(Duration, 0.9)   // Is this in the top 10% (slowest)?

allPercentile

(attribute, percentile)

计算属性在所有事件中的百分位值。

参数
attribute number 要分析的属性
percentile number 百分位数以0到1之间的分数表示(0.95=第95百分位数)
返回值 数字
示例
allPercentile(Duration, 0.95) 整体Duration的第95百分位值

allVariance

(attribute)

计算属性在所有事件中的方差。

参数
attribute number 要分析的属性
返回值 数字
示例
allVariance(Amount) 所有事件Amount的方差

相关主题