Op deze pagina

Case-aggregatiefuncties

Functies om waarden van alle events binnen dezelfde case te aggregeren.

Case-aggregaties begrijpen

Bij process mining staat een case voor één exemplaar van een proces, bijvoorbeeld één order, ticket of klantreis. Elke case bevat meerdere events, de afzonderlijke stappen of activiteiten.

Case-aggregatiefuncties berekenen waarden over alle events in een case, zodat het resultaat bij elk event beschikbaar is. Hiermee kun je:

  • Totale waarden voor een case berekenen, bijvoorbeeld het totale orderbedrag
  • Patronen binnen cases vinden, bijvoorbeeld het aantal herstelwerk-events
  • Afzonderlijke events vergelijken met statistieken op case-niveau

Veelvoorkomende patronen

  • Casetotalen berekenen:

    caseSum(ItemAmount)           // Total order value
    caseCount()                   // Number of events in case
    caseCountDistinct(Resource)   // Unique resources involved
  • Uitschieters vinden:

    caseMin(Timestamp)            // First event time
    caseMax(Timestamp)            // Last event time
    caseMax(Timestamp) - caseMin(Timestamp)   // Total case duration
  • Conditionele aggregaties:

    caseCountIf(Status == "Error")            // Error count
    caseSumIf(Amount, Activity == "Payment")  // Total payments
    caseAvgIf(Duration, Activity == "Review") // Avg review time
  • Event met case vergelijken:

    Duration / caseAvg(Duration)  // Is this event faster/slower than average?

caseSum

(attribute)

Telt een numeriek attribuut op over alle events in de huidige case.

Parameters
attribute number Het attribuut dat je wilt optellen
Retourneert number
Voorbeelden
caseSum(ItemAmount) Totaal van alle ItemAmount-waarden in de case

caseAvg

(attribute)

Berekent het gemiddelde van een numeriek attribuut over alle events in de huidige case.

Parameters
attribute number Het attribuut waarvan je het gemiddelde wilt berekenen
Retourneert number
Voorbeelden
caseAvg(ProcessingTime) Gemiddelde verwerkingstijd per event

caseMin

(attribute)

Geeft de minimumwaarde van een attribuut over alle events in de huidige case terug.

Parameters
attribute number Het attribuut waarvan je het minimum wilt bepalen
Retourneert number
Voorbeelden
caseMin(ItemPrice) Laagste prijs in de case

caseMax

(attribute)

Geeft de maximumwaarde van een attribuut over alle events in de huidige case terug.

Parameters
attribute number Het attribuut waarvan je het maximum wilt bepalen
Retourneert number
Voorbeelden
caseMax(ItemPrice) Hoogste prijs in de case

caseCount

()

Geeft het aantal events in de huidige case terug.

Retourneert number
Voorbeelden
caseCount() Aantal events in de case

caseMedian

(attribute)

Geeft de mediaanwaarde van een attribuut over alle events in de huidige case terug.

Parameters
attribute number Het attribuut waarvan je de mediaan wilt bepalen
Retourneert number
Voorbeelden
caseMedian(Duration) Middelste waarde van Duration in de case

caseCountDistinct

(attribute)

Telt de verschillende waarden van een attribuut in de huidige case.

Parameters
attribute any Het attribuut waarvan je de verschillende waarden wilt tellen
Retourneert number
Voorbeelden
caseCountDistinct(Resource) Aantal unieke bronnen in de case

caseStdDev

(expr)

Berekent de standaardafwijking over events in de case.

Parameters
expr number Waarde-expressie
Retourneert number
Voorbeelden
caseStdDev(Amount) Standaardafwijking binnen de case

caseSumIf

(attribute, condition)

Telt waarden alleen op voor events die aan een voorwaarde voldoen.

Parameters
attribute number Het attribuut dat je wilt optellen
condition boolean De voorwaarde waarop je wilt filteren
Retourneert number
Voorbeelden
caseSumIf(Amount, Status == "Approved") Som van Amount waarvoor Status Approved is

caseAvgIf

(attribute, condition)

Berekent het gemiddelde alleen voor events die aan een voorwaarde voldoen.

Parameters
attribute number Het attribuut waarvan je het gemiddelde wilt berekenen
condition boolean De voorwaarde waarop je wilt filteren
Retourneert number
Voorbeelden
caseAvgIf(Duration, Activity == "Review") Gemiddelde duur van Review-activiteiten

caseCountIf

(condition)

Telt events die aan een voorwaarde voldoen in de huidige case.

Parameters
condition boolean De voorwaarde die je wilt tellen
Retourneert number
Voorbeelden
caseCountIf(Status == "Error") Aantal error-events in de case

caseMinIf

(attribute, condition)

Geeft de minimumwaarde voor events die aan een voorwaarde voldoen.

Parameters
attribute number Het attribuut waarvan je het minimum wilt bepalen
condition boolean De voorwaarde waarop je wilt filteren
Retourneert number
Voorbeelden
caseMinIf(Timestamp, Activity == "Start") Timestamp van de eerste Start-activiteit

caseMaxIf

(attribute, condition)

Geeft de maximumwaarde voor events die aan een voorwaarde voldoen.

Parameters
attribute number Het attribuut waarvan je het maximum wilt bepalen
condition boolean De voorwaarde waarop je wilt filteren
Retourneert number
Voorbeelden
caseMaxIf(Timestamp, Activity == "End") Timestamp van de laatste End-activiteit

Cumulatieve aggregaties

Cumulatieve aggregaties berekenen opgetelde waarden tot en met het huidige event. Terwijl je chronologisch door de events in een case gaat, wordt de cumulatieve waarde bijgewerkt.

Dit is handig voor:

  • Cumulatieve totalen bijhouden, een running sum
  • De positie van een event bepalen, een running count
  • Voortschrijdende gemiddelden berekenen

Patronen voor cumulatieve aggregaties

  • Cumulatieve totalen: houd bij hoe een waarde zich gedurende de case opstapelt:

    caseRunningSum(ItemAmount)   // Cumulative order total at each event
    Event Bedrag caseRunningSum(Amount)
    1 100 100
    2 50 150
    3 75 225
  • Eventpositie: bepaal waar een event in de casereeks valt:

    caseRunningCount()   // 1, 2, 3, 4...
  • Voortschrijdend gemiddelde: bereken het gemiddelde tot en met het huidige punt:

    caseRunningAvg(Duration)   // Average duration so far
  • Logica op basis van positie:

    if(caseRunningCount() == 1, "First", 
       if(caseRunningCount() == caseCount(), "Last", "Middle")
    )

caseRunningSum

(attribute)

Berekent de cumulatieve som tot en met het huidige event.

Parameters
attribute number Het attribuut dat je wilt optellen
Retourneert number
Voorbeelden
caseRunningSum(ItemAmount) Cumulatief totaal bij elk event

caseRunningCount

()

Geeft het eventnummer binnen de case, vanaf 1.

Retourneert number
Voorbeelden
caseRunningCount() Positie van het event: 1, 2, 3, ...

caseRunningAvg

(attribute)

Berekent het cumulatieve gemiddelde tot en met het huidige event.

Parameters
attribute number Het attribuut waarvan je het gemiddelde wilt berekenen
Retourneert number
Voorbeelden
caseRunningAvg(Duration) Gemiddelde duur tot dit punt

caseRunningMin

(expr)

Berekent het lopende minimum tot en met het huidige event.

Parameters
expr number Waarde-expressie
Retourneert number
Voorbeelden
caseRunningMin(Amount) Lopend minimum van Amount

caseRunningMax

(expr)

Berekent het lopende maximum tot en met het huidige event.

Parameters
expr number Waarde-expressie
Retourneert number
Voorbeelden
caseRunningMax(Amount) Lopend maximum van Amount

Statistische functies

Statistische functies om de verdeling van waarden binnen een case te analyseren.

  • Percentielen: bepaal waar een waarde ten opzichte van andere waarden in de case valt. Geef het percentiel op als een fractie van 0 tot 1. 0.9 staat bijvoorbeeld voor het 90e percentiel:

    casePercentile(Duration, 0.5)   // Median duration in this case
    casePercentile(Duration, 0.9)   // 90th percentile
  • Variantie: meet hoe verspreid de waarden zijn:

    caseVariance(Amount)           // Variation within this case

casePercentile

(attribute, percentile)

Berekent het percentiel van een attribuut binnen de huidige case.

Parameters
attribute number Het attribuut dat je wilt analyseren
percentile number Het percentiel als fractie van 0 tot 1 (0.9 = 90e percentiel)
Retourneert number
Voorbeelden
casePercentile(Duration, 0.9) 90e percentiel van de doorlooptijd in de case

caseVariance

(attribute)

Berekent de variantie van een attribuut binnen de huidige case.

Parameters
attribute number Het attribuut dat je wilt analyseren
Retourneert number
Voorbeelden
caseVariance(ProcessingTime) Variantie van verwerkingstijden in de case

Gerelateerde onderwerpen