Funktionen zum Aggregieren von Werten über alle Events innerhalb desselben Cases.
Case-Aggregate verstehen
Im Process Mining steht ein Case für eine einzelne Instanz eines Prozesses, zum Beispiel eine Bestellung, ein Ticket oder eine Customer Journey. Jeder Case enthält mehrere Events, also die einzelnen Schritte oder Aktivitäten.
Case-Aggregatfunktionen berechnen Werte über alle Events eines Cases und stellen das Ergebnis bei jedem Event bereit. Damit können Sie:
- Gesamtwerte für einen Case berechnen, zum Beispiel den Gesamtbestellwert
- Muster innerhalb von Cases finden, zum Beispiel die Anzahl von Nachbearbeitungs-Events
- Einzelne Events mit Statistiken auf Case-Ebene vergleichen
Häufige 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) Summiert ein numerisches Attribut über alle Events im aktuellen Case.
| Parameter | | attribute | number | Das zu summierende Attribute | |
| Rückgabewert | Zahl |
| Beispiele | caseSum(ItemAmount) → Summe aller ItemAmount-Werte im Case |
caseAvg
(attribute) Berechnet den Durchschnitt eines numerischen Attributs über alle Events im aktuellen Case.
| Parameter | | attribute | number | Das Attribute, dessen Mittelwert berechnet werden soll | |
| Rückgabewert | Zahl |
| Beispiele | caseAvg(ProcessingTime) → Durchschnittliche Verarbeitungszeit pro Event |
caseMin
(attribute) Gibt den Minimalwert eines Attributs über alle Events im aktuellen Case zurück.
| Parameter | | attribute | number | Das Attribute, dessen Minimum Sie ermitteln möchten | |
| Rückgabewert | Zahl |
| Beispiele | caseMin(ItemPrice) → Niedrigster Preis im Case |
caseMax
(attribute) Gibt den Maximalwert eines Attributs über alle Events im aktuellen Case zurück.
| Parameter | | attribute | number | Das Attribute, dessen Maximum Sie ermitteln möchten | |
| 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 | Das Attribute, dessen Median Sie ermitteln möchten | |
| Rückgabewert | Zahl |
| Beispiele | caseMedian(Duration) → Mittelwert der Duration im Case |
caseCountDistinct
(attribute) Zählt die unterschiedlichen Werte eines Attributes im aktuellen Case.
| Parameter | | attribute | any | Das Attribute, dessen unterschiedliche Werte Sie zählen möchten | |
| Rückgabewert | Zahl |
| Beispiele | caseCountDistinct(Resource) → Anzahl eindeutiger Ressourcen im Case |
caseStdDev
(expr) Berechnet die Standardabweichung über die Events im Case.
| Parameter | |
| Rückgabewert | Zahl |
| Beispiele | caseStdDev(Amount) → Standardabweichung innerhalb des Cases |
caseSumIf
(attribute, condition) Summiert Werte nur für Events, die eine Bedingung erfüllen.
| Parameter | | attribute | number | Das zu summierende Attribute | | condition | boolean | Die Bedingung, nach der gefiltert wird | |
| Rückgabewert | Zahl |
| Beispiele | caseSumIf(Amount, Status == "Approved") → Summe von Amount, wenn Status Approved ist |
caseAvgIf
(attribute, condition) Berechnet den Mittelwert nur für Events, die eine Bedingung erfüllen.
| Parameter | | attribute | number | Das Attribute, dessen Mittelwert berechnet werden soll | | condition | boolean | Die Bedingung, nach der gefiltert wird | |
| Rückgabewert | Zahl |
| Beispiele | caseAvgIf(Duration, Activity == "Review") → Durchschnittliche Duration der Review-Aktivitäten |
caseCountIf
(condition) Zählt Events, die im aktuellen Case eine Bedingung erfüllen.
| Parameter | | condition | boolean | Die zu zählende Bedingung | |
| Rückgabewert | Zahl |
| Beispiele | caseCountIf(Status == "Error") → Anzahl der Error-Events im Case |
caseMinIf
(attribute, condition) Gibt den Minimalwert für Events zurück, die eine Bedingung erfüllen.
| Parameter | | attribute | number | Das Attribute, dessen Minimum Sie ermitteln möchten | | condition | boolean | Die Bedingung, nach der gefiltert wird | |
| Rückgabewert | Zahl |
| Beispiele | caseMinIf(Timestamp, Activity == "Start") → Timestamp der ersten Start-Aktivität |
caseMaxIf
(attribute, condition) Gibt den Maximalwert für Events zurück, die eine Bedingung erfüllen.
| Parameter | | attribute | number | Das Attribute, dessen Maximum Sie ermitteln möchten | | condition | boolean | Die Bedingung, nach der gefiltert wird | |
| 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 Cases chronologisch durchgehen, wird der laufende Wert aktualisiert.
Das ist hilfreich für:
- Kumulative Gesamtwerte verfolgen, laufende Summe
- Position eines Events bestimmen, laufende Anzahl
- Gleitende Durchschnitte berechnen
Muster für laufende Aggregate
-
Kumulative Gesamtwerte: Verfolgen Sie, wie sich ein Wert über den Case hinweg aufbaut:
caseRunningSum(ItemAmount) // Cumulative order total at each event
| Event | Betrag | caseRunningSum(Betrag) |
| 1 | 100 | 100 |
| 2 | 50 | 150 |
| 3 | 75 | 225 |
-
Event-Position: Bestimmen Sie, an welcher Stelle ein Event in der Case-Sequenz liegt:
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 zum aktuellen Event einschließlich dieses Events.
| Parameter | | attribute | number | Das zu summierende Attribute | |
| Rückgabewert | Zahl |
| Beispiele | caseRunningSum(ItemAmount) → Kumulierte Summe bei jedem Event |
caseRunningCount
() Gibt die Event-Nummer innerhalb des Cases zurück, beginnend bei 1.
| Rückgabewert | Zahl |
| Beispiele | caseRunningCount() → Event-Position: 1, 2, 3, ... |
caseRunningAvg
(attribute) Berechnet den kumulativen Mittelwert bis zum aktuellen Event einschließlich dieses Events.
| Parameter | | attribute | number | Das Attribute, dessen Mittelwert berechnet werden soll | |
| Rückgabewert | Zahl |
| Beispiele | caseRunningAvg(Duration) → Durchschnittliche Duration bis zu diesem Punkt |
caseRunningMin
(expr) Berechnet das laufende Minimum bis zum aktuellen Event.
| Parameter | |
| Rückgabewert | Zahl |
| Beispiele | caseRunningMin(Amount) → Laufender Minimalwert von Amount |
caseRunningMax
(expr) Berechnet das laufende Maximum bis zum aktuellen Event.
| Parameter | |
| Rückgabewert | Zahl |
| Beispiele | caseRunningMax(Amount) → Laufender Maximalwert von Amount |
Statistische Funktionen
Statistische Funktionen zur Analyse der Werteverteilung innerhalb eines Cases.
-
Perzentile: Ermitteln Sie, wo ein Wert im Verhältnis zu den anderen Werten des Cases liegt. Übergeben Sie das Perzentil als Bruch zwischen 0 und 1. 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 Attributes innerhalb des aktuellen Cases.
| Parameter | | attribute | number | Das zu analysierende Attribute | | percentile | number | Das Perzentil als Bruchzahl von 0 bis 1 (0,9 = 90. Perzentil) | |
| Rückgabewert | Zahl |
| Beispiele | casePercentile(Duration, 0.9) → 90. Perzentil der Duration im Case |
caseVariance
(attribute) Berechnet die Varianz eines Attributes innerhalb des aktuellen Cases.
| Parameter | | attribute | number | Das zu analysierende Attribute | |
| Rückgabewert | Zahl |
| Beispiele | caseVariance(ProcessingTime) → Varianz der ProcessingTimes im Case |
Verwandte Themen