データセット全体のすべてのイベントを対象に値を集計する関数です。
全体集計について
ケース集計が単一のケース内で処理するのに対し、全体集計はデータセット内のすべてのイベントを対象に計算します。次のような分析が可能です:
- 全体の合計や平均の計算
- 個々のイベントやケースと全体の基準値との比較
- 全体に占める割合の計算
よく使うパターン
-
全体統計:
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) データセット内のすべてのイベントについて、数値属性の合計を計算します。
| パラメーター | |
| 戻り値 | 数値 |
| 例 | allSum(Revenue) → すべてのケースの売上合計 |
allAvg
(attribute) データセット内のすべてのイベントについて、属性の平均を計算します。
| パラメーター | | attribute | number | 平均を計算する属性 | |
| 戻り値 | 数値 |
| 例 | allAvg(ProcessingTime) → 全体の平均処理時間 |
allMin
(attribute) データセット内のすべてのイベントの最小値を返します。
| パラメーター | | attribute | number | 最小値を返す属性 | |
| 戻り値 | 数値 |
| 例 | allMin(StartTime) → データ内で最も早いタイムスタンプ |
allMax
(attribute) データセット内のすべてのイベントの最大値を返します。
| パラメーター | | attribute | number | 最大値を返す属性 | |
| 戻り値 | 数値 |
| 例 | allMax(Amount) → データ内の最大金額 |
allCount
() データセット内のイベント総数を返します。
allMedian
(attribute) データセット内のすべてのイベントの中央値を返します。
| パラメーター | | attribute | number | 中央値を返す属性 | |
| 戻り値 | 数値 |
| 例 | allMedian(Duration) → すべての所要時間の中央値 |
allStdDev
(attribute) データセット内のすべてのイベントの標準偏差を計算します。
| パラメーター | |
| 戻り値 | 数値 |
| 例 | allStdDev(ProcessingTime) → 処理時間の標準偏差 |
allCountDistinct
(expr) データセット内のすべてのイベントについて、値の種類数を数えます。
| パラメーター | |
| 戻り値 | 数値 |
| 例 | allCountDistinct(Resource) → 一意なリソース数 |
allSumIf
(attribute, condition) 条件に一致するすべてのイベントの値を合計します。
| パラメーター | | attribute | number | 合計する属性 | | condition | boolean | 絞り込み条件 | |
| 戻り値 | 数値 |
| 例 | allSumIf(Amount, Region == "Europe") → ヨーロッパのケースの合計金額 |
allAvgIf
(attribute, condition) 条件に一致するすべてのイベントの値の平均を計算します。
| パラメーター | | attribute | number | 平均を計算する属性 | | condition | boolean | 絞り込み条件 | |
| 戻り値 | 数値 |
| 例 | allAvgIf(Duration, Priority == "High") → 優先度が高い項目の平均所要時間 |
allCountIf
(condition) 条件に一致するすべてのイベント数を数えます。
| パラメーター | | condition | boolean | 件数を数える条件 | |
| 戻り値 | 数値 |
| 例 | allCountIf(Status == "Completed") → 完了したイベント数 |
allMinIf
(attribute, condition) 条件に一致するすべてのイベントの最小値を返します。
| パラメーター | | attribute | number | 最小値を返す属性 | | condition | boolean | 絞り込み条件 | |
| 戻り値 | 数値 |
| 例 | allMinIf(Price, Category == "Premium") → プレミアム商品の最低価格 |
allMaxIf
(attribute, condition) 条件に一致するすべてのイベントの最大値を返します。
| パラメーター | | attribute | number | 最大値を返す属性 | | condition | boolean | 絞り込み条件 | |
| 戻り値 | 数値 |
| 例 | allMaxIf(Duration, Activity == "Approval") → 承認にかかった最長時間 |
統計関数
すべてのイベントにおける値の分布を分析する統計関数です。
-
パフォーマンスの層を特定:
パーセンタイルは0から1までの小数で指定します(0.25=25パーセンタイル):
if(Duration < allPercentile(Duration, 0.25), "Fast",
if(Duration < allPercentile(Duration, 0.75), "Normal", "Slow")
)
-
外れ値の特定:平均から標準偏差の2倍を超えて離れた値:
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) → 全体の所要時間の95パーセンタイル |
allVariance
(attribute) すべてのイベントを対象に、属性の分散を計算します。
| パラメーター | |
| 戻り値 | 数値 |
| 例 | allVariance(Amount) → すべてのイベントにおける金額の分散 |
関連トピック