Funktionen zum Aggregieren von Werten über alle Events desselben Case hinweg.
Case-Aggregate verstehen
Im Process Mining bezeichnet ein Case einen einzelnen Prozessdurchlauf, zum Beispiel eine Bestellung, ein Ticket oder eine Customer Journey. Jeder Case umfasst mehrere Events, also einzelne Schritte oder Aktivitäten.
Case-Aggregatfunktionen berechnen Werte über alle Events eines Case hinweg und stellen das Ergebnis für jedes Event bereit. Damit können Sie:
- Gesamtwerte für einen Case berechnen, zum Beispiel den Gesamtbestellwert
- Muster innerhalb von Cases erkennen, zum Beispiel die Anzahl der Nachbearbeitungsereignisse
- Einzelne Events mit Statistiken auf Case-Ebene vergleichen
Gängige Muster
-
Case-Gesamtwerte berechnen:
caseSum(ItemAmount) // Total order value
caseCount() // Number of events in case
caseCountDistinct(Resource) // Unique resources involved
-
Extremwerte finden:
caseMin(Timestamp) // First event time
caseMax(Timestamp) // Last event time
caseMax(Timestamp) - caseMin(Timestamp) // Total case duration
-
Bedingte Aggregate:
caseCountIf(Status == "Error") // Error count
caseSumIf(Amount, Activity == "Payment") // Total payments
caseAvgIf(Duration, Activity == "Review") // Avg review time
-
Event mit Case vergleichen:
Duration / caseAvg(Duration) // Is this event faster/slower than average?
caseSum
(attribute) Addiert ein numerisches Attribut über alle Events des aktuellen Cases.
| Parameter | | attribute | number | Zu summierendes Attribut | |
| Rückgabewert | Zahl |
| Beispiele | caseSum(ItemAmount) → Summe aller ItemAmount-Werte im Case |
caseAvg
(attribute) Berechnet den Durchschnitt eines numerischen Attributs über alle Events des aktuellen Cases.
| Parameter | | attribute | number | Attribut, dessen Durchschnitt berechnet werden soll | |
| Rückgabewert | Zahl |
| Beispiele | caseAvg(ProcessingTime) → Durchschnittliche Verarbeitungszeit pro Event |
caseMin
(attribute) Gibt den kleinsten Attributwert aller Events im aktuellen Case zurück.
| Parameter | | attribute | number | Attribut, dessen kleinster Wert zurückgegeben werden soll | |
| Rückgabewert | Zahl |
| Beispiele | caseMin(ItemPrice) → Niedrigster Preis im Case |
caseMax
(attribute) Gibt den größten Attributwert aller Events im aktuellen Case zurück.
| Parameter | | attribute | number | Attribut, dessen größter Wert zurückgegeben werden soll | |
| Rückgabewert | Zahl |
| Beispiele | caseMax(ItemPrice) → Höchster Preis im Case |
caseCount
() Gibt die Anzahl der Events im aktuellen Case zurück.
| Rückgabewert | Zahl |
| Beispiele | caseCount() → Anzahl der Events im Case |
caseMedian
(attribute) Gibt den Medianwert eines Attributs über alle Events im aktuellen Case zurück.
| Parameter | | attribute | number | Attribut, dessen Medianwert zurückgegeben werden soll | |
| Rückgabewert | Zahl |
| Beispiele | caseMedian(Duration) → Mittlerer Duration-Wert im Case |
caseCountDistinct
(attribute) Zählt die unterschiedlichen Werte eines Attributs im aktuellen Case.
| Parameter | | attribute | any | Attribut, dessen unterschiedliche Werte gezählt werden sollen | |
| Rückgabewert | Zahl |
| Beispiele | caseCountDistinct(Resource) → Anzahl unterschiedlicher Ressourcen im Case |
caseStdDev
(expr) Berechnet die Standardabweichung der Events im Case.
| Parameter | |
| Rückgabewert | Zahl |
| Beispiele | caseStdDev(Amount) → Standardabweichung innerhalb des Cases |
caseSumIf
(attribute, condition) Addiert Werte nur für Events, die eine Bedingung erfüllen.
| Parameter | | attribute | number | Zu summierendes Attribut | | condition | boolean | Filterbedingung | |
| Rückgabewert | Zahl |
| Beispiele | caseSumIf(Amount, Status == "Approved") → Summe von Amount, wenn Status den Wert Approved hat |
caseAvgIf
(attribute, condition) Berechnet den Durchschnitt nur für Events, die eine Bedingung erfüllen.
| Parameter | | attribute | number | Attribut, dessen Durchschnitt berechnet werden soll | | condition | boolean | Filterbedingung | |
| Rückgabewert | Zahl |
| Beispiele | caseAvgIf(Duration, Activity == "Review") → Durchschnittliche Dauer von Review-Aktivitäten |
caseCountIf
(condition) Zählt die Events im aktuellen Case, die eine Bedingung erfüllen.
| Parameter | | condition | boolean | Bedingung für die Zählung | |
| Rückgabewert | Zahl |
| Beispiele | caseCountIf(Status == "Error") → Anzahl der Error-Events im Case |
caseMinIf
(attribute, condition) Gibt den kleinsten Wert der Events zurück, die eine Bedingung erfüllen.
| Parameter | | attribute | number | Attribut, dessen kleinster Wert zurückgegeben werden soll | | condition | boolean | Filterbedingung | |
| Rückgabewert | Zahl |
| Beispiele | caseMinIf(Timestamp, Activity == "Start") → Timestamp der ersten Start-Aktivität |
caseMaxIf
(attribute, condition) Gibt den größten Wert der Events zurück, die eine Bedingung erfüllen.
| Parameter | | attribute | number | Attribut, dessen größter Wert zurückgegeben werden soll | | condition | boolean | Filterbedingung | |
| Rückgabewert | Zahl |
| Beispiele | caseMaxIf(Timestamp, Activity == "End") → Timestamp der letzten End-Aktivität |
Laufende Aggregate
Laufende Aggregate berechnen kumulative Werte bis einschließlich des aktuellen Events. Wenn Sie die Events eines Case chronologisch durchgehen, wird der laufende Wert aktualisiert.
Das ist hilfreich, um:
- Kumulierte Gesamtwerte zu verfolgen (laufende Summe)
- Die Position eines Events zu bestimmen (laufende Anzahl)
- Gleitende Durchschnitte zu berechnen
Muster für laufende Aggregate
-
Kumulative Gesamtwerte: Verfolgen Sie, wie sich ein Wert im Verlauf eines Case aufsummiert:
caseRunningSum(ItemAmount) // Cumulative order total at each event
| Event | Betrag | caseRunningSum(Amount) |
| 1 | 100 | 100 |
| 2 | 50 | 150 |
| 3 | 75 | 225 |
-
Event-Position: Bestimmen Sie, an welcher Stelle der Case-Sequenz ein Event auftritt:
caseRunningCount() // 1, 2, 3, 4...
-
Gleitender Durchschnitt: Berechnen Sie den Durchschnitt bis zum aktuellen Punkt:
caseRunningAvg(Duration) // Average duration so far
-
Positionsbasierte Logik:
if(caseRunningCount() == 1, "First",
if(caseRunningCount() == caseCount(), "Last", "Middle")
)
caseRunningSum
(attribute) Berechnet die kumulative Summe bis einschließlich des aktuellen Events.
| Parameter | | attribute | number | Zu summierendes Attribut | |
| Rückgabewert | Zahl |
| Beispiele | caseRunningSum(ItemAmount) → Kumulierte Summe bei jedem Event |
caseRunningCount
() Gibt die Nummer des Events im Case zurück, beginnend mit 1.
| Rückgabewert | Zahl |
| Beispiele | caseRunningCount() → Position des Events: 1, 2, 3, ... |
caseRunningAvg
(attribute) Berechnet den kumulativen Durchschnitt bis einschließlich des aktuellen Events.
| Parameter | | attribute | number | Attribut, dessen Durchschnitt berechnet werden soll | |
| Rückgabewert | Zahl |
| Beispiele | caseRunningAvg(Duration) → Durchschnittliche Dauer bis zu diesem Event |
caseRunningMin
(expr) Berechnet den kleinsten Wert bis zum aktuellen Event.
| Parameter | |
| Rückgabewert | Zahl |
| Beispiele | caseRunningMin(Amount) → Kumulativer Mindestbetrag |
caseRunningMax
(expr) Berechnet den größten Wert bis zum aktuellen Event.
| Parameter | |
| Rückgabewert | Zahl |
| Beispiele | caseRunningMax(Amount) → Kumulativer Höchstbetrag |
Statistische Funktionen
Statistische Funktionen zur Analyse der Werteverteilung innerhalb eines Case.
-
Perzentile: Ermitteln Sie, wo ein Wert im Vergleich zu den übrigen Werten des Case liegt. Geben Sie das Perzentil als Bruchteil zwischen 0 und 1 an. 0.9 entspricht dem 90. Perzentil:
casePercentile(Duration, 0.5) // Median duration in this case
casePercentile(Duration, 0.9) // 90th percentile
-
Varianz: Messen Sie, wie stark die Werte streuen:
caseVariance(Amount) // Variation within this case
casePercentile
(attribute, percentile) Berechnet das Perzentil eines Attributs innerhalb des aktuellen Cases.
| Parameter | | attribute | number | Zu analysierendes Attribut | | percentile | number | Perzentil als Bruchzahl zwischen 0 und 1 (0.9 = 90. Perzentil) | |
| Rückgabewert | Zahl |
| Beispiele | casePercentile(Duration, 0.9) → 90. Perzentil der Dauer im Case |
caseVariance
(attribute) Berechnet die Varianz eines Attributs innerhalb des aktuellen Cases.
| Parameter | | attribute | number | Zu analysierendes Attribut | |
| Rückgabewert | Zahl |
| Beispiele | caseVariance(ProcessingTime) → Varianz der Verarbeitungszeiten im Case |
Verwandte Themen