Introduzione alle espressioni
Il linguaggio delle espressioni di ProcessMind consente di creare attributi calcolati, definire condizioni per i gateway e trasformare i dati all’interno dei modelli di processo. Questa funzionalità permette di ricavare nuovi insight dai dati senza modificarne la fonte.
Che cosa è possibile fare con le espressioni?
-
Attributi calcolati: creare nuove colonne di dati derivate da quelle esistenti. Ad esempio, calcolare il tempo di elaborazione tra gli eventi:
dateDiff(StartTime, EndTime, "minute") -
Logica condizionale: definire regole aziendali per categorizzare i dati o controllare il flusso del processo:
if(Amount > 10000, "High Value", if(Amount > 1000, "Medium", "Low") ) -
Trasformazione dei dati: pulire, formattare e trasformare i dati testuali:
upper(trim(CustomerName)) -
Analisi basata sul tempo: estrarre componenti temporali e creare intervalli temporali per l’analisi:
bucket(hour(StartTime), 6, "Night", 12, "Morning", 18, "Afternoon", "Evening")
Sintassi delle espressioni
Le espressioni utilizzano una sintassi familiare, simile a quella delle formule dei fogli di calcolo:
-
Le funzioni vengono chiamate con le parentesi:
round(3.14, 1) -
Gli operatori vengono applicati tra i valori:
Amount * 1.1 -
Le stringhe sono racchiuse tra virgolette doppie:
"Hello" -
I nomi delle colonne possono essere utilizzati direttamente:
StartTime Amount -
Le parentesi controllano l’ordine di valutazione:
(a + b) * c -
Identificatori tra virgolette: se il nome di una colonna contiene spazi o caratteri speciali, lo racchiuda tra accenti gravi:
`Order Amount` * 0.1
Esempi rapidi
-
Calcolare la durata in ore
dateDiff(StartTime, EndTime, "hour") -
Categorizzare in base all’importo
if(Amount >= 10000, "Enterprise", if(Amount >= 1000, "Business", "Consumer") ) -
Estrarre anno e mese
concat(toString(year(Timestamp)), "-", padLeft(toString(month(Timestamp)), 2, "0")) -
Verificare la presenza di dati mancanti
ifNull(Department, "Unassigned") -
Calcolare la percentuale sul totale
divide(Amount, allSum(Amount), 0) * 100 -
Contare gli errori nel caso
caseCountIf(Status == "Error")
Argomenti correlati
- Panoramica delle espressioni: tutte le funzioni delle espressioni.
- Expression Editor: scrivere, convalidare e visualizzare in anteprima le espressioni.