Op deze pagina

Case-aggregatiefuncties

Functies om waarden van alle events binnen dezelfde case samen te voegen.

Case-aggregaties begrijpen

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

Case-aggregatiefuncties berekenen waarden over alle events in een case en maken het resultaat beschikbaar bij elk event. Zo kun je:

  • Totalen per case berekenen, zoals het totale orderbedrag
  • Patronen binnen cases vinden, zoals het aantal herwerkgebeurtenissen
  • Afzonderlijke events vergelijken met statistieken op caseniveau

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
  • Voorwaardelijke aggregaties:

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

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

caseSum

(attribute)

Telt de numerieke waarden van een attribuut op voor alle events in de huidige case.

Parameters
attribute number Attribuut om op te tellen
Retourneert getal
Voorbeelden
caseSum(ItemAmount) → Totaal van alle ItemAmount-waarden in de case

caseAvg

(attribute)

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

Parameters
attribute number Attribuut waarvan je het gemiddelde wilt berekenen
Retourneert getal
Voorbeelden
caseAvg(ProcessingTime) → Gemiddelde verwerkingstijd per event

caseMin

(attribute)

Geeft de laagste attribuutwaarde van alle events in de huidige case.

Parameters
attribute number Attribuut waarvan je de laagste waarde wilt ophalen
Retourneert getal
Voorbeelden
caseMin(ItemPrice) → Laagste prijs in de case

caseMax

(attribute)

Geeft de hoogste attribuutwaarde van alle events in de huidige case.

Parameters
attribute number Attribuut waarvan je de hoogste waarde wilt ophalen
Retourneert getal
Voorbeelden
caseMax(ItemPrice) → Hoogste prijs in de case

caseCount

()

Geeft het aantal events in de huidige case.

Retourneert getal
Voorbeelden
caseCount() → Aantal events in de case

caseMedian

(attribute)

Geeft de mediaan van de attribuutwaarden van alle events in de huidige case.

Parameters
attribute number Attribuut waarvan je de mediaan wilt ophalen
Retourneert getal
Voorbeelden
caseMedian(Duration) → Mediaan van Duration in de case

caseCountDistinct

(attribute)

Telt het aantal unieke waarden van een attribuut in de huidige case.

Parameters
attribute any Attribuut waarvan je de unieke waarden wilt tellen
Retourneert getal
Voorbeelden
caseCountDistinct(Resource) → Aantal unieke bronnen in de case

caseStdDev

(expr)

Berekent de standaardafwijking van de events in de case.

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

caseSumIf

(attribute, condition)

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

Parameters
attribute number Attribuut om op te tellen
condition boolean Voorwaarde waarop je wilt filteren
Retourneert getal
Voorbeelden
caseSumIf(Amount, Status == "Approved") → Totaal van Amount wanneer Status Goedgekeurd is

caseAvgIf

(attribute, condition)

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

Parameters
attribute number Attribuut waarvan je het gemiddelde wilt berekenen
condition boolean Voorwaarde waarop je wilt filteren
Retourneert getal
Voorbeelden
caseAvgIf(Duration, Activity == "Review") → Gemiddelde duur van Review-activiteiten

caseCountIf

(condition)

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

Parameters
condition boolean Voorwaarde om op te tellen
Retourneert getal
Voorbeelden
caseCountIf(Status == "Error") → Aantal fout-events in de case

caseMinIf

(attribute, condition)

Geeft de laagste waarde van events die aan een voorwaarde voldoen.

Parameters
attribute number Attribuut waarvan je de laagste waarde wilt ophalen
condition boolean Voorwaarde waarop je wilt filteren
Retourneert getal
Voorbeelden
caseMinIf(Timestamp, Activity == "Start") → Timestamp van de eerste Start-activiteit

caseMaxIf

(attribute, condition)

Geeft de hoogste waarde van events die aan een voorwaarde voldoen.

Parameters
attribute number Attribuut waarvan je de hoogste waarde wilt ophalen
condition boolean Voorwaarde waarop je wilt filteren
Retourneert getal
Voorbeelden
caseMaxIf(Timestamp, Activity == "End") → Timestamp van de laatste End-activiteit

Doorlopende aggregaties

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

Dit is handig voor:

  • Cumulatieve totalen bijhouden (lopende som)
  • De positie van een event bepalen (lopende telling)
  • Voortschrijdende gemiddelden berekenen

Patronen voor doorlopende aggregaties

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

    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 casevolgorde 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 Attribuut om op te tellen
Retourneert getal
Voorbeelden
caseRunningSum(ItemAmount) → Cumulatief totaal per event

caseRunningCount

()

Geeft het volgnummer van het event in de case, vanaf 1.

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

caseRunningAvg

(attribute)

Berekent het cumulatieve gemiddelde tot en met het huidige event.

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

caseRunningMin

(expr)

Berekent de laagste waarde tot en met het huidige event.

Parameters
expr number Waarde-expressie
Retourneert getal
Voorbeelden
caseRunningMin(Amount) → Laagste waarde tot nu toe

caseRunningMax

(expr)

Berekent de hoogste waarde tot en met het huidige event.

Parameters
expr number Waarde-expressie
Retourneert getal
Voorbeelden
caseRunningMax(Amount) → Hoogste waarde tot nu toe

Statistische functies

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

  • Percentielen: bepaal waar een waarde valt ten opzichte van andere waarden in de case. Geef het percentiel op als een breuk tussen 0 en 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 Attribuut om te analyseren
percentile number Percentiel als fractie van 0 tot 1 (0.9 = 90e percentiel)
Retourneert getal
Voorbeelden
casePercentile(Duration, 0.9) → 90e percentiel van de duur in de case

caseVariance

(attribute)

Berekent de variantie van een attribuut binnen de huidige case.

Parameters
attribute number Attribuut om te analyseren
Retourneert getal
Voorbeelden
caseVariance(ProcessingTime) → Variantie van de verwerkingstijden in de case

Gerelateerde onderwerpen

Verbeter processen. Bouw aan een samenhangende architectuur. Houd de regie.

Krijg meteen toegang, zonder creditcard of wachttijd. Maak van de manier waarop je organisatie werkt heldere, samenhangende procesmodellen.

Breng de procesarchitectuur in kaart, leg verantwoordelijkheden en beheersmaatregelen vast en stem rollen en taken op elk niveau op elkaar af.

Start je gratis proefperiode en bouw een betrouwbare basis om processen te beheren en continu te verbeteren.