In questa pagina

Funzioni di aggregazione per caso

Funzioni per aggregare i valori di tutti gli eventi appartenenti allo stesso caso.

Comprendere le aggregazioni per caso

Nel Process Mining, un caso rappresenta una singola istanza di un processo, ad esempio un ordine, un ticket o il percorso di un cliente. Ogni caso comprende più eventi, ovvero i singoli passaggi o le attività.

Le funzioni di aggregazione per caso calcolano i valori di tutti gli eventi di un caso e rendono il risultato disponibile per ciascun evento. In questo modo è possibile:

  • Calcolare i valori totali di un caso, ad esempio l’importo complessivo di un ordine
  • Individuare modelli ricorrenti nei casi, ad esempio il numero di eventi di rilavorazione
  • Confrontare i singoli eventi con le statistiche a livello di caso

Modelli ricorrenti

  • Calcolare i totali del caso:

    caseSum(ItemAmount)           // Total order value
    caseCount()                   // Number of events in case
    caseCountDistinct(Resource)   // Unique resources involved
  • Individuare i valori estremi:

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

    caseCountIf(Status == "Error")            // Error count
    caseSumIf(Amount, Activity == "Payment")  // Total payments
    caseAvgIf(Duration, Activity == "Review") // Avg review time
  • Confrontare un evento con il caso:

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

caseSum

(attribute)

Somma il valore di un attributo numerico di tutti gli eventi del caso corrente.

Parametri
attribute number Attributo da sommare
Valori restituiti numero
Esempi
caseSum(ItemAmount) → Totale di tutti i valori di ItemAmount nel caso

caseAvg

(attribute)

Calcola la media di un attributo numerico considerando tutti gli eventi del caso corrente.

Parametri
attribute number Attributo di cui calcolare la media
Valori restituiti numero
Esempi
caseAvg(ProcessingTime) → Tempo medio di elaborazione per evento

caseMin

(attribute)

Restituisce il valore minimo dell’attributo tra tutti gli eventi del caso corrente.

Parametri
attribute number Attributo di cui restituire il valore minimo
Valori restituiti numero
Esempi
caseMin(ItemPrice) → Prezzo minimo nel caso

caseMax

(attribute)

Restituisce il valore massimo dell’attributo tra tutti gli eventi del caso corrente.

Parametri
attribute number Attributo di cui restituire il valore massimo
Valori restituiti numero
Esempi
caseMax(ItemPrice) → Prezzo massimo nel caso

caseCount

()

Restituisce il numero di eventi del caso corrente.

Valori restituiti numero
Esempi
caseCount() → Numero di eventi nel caso

caseMedian

(attribute)

Restituisce il valore mediano dell’attributo tra tutti gli eventi del caso corrente.

Parametri
attribute number Attributo di cui restituire la mediana
Valori restituiti numero
Esempi
caseMedian(Duration) → Valore mediano di Duration nel caso

caseCountDistinct

(attribute)

Conta i valori distinti di un attributo nel caso corrente.

Parametri
attribute any Attributo di cui contare i valori distinti
Valori restituiti numero
Esempi
caseCountDistinct(Resource) → Numero di risorse distinte nel caso

caseStdDev

(expr)

Calcola la deviazione standard tra gli eventi del caso.

Parametri
expr number Espressione del valore
Valori restituiti numero
Esempi
caseStdDev(Amount) → Deviazione standard all’interno del caso

caseSumIf

(attribute, condition)

Somma i valori solo degli eventi che soddisfano una condizione.

Parametri
attribute number Attributo da sommare
condition boolean Condizione da applicare al filtro
Valori restituiti numero
Esempi
caseSumIf(Amount, Status == "Approved") → Somma di Amount quando Status è Approvato

caseAvgIf

(attribute, condition)

Calcola la media dei valori solo degli eventi che soddisfano una condizione.

Parametri
attribute number Attributo di cui calcolare la media
condition boolean Condizione da applicare al filtro
Valori restituiti numero
Esempi
caseAvgIf(Duration, Activity == "Review") → Durata media delle attività Review

caseCountIf

(condition)

Conta gli eventi del caso corrente che soddisfano una condizione.

Parametri
condition boolean Condizione da conteggiare
Valori restituiti numero
Esempi
caseCountIf(Status == "Error") → Numero di eventi di errore nel caso

caseMinIf

(attribute, condition)

Restituisce il valore minimo tra gli eventi che soddisfano una condizione.

Parametri
attribute number Attributo di cui restituire il valore minimo
condition boolean Condizione da applicare al filtro
Valori restituiti numero
Esempi
caseMinIf(Timestamp, Activity == "Start") → Timestamp della prima attività Start

caseMaxIf

(attribute, condition)

Restituisce il valore massimo tra gli eventi che soddisfano una condizione.

Parametri
attribute number Attributo di cui restituire il valore massimo
condition boolean Condizione da applicare al filtro
Valori restituiti numero
Esempi
caseMaxIf(Timestamp, Activity == "End") → Timestamp dell’ultima attività End

Aggregazioni progressive

Le aggregazioni progressive calcolano i valori cumulativi fino all’evento corrente, incluso. Procedendo in ordine cronologico tra gli eventi di un caso, il valore progressivo si aggiorna.

Sono utili per:

  • Monitorare i totali cumulativi (somma progressiva)
  • Individuare la posizione di un evento (conteggio progressivo)
  • Calcolare le medie mobili

Modelli di aggregazione progressiva

  • Totali cumulativi: monitorare come un valore si accumula nel corso del caso:

    caseRunningSum(ItemAmount)   // Cumulative order total at each event
    Evento Importo caseRunningSum(Amount)
    1 100 100
    2 50 150
    3 75 225
  • Posizione dell’evento: individuare la posizione di un evento nella sequenza del caso:

    caseRunningCount()   // 1, 2, 3, 4...
  • Media mobile: calcolare la media fino al punto corrente:

    caseRunningAvg(Duration)   // Average duration so far
  • Logica basata sulla posizione:

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

caseRunningSum

(attribute)

Calcola la somma cumulativa fino all’evento corrente, incluso.

Parametri
attribute number Attributo da sommare
Valori restituiti numero
Esempi
caseRunningSum(ItemAmount) → Totale cumulativo per ciascun evento

caseRunningCount

()

Restituisce la posizione dell’evento nel caso, a partire da 1.

Valori restituiti numero
Esempi
caseRunningCount() → Posizione dell’evento: 1, 2, 3, ...

caseRunningAvg

(attribute)

Calcola la media cumulativa fino all’evento corrente, incluso.

Parametri
attribute number Attributo di cui calcolare la media
Valori restituiti numero
Esempi
caseRunningAvg(Duration) → Durata media fino a questo punto

caseRunningMin

(expr)

Calcola il valore minimo progressivo fino all’evento corrente.

Parametri
expr number Espressione del valore
Valori restituiti numero
Esempi
caseRunningMin(Amount) → Importo minimo progressivo

caseRunningMax

(expr)

Calcola il valore massimo progressivo fino all’evento corrente.

Parametri
expr number Espressione del valore
Valori restituiti numero
Esempi
caseRunningMax(Amount) → Importo massimo progressivo

Funzioni statistiche

Funzioni statistiche per analizzare la distribuzione dei valori all’interno di un caso.

  • Percentili: individuare la posizione di un valore rispetto agli altri valori del caso. Inserisca il percentile come frazione compresa tra 0 e 1, ad esempio 0.9 per il 90° percentile:

    casePercentile(Duration, 0.5)   // Median duration in this case
    casePercentile(Duration, 0.9)   // 90th percentile
  • Varianza: misurare la dispersione dei valori:

    caseVariance(Amount)           // Variation within this case

casePercentile

(attribute, percentile)

Calcola il percentile di un attributo all’interno del caso corrente.

Parametri
attribute number Attributo da analizzare
percentile number Percentile come frazione da 0 a 1 (0.9 = 90° percentile)
Valori restituiti numero
Esempi
casePercentile(Duration, 0.9) → Durata al 90° percentile nel caso

caseVariance

(attribute)

Calcola la varianza di un attributo all’interno del caso corrente.

Parametri
attribute number Attributo da analizzare
Valori restituiti numero
Esempi
caseVariance(ProcessingTime) → Varianza dei tempi di elaborazione nel caso

Argomenti correlati

Progettazione. Analisi. Miglioramento. Costruisca un’architettura dei processi integrata e mantenga il controllo.

Acceda subito, senza carta di credito né attese. Trasformi il modo in cui opera la Sua organizzazione in una progettazione dei processi chiara e interconnessa.

Definisca l’architettura dei processi, le responsabilità e i controlli, e allinei ruoli e compiti a ogni livello.

Inizi la prova gratuita e crei una base affidabile per governare, gestire e migliorare costantemente i processi della Sua organizzazione.