このページの内容

ケース集計関数

同じケース内のすべてのイベントにわたって値を集計する関数です。

ケース集計について

プロセスマイニングでは、ケースはプロセスの1つのインスタンス(例:1件の注文、1件のチケット、1つの顧客ジャーニー)を表します。各ケースには複数のイベント(個々のステップまたはアクティビティ)が含まれます。

ケース集計関数は、ケース内のすべてのイベントにわたって値を計算し、その結果を各イベントで利用できるようにします。これにより、次のことが可能になります。

  • ケースの合計値を計算する(例:注文金額の合計)
  • ケース内のパターンを見つける(例:やり直しイベントの件数)
  • 個々のイベントをケースレベルの統計と比較する

一般的なパターン

  • ケースの合計を計算:

    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) ケース内の一意の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") ケース内の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の分散

関連トピック