이 페이지에서

케이스 집계 함수

같은 케이스에 속한 모든 이벤트의 값을 집계하는 함수입니다.

케이스 집계 이해하기

process mining에서 케이스는 프로세스의 단일 인스턴스를 의미합니다(예: 주문 하나, 티켓 하나, 고객 여정 하나). 각 케이스에는 여러 이벤트가 포함되며, 각 이벤트는 개별 단계 또는 활동을 나타냅니다.

케이스 집계 함수는 케이스의 모든 이벤트를 대상으로 값을 계산하고, 그 결과를 각 이벤트에서 사용할 수 있게 합니다. 이를 통해 다음 작업을 수행할 수 있습니다.

  • 케이스의 총값 계산(예: 총 주문 금액)
  • 케이스 내 패턴 찾기(예: 재작업 이벤트 수)
  • 개별 이벤트와 케이스 수준 통계 비교

자주 사용하는 패턴

  • 케이스 합계 계산:

    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 활동의 평균 소요 시간

caseCountIf

(condition)

현재 케이스에서 조건을 충족하는 이벤트 수를 셉니다.

매개변수
condition boolean 계산 조건
반환값 숫자
예시
caseCountIf(Status == "Error") → 케이스의 오류 이벤트 수

caseMinIf

(attribute, condition)

조건을 충족하는 이벤트 중 최솟값을 반환합니다.

매개변수
attribute number 최솟값을 반환할 속성
condition boolean 필터 조건
반환값 숫자
예시
caseMinIf(Timestamp, Activity == "Start") → 첫 번째 Start 활동의 타임스탬프

caseMaxIf

(attribute, condition)

조건을 충족하는 이벤트 중 최댓값을 반환합니다.

매개변수
attribute number 최댓값을 반환할 속성
condition boolean 필터 조건
반환값 숫자
예시
caseMaxIf(Timestamp, Activity == "End") → 마지막 End 활동의 타임스탬프

누적 집계

누적 집계는 현재 이벤트까지의 누적 값을 계산합니다. 케이스의 이벤트를 시간순으로 살펴보면 누적 값이 계속 갱신됩니다.

다음과 같은 경우에 유용합니다.

  • 누적 합계 추적
  • 이벤트 순서 확인(누적 개수)
  • 이동 평균 계산

누적 집계 패턴

  • 누적 합계: 케이스가 진행되면서 값이 어떻게 누적되는지 추적합니다.

    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) → 현재 시점까지의 평균 소요 시간

caseRunningMin

(expr)

현재 이벤트까지의 누적 최솟값을 계산합니다.

매개변수
expr number 값 표현식
반환값 숫자
예시
caseRunningMin(Amount) → 누적 최솟값

caseRunningMax

(expr)

현재 이벤트까지의 누적 최댓값을 계산합니다.

매개변수
expr number 값 표현식
반환값 숫자
예시
caseRunningMax(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) → 케이스의 90백분위수 소요 시간

caseVariance

(attribute)

현재 케이스에서 속성의 분산을 계산합니다.

매개변수
attribute number 분석할 속성
반환값 숫자
예시
caseVariance(ProcessingTime) → 케이스의 처리 시간 분산

관련 주제

더 나은 프로세스를 설계하고, 연결된 아키텍처를 구축해 관리하세요.

신용카드 등록이나 대기 없이 바로 이용할 수 있습니다. 조직의 업무 방식을 명확하고 유기적으로 연결된 프로세스 설계로 바꿔 보세요.

프로세스 아키텍처를 구축하고, 소유권과 통제 기준을 정립하며, 모든 계층의 역할과 책임을 조율하세요.

무료 체험을 시작하고 프로세스를 관리·운영하고 지속적으로 개선할 수 있는 신뢰할 만한 기반을 마련하세요.