Passa al contenuto principale
Workday User Guide
Ultimo aggiornamento: 2023-06-23
Concetto: Prism Expression Language

Concetto: Prism Expression Language

Prism Analytics include un proprio linguaggio delle espressioni composto da funzioni e operatori. Utilizzare il linguaggio delle espressioni Prism per creare
un'espressione
, che è possibile utilizzare per creare nuovi valori o filtrare i valori esistenti.
Un'espressione calcola o produce un valore combinando campi, valori costanti, operatori e funzioni. Un'espressione restituisce un valore di un particolare tipo di campo, ad esempio valori numerici o di testo. Le espressioni semplici possono essere un singolo valore costante, i valori di un determinato campo o solo una funzione. È possibile utilizzare gli operatori per unire due o più espressioni semplici in un'espressione complessa.
È possibile utilizzare le espressioni nei set di dati:
  • Campi calcolati
    Utilizzare le espressioni per definire i campi calcolati che operano sui dati di origine. Un'espressione di campo calcolato genera i propri valori in base a un calcolo o a una condizione e restituisce un valore per ogni riga di input. Le espressioni dei campi calcolati possono contenere valori di altri campi, costanti, operatori matematici, operatori di confronto o funzioni di riga predefinite.
  • Filtrare le fasi.
    Utilizzare un'espressione in una fase Filtro per limitare l'ambito dei dati di origine di un set di dati.
Il generatore di espressioni consente di creare espressioni di campi calcolati in un set di dati. Visualizza i campi disponibili nel set di dati, oltre all'elenco delle funzioni Prism. Convalida le espressioni per la sintassi, i tipi di campo di input e così via corretti.

Input e output delle funzioni

Le funzioni accettano uno o più valori di input e restituiscono un valore di output. I valori di input possono essere un valore letterale o il nome di un campo che contiene un valore. In entrambi i casi, la funzione prevede che il valore di input sia un tipo di campo particolare, ad esempio Testo o Intero. Esempio: la funzione CONCAT() combina gli input di testo e genera un nuovo testo.
Questo esempio illustra come utilizzare la funzione CONCAT() per concatenare i valori nei campi del
mese
,
del giorno
e
dell'anno
separati dal carattere barra diretta letterale:
CONCAT([month],"/",[day],"/",[year])
Il valore restituito da una funzione potrebbe essere uguale al tipo di input o potrebbe essere un tipo di campo completamente nuovo. Esempio: la funzione TO_DATE() accetta un valore Testo come input, ma restituisce un valore Data. Se una funzione prevede un testo, ma viene passato un altro tipo di campo come input, la funzione restituisce un errore.
In genere, le funzioni sono classificate in base al tipo di campo utilizzato o allo scopo per cui sono destinate. Esempio: CONCAT() è una funzione di testo e TO_DATE() è una funzione di conversione del tipo di campo.

Funzioni di annidamento

Le funzioni possono accettare altre funzioni come argomenti. Esempio: è possibile utilizzare la funzione CONCAT come argomento della funzione TO_DATE(). Il risultato finale è un valore Data nel formato 31/10/2014.
TO_DATE(CONCAT([month],"/",[day],"/",[year]),"MM/dd/yyyy")
La funzione nidificata deve restituire il tipo di campo corretto. Pertanto, poiché TO_DATE() prevede l'input di testo e CONCAT() restituisce un testo, l'annidamento ha esito positivo.

Facendo riferimento ai campi nel set di dati corrente

È consigliabile racchiudere tutti i nomi dei campi tra parentesi quadre (
[]
). Esempio:
TO_INT([sales])
TO_INT([Sale Amount])
TO_INT([2013_data])
TO_INT([count])
Se il nome di un campo contiene un ] (parentesi quadra di chiusura), è necessario eseguire l'escape della parentesi quadra di chiusura raddoppiandola ]]. Si supponga di avere questo nome di campo:
[Total Sales]
L'intero nome del campo viene racchiuso tra parentesi quadre e la parentesi di chiusura che fa parte del nome effettivo del campo viene prefissata:
[[Total Sales]]]

Valori di testo letterali

Per specificare un valore di testo letterale o effettivo, racchiudere il valore tra virgolette doppie (
"
). Esempio: questa espressione converte i valori di un campo
di genere
nei valori letterali di
maschio
,
femmina
o
sconosciuto
:
CASE WHEN [gender]=
"
M
"
THEN
"
male
"
WHEN [gender]=
"
F
"
THEN
"
female
"
ELSE
"
unknown
"
END
Per eseguire l'escape di una virgoletta letterale all'interno di un valore letterale stesso, raddoppiare il carattere della virgoletta letterale. Esempio:
CASE WHEN [height]="60
""
" THEN "5 feet" WHEN [height]="72
""
" THEN "6 feet" ELSE "other" END
La funzione REGEX() è un caso speciale. Nella funzione REGEX(), anche le espressioni di testo sono racchiuse tra virgolette. Quando un'espressione di testo contiene virgolette letterali, raddoppiare il carattere delle virgolette. Esempio:
REGEX([height], "\d\'(\d)+
""
")

Valori data letterali

Per fare riferimento a un valore Data in un'espressione fase Filtro, è necessario utilizzare il seguente formato (o una versione abbreviata) senza virgolette o altri segni di punteggiatura:
yyyy-MM-dd
T
HH:mm:ss:SSS
Z
Esempio:
[Order Date] BETWEEN 2016-06-01T00:00:00.000Z AND 2016-07-31T00:00:00.000Z
Se l'espressione Filtro è una versione abbreviata del formato completo, Prism assegna a tutti i valori non inclusi un valore pari a zero (0). Esempio: Questa espressione:
[Order Date] >= 2017-01-01
Equivale a:
[Order Date] >= 2017-01-01T00:00:00.000Z
Per fare riferimento a un valore di data letterale in un'espressione di campo calcolato, è necessario specificare il formato dei componenti data e ora utilizzando TO_DATE, che accetta un argomento letterale Testo e una stringa di formato. Esempio:
CASE WHEN [Order Date]=TO_DATE("2013-01-01 00:00:59 PST","yyyy-MM-dd HH:mm:ss z") THEN "free shipping" ELSE "standard shipping" DONE

Valori numerici letterali

Per i valori numerici letterali, è possibile specificare il numero stesso senza utilizzare caratteri di escape o formattazioni speciali. Esempio:
CASE WHEN [is married]=
1
THEN "married" WHEN [is married]=
0
THEN "not_married" ELSE NULL END