Fungsi untuk mengagregasi nilai dari semua peristiwa dalam kasus yang sama.
Memahami agregat kasus
Dalam process mining, kasus mewakili satu kejadian proses, misalnya satu pesanan, satu tiket, atau satu perjalanan pelanggan. Setiap kasus terdiri dari beberapa peristiwa, yaitu langkah atau aktivitas individual.
Fungsi agregat kasus menghitung nilai dari semua peristiwa dalam suatu kasus, lalu menyediakan hasilnya pada setiap peristiwa. Dengan fungsi ini, Anda dapat:
- Menghitung total nilai untuk suatu kasus, misalnya total nilai pesanan
- Menemukan pola dalam kasus, misalnya jumlah peristiwa pengerjaan ulang
- Membandingkan peristiwa individual dengan statistik tingkat kasus
Pola umum
-
Menghitung total kasus:
caseSum(ItemAmount) // Total order value
caseCount() // Number of events in case
caseCountDistinct(Resource) // Unique resources involved
-
Menemukan nilai ekstrem:
caseMin(Timestamp) // First event time
caseMax(Timestamp) // Last event time
caseMax(Timestamp) - caseMin(Timestamp) // Total case duration
-
Agregat bersyarat:
caseCountIf(Status == "Error") // Error count
caseSumIf(Amount, Activity == "Payment") // Total payments
caseAvgIf(Duration, Activity == "Review") // Avg review time
-
Membandingkan peristiwa dengan kasus:
Duration / caseAvg(Duration) // Is this event faster/slower than average?
caseSum
(attribute) Menjumlahkan atribut numerik dari semua event dalam kasus saat ini.
| Parameter | | attribute | number | Atribut yang akan dijumlahkan | |
| Nilai yang dikembalikan | angka |
| Contoh | caseSum(ItemAmount) → Jumlah semua nilai ItemAmount dalam kasus |
caseAvg
(attribute) Menghitung rata-rata atribut numerik dari semua event dalam kasus saat ini.
| Parameter | | attribute | number | Atribut yang akan dihitung rata-ratanya | |
| Nilai yang dikembalikan | angka |
| Contoh | caseAvg(ProcessingTime) → Rata-rata waktu pemrosesan per event |
caseMin
(attribute) Mengembalikan nilai atribut terkecil dari semua event dalam kasus saat ini.
| Parameter | | attribute | number | Atribut yang nilai terkecilnya akan dikembalikan | |
| Nilai yang dikembalikan | angka |
| Contoh | caseMin(ItemPrice) → Harga terendah dalam kasus |
caseMax
(attribute) Mengembalikan nilai atribut terbesar dari semua event dalam kasus saat ini.
| Parameter | | attribute | number | Atribut yang nilai terbesarnya akan dikembalikan | |
| Nilai yang dikembalikan | angka |
| Contoh | caseMax(ItemPrice) → Harga tertinggi dalam kasus |
caseCount
() Mengembalikan jumlah event dalam kasus saat ini.
| Nilai yang dikembalikan | angka |
| Contoh | caseCount() → Jumlah event dalam kasus |
caseMedian
(attribute) Mengembalikan nilai median atribut dari semua event dalam kasus saat ini.
| Parameter | | attribute | number | Atribut yang nilai mediannya akan dikembalikan | |
| Nilai yang dikembalikan | angka |
| Contoh | caseMedian(Duration) → Nilai tengah Duration dalam kasus |
caseCountDistinct
(attribute) Menghitung jumlah nilai unik suatu atribut dalam kasus saat ini.
| Parameter | | attribute | any | Atribut yang nilai uniknya akan dihitung | |
| Nilai yang dikembalikan | angka |
| Contoh | caseCountDistinct(Resource) → Jumlah sumber daya unik dalam kasus |
caseStdDev
(expr) Menghitung simpangan baku dari event dalam kasus.
| Parameter | | expr | number | Ekspresi nilai | |
| Nilai yang dikembalikan | angka |
| Contoh | caseStdDev(Amount) → Simpangan baku dalam kasus |
caseSumIf
(attribute, condition) Menjumlahkan nilai hanya dari event yang memenuhi kondisi.
| Parameter | | attribute | number | Atribut yang akan dijumlahkan | | condition | boolean | Kondisi untuk memfilter | |
| Nilai yang dikembalikan | angka |
| Contoh | caseSumIf(Amount, Status == "Approved") → Jumlah Amount saat Status bernilai Approved |
caseAvgIf
(attribute, condition) Menghitung rata-rata nilai hanya dari event yang memenuhi kondisi.
| Parameter | | attribute | number | Atribut yang akan dihitung rata-ratanya | | condition | boolean | Kondisi untuk memfilter | |
| Nilai yang dikembalikan | angka |
| Contoh | caseAvgIf(Duration, Activity == "Review") → Rata-rata durasi aktivitas Review |
caseCountIf
(condition) Menghitung event dalam kasus saat ini yang memenuhi kondisi.
| Parameter | | condition | boolean | Kondisi untuk dihitung | |
| Nilai yang dikembalikan | angka |
| Contoh | caseCountIf(Status == "Error") → Jumlah event error dalam kasus |
caseMinIf
(attribute, condition) Mengembalikan nilai terkecil di antara event yang memenuhi kondisi.
| Parameter | | attribute | number | Atribut yang nilai terkecilnya akan dikembalikan | | condition | boolean | Kondisi untuk memfilter | |
| Nilai yang dikembalikan | angka |
| Contoh | caseMinIf(Timestamp, Activity == "Start") → Timestamp aktivitas Start pertama |
caseMaxIf
(attribute, condition) Mengembalikan nilai terbesar di antara event yang memenuhi kondisi.
| Parameter | | attribute | number | Atribut yang nilai terbesarnya akan dikembalikan | | condition | boolean | Kondisi untuk memfilter | |
| Nilai yang dikembalikan | angka |
| Contoh | caseMaxIf(Timestamp, Activity == "End") → Timestamp aktivitas End terakhir |
Agregat berjalan
Agregat berjalan menghitung nilai kumulatif hingga dan termasuk peristiwa saat ini. Saat Anda menelusuri peristiwa dalam kasus secara kronologis, nilai berjalan akan diperbarui.
Fungsi ini berguna untuk:
- Melacak total kumulatif (jumlah berjalan)
- Menentukan posisi peristiwa (jumlah berjalan)
- Menghitung rata-rata bergulir
Pola agregat berjalan
-
Total kumulatif: Lacak pertambahan nilai sepanjang kasus:
caseRunningSum(ItemAmount) // Cumulative order total at each event
| Peristiwa | Jumlah | caseRunningSum(Amount) |
| 1 | 100 | 100 |
| 2 | 50 | 150 |
| 3 | 75 | 225 |
-
Posisi peristiwa: Tentukan posisi peristiwa dalam urutan kasus:
caseRunningCount() // 1, 2, 3, 4...
-
Rata-rata bergulir: Hitung rata-rata hingga titik saat ini:
caseRunningAvg(Duration) // Average duration so far
-
Logika berdasarkan posisi:
if(caseRunningCount() == 1, "First",
if(caseRunningCount() == caseCount(), "Last", "Middle")
)
caseRunningSum
(attribute) Menghitung jumlah kumulatif hingga dan termasuk event saat ini.
| Parameter | | attribute | number | Atribut yang akan dijumlahkan | |
| Nilai yang dikembalikan | angka |
| Contoh | caseRunningSum(ItemAmount) → Jumlah kumulatif pada setiap event |
caseRunningCount
() Mengembalikan nomor event dalam kasus, dimulai dari 1.
| Nilai yang dikembalikan | angka |
| Contoh | caseRunningCount() → Urutan event: 1, 2, 3, ... |
caseRunningAvg
(attribute) Menghitung rata-rata kumulatif hingga dan termasuk event saat ini.
| Parameter | | attribute | number | Atribut yang akan dihitung rata-ratanya | |
| Nilai yang dikembalikan | angka |
| Contoh | caseRunningAvg(Duration) → Rata-rata durasi hingga saat ini |
caseRunningMin
(expr) Menghitung nilai minimum kumulatif hingga event saat ini.
| Parameter | | expr | number | Ekspresi nilai | |
| Nilai yang dikembalikan | angka |
| Contoh | caseRunningMin(Amount) → Nilai Amount minimum kumulatif |
caseRunningMax
(expr) Menghitung nilai maksimum kumulatif hingga event saat ini.
| Parameter | | expr | number | Ekspresi nilai | |
| Nilai yang dikembalikan | angka |
| Contoh | caseRunningMax(Amount) → Nilai Amount maksimum kumulatif |
Fungsi statistik
Fungsi statistik untuk menganalisis sebaran nilai dalam suatu kasus.
-
Persentil: Ketahui posisi suatu nilai dibandingkan nilai lain dalam kasus. Masukkan persentil sebagai pecahan dari 0 hingga 1. Nilai 0.9 berarti persentil ke-90:
casePercentile(Duration, 0.5) // Median duration in this case
casePercentile(Duration, 0.9) // 90th percentile
-
Varians: Ukur seberapa tersebar nilai-nilainya:
caseVariance(Amount) // Variation within this case
casePercentile
(attribute, percentile) Menghitung persentil suatu atribut dalam kasus yang sedang diproses.
| Parameter | | attribute | number | Atribut yang dianalisis | | percentile | number | Persentil dalam bentuk pecahan dari 0 hingga 1 (0.9 = persentil ke-90) | |
| Nilai yang dikembalikan | angka |
| Contoh | casePercentile(Duration, 0.9) → Durasi pada persentil ke-90 dalam kasus |
caseVariance
(attribute) Menghitung varians suatu atribut dalam kasus yang sedang diproses.
| Parameter | | attribute | number | Atribut yang dianalisis | |
| Nilai yang dikembalikan | angka |
| Contoh | caseVariance(ProcessingTime) → Varians waktu pemrosesan dalam kasus |
Topik terkait