전체 데이터셋의 모든 이벤트 값을 집계하는 함수입니다.
전역 집계 이해하기
케이스 집계는 단일 케이스 안에서 계산하지만, 전역 집계는 데이터셋의 모든 이벤트를 대상으로 계산합니다. 이를 통해 다음과 같은 작업을 할 수 있습니다.
- 전체 합계와 평균 계산
- 개별 이벤트나 케이스를 전체 기준값과 비교
- 전체 대비 비율 계산
자주 사용하는 패턴
-
전체 통계:
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) → 모든 케이스의 총매출 |
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) 조건을 충족하는 모든 이벤트의 개수를 셉니다.
| 매개변수 | |
| 반환값 | 숫자 |
| 예시 | 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) → 모든 이벤트의 금액 분산 |
관련 주제