Riferimento rapido di Prism Expression
Funzioni di conversione
Funzione | Descrizione | Esempio |
|---|---|---|
Crea un campo Valuta da a NUMERIC valore e a TEXT o INSTANCE contenente un codice valuta valido. Quando il codice valuta non è valido, questa funzione restituisce NULL. | BUILD_CURRENCY([Sale Price], [Currency Code])
| |
Converte i valori dei dati da un tipo di campo (tipo di dati) a un altro. | CAST([Region] AS Instance(eecb565181284b6a8ae8b45dc3ed1451))
CAST(99.99 AS decimal(10,3)) resi 99.990 .CAST(99.99 AS decimal(20,2)) resi 99.99 .CAST(99.999 AS decimal(10,2)) resi 100.00 . | |
Converte LONG valori a DATE valori, dove il numero di input rappresenta il numero di millisecondi dall'epoca. | EPOCH_MS_TO_DATE(1360260240000) returns
2013-02-07T18:04:00:000Z
| |
Accetta un valore Valuta ed estrae l'importo numerico come NUMERIC valore | EXTRACT_AMOUNT([Salary])
| |
Accetta un CURRENCY valore ed estrae il codice valuta come INSTANCE valore | EXTRACT_CODE([Salary])
| |
Accetta un CURRENCY valore ed estrae il codice valuta come a TEXT valore | EXTRACT_CODE_TEXT([Salary])
| |
Converte TEXT , BOOLEAN , INTEGER , LONG , o NUMERIC valori a BOOLEAN . | TO_BOOLEAN([is_contingent])
| |
Converte TEXT che contengono dati validi in formato valuta per CURRENCY valori | TO_CURRENCY("1234.56 USD")
TO_CURRENCY(CONCAT(TO_STRING([Grant Price]), [Grant Code])) | |
Converte TEXT valori a DATE valori e specifica il formato degli elementi di data e ora nella stringa. | TO_DATE([order_date],"yyyy.MM.dd 'at' HH:mm:ss z")
| |
Converte TEXT , BOOLEAN , INTEGER , LONG , DOUBLE , o NUMERIC valori a NUMERIC valori con il numero predefinito di cifre prima e dopo la virgola decimale. | TO_DECIMAL([average_rating])
| |
Converte TEXT , BOOLEAN , INTEGER , LONG , o DOUBLE valori a DOUBLE (un tipo di valori numerici). | TO_DOUBLE([average_rating])
| |
Converte TEXT , BOOLEAN , INTEGER , LONG , o DOUBLE valori a INTEGER (numero intero). Durante la conversione DOUBLE valori, tutti i valori dopo il decimale verranno troncati (non arrotondati per eccesso o per difetto). | TO_INT([average_rating])
| |
Converte TEXT , BOOLEAN , INTEGER , LONG , DECIMAL , DATE , o DOUBLE valori a Long (numero intero). Durante la conversione Decimal o DOUBLE valori, tutti i valori dopo il decimale verranno troncati (non arrotondati per eccesso o per difetto). | TO_LONG([average_rating])
| |
Funzioni relative alla data
Funzione | Descrizione | Esempio |
|---|---|---|
Aggiunge l'intervallo di tempo specificato a a DATE valore | DATE_ADD([invoice_date], 45, "day")
| |
Calcola il tempo compreso tra 2 DATE valori (value1 - value2 ) e lo tronca in giorni (contabilità per l'ora legale). | DAYS_BETWEEN([ship_date], [order_date])
| |
Calcola il numero intero di ore (ignorando minuti, secondi e millisecondi) tra due DATE valori (value1 - value2 ). | HOURS_BETWEEN([ship_date],[order_date])
| |
Calcola il numero intero di millisecondi compreso tra due DATE valori (value1 - value2 ). | MILLISECONDS_BETWEEN([request_timestamp], [response_timestamp])
| |
Calcola il numero intero di minuti (ignorando secondi e millisecondi) tra due DATE valori (value1 - value2 ). | MINUTES_BETWEEN([impression_timestamp], [conversion_timestamp])
| |
Calcola il numero intero di secondi (ignorando i millisecondi) tra due DATE valori (value1 - value2 ). | SECONDS_BETWEEN([impression_timestamp], [conversion_timestamp])
| |
Restituisce la data e l'ora correnti del sistema come a DATE valore (nessuna informazione temporale). Può essere utilizzato in altre espressioni che coinvolgono DATE campi di tipo, ad esempio YEAR_DIFF . Si noti che il valore di TODAY viene valutato solo al momento della pubblicazione di un set di dati (non viene rivalutato a ogni query). | YEAR_DIFF(TODAY(), [birthdate])
| |
Tronca a DATE valore nel formato specificato. | TRUNC(TO_DATE([order_date], "MM/dd/yyyy HH:mm:ss"), "day")
| |
Calcola il numero frazionario di anni compreso tra due DATE valori (value1 - value2 ). | YEAR_DIFF(TODAY(), [birthdate])
|
Funzioni informative
Funzione | Descrizione | Esempio |
|---|---|---|
Resi 0 se il valore restituito è NULL , e 1 se il valore restituito è NOT NULL . Ciò è utile per calcolare altri calcoli in cui si desidera escludere valori NULL (ad esempio quando si calcolano le medie). | IS_VALID([sale_amount])
|
Funzioni di istanza
Funzione | Descrizione | Esempio |
|---|---|---|
Crea un campo Istanza multipla da uno o più campi Istanza o Istanza multipla forniti. | CREATE_MULTI_INSTANCE([Journal1], [Journal2],
[Journal3])
| |
Confronta un campo Istanza multipla o Istanza con un campo Istanza multipla, un campo Istanza o un elenco di valori di istanza e restituisce Vero se nel primo argomento esiste almeno un valore di istanza e Falso se nessuno di essi esiste. . | INSTANCE_CONTAINS_ANY([Worktags], [Cost Center 1], [Cost Center 2])
| |
Restituisce il numero totale di valori di istanza in un campo Istanza multipla o Istanza. Questa funzione restituisce 0 quando il campo è vuoto. | INSTANCE_COUNT([Journal Lines])
| |
Confronta un campo Istanza multipla o Istanza con un campo Istanza multipla, un campo Istanza o un elenco di valori di istanza e verifica se il primo argomento corrisponde esattamente ai valori di istanza forniti negli altri argomenti. | INSTANCE_EQUALS([Worktags], [Cost Center 1], [Cost Center 2])
| |
Confronta un campo Istanza multipla con un campo Istanza multipla, un campo Istanza o un elenco di valori di istanza e restituisce Vero se tutti i valori di istanza sono presenti nel primo argomento e Falso se almeno uno non esiste. | INSTANCE_IS_SUPERSET_OF([Worktags], [Cost Center 1], [Cost Center 2])
|
Funzioni logiche
Funzione | Descrizione | Esempio |
|---|---|---|
Valuta ogni riga del set di dati in base a una o più condizioni di input e restituisce il risultato specificato quando le condizioni di input vengono soddisfatte. | CASE WHEN [gender] = "M" THEN "Male" WHEN [gender] = "F" THEN
"Female" ELSE "Unknown" END
| |
Restituisce il primo valore valido ( NOT NULL value) da un elenco di espressioni separate da virgole. | COALESCE([hourly_wage] * 40 * 52, [salary])
|
Funzioni matematiche
Funzione | Descrizione | Esempio |
|---|---|---|
Divide due LONG valori e restituisce un valore quoziente di tipo LONG (il risultato viene troncato a 0 posizioni decimali). | DIV(TO_LONG([file_size]), 1024)
| |
Aumenta la costante matematica e alla potenza (esponente) di un valore numerico e restituisce un valore di tipo DOUBLE . | EXP([Value])
| |
Restituisce il numero intero più grande inferiore o uguale all'argomento di input. | FLOOR(32.6789) returns
32.0
| |
Suddivide in modo uniforme i valori dei dati nel numero di bucket specificato. Crea un hash del valore di input e assegna a tale valore un numero di bucket. I valori uguali avranno sempre lo stesso numero di bucket. | HASH([username],20)
| |
Restituisce il logaritmo naturale di un numero. Il logaritmo naturale è il logaritmo della base e , dove e (Il numero di Eulero) è una costante matematica corrispondente a circa 2,718281828. Logaritmo naturale di un numero x è la potenza a cui è associata la costante e deve essere aumentato per ottenere l'uguaglianza x . | LN(2.718281828) returns
1
| |
Divide 2 LONG o INTEGER valori e restituisce il valore residuo di tipo LONG o INTEGER (il risultato viene troncato a 0 posizioni decimali). | MOD(TO_LONG([file_size]), 1024)
| |
Eleva il valore numerico a alla potenza (esponente) di un altro valore numerico e restituisce un valore di tipo DOUBLE . | 100 * POW([end_value]/[start_value], 0.2) - 1
| |
Arrotonda un valore numerico al numero specificato di posizioni decimali e restituisce un valore di tipo DOUBLE . | ROUND(32.4678954,2) returns
32.47
|
Funzioni di testo
Funzione | Descrizione | Esempio |
|---|---|---|
Ne confronta due TEXT argomenti che rappresentano una maschera CIDR e un indirizzo IP e restituisce 1 se l'indirizzo IP rientra nella subnet mask specificata o 0 in caso contrario. | CIDR_MATCH("60.145.56.0/24", "60.145.56.246") returns
1
| |
Restituisce a TEXT concatenando (combinando insieme) i risultati di più TEXT espressioni | CONCAT([month], "/", [day], "/", [year])
| |
Estrae il valore dell'identificatore del cookie specificato da un elenco delimitato da punti e virgola di coppie chiave/valore del cookie. Questa funzione può essere utilizzata per estrarre un determinato valore di cookie da una colonna Cookie del registro accessi Web combinato. | EXTRACT_COOKIE("SSID=ABC; vID=44", "vID") returns
44
| |
Estrae il valore della chiave specificata da una stringa contenente coppie chiave/valore delimitate. | EXTRACT_VALUE("firstname;daria|lastname;hutch", "lastname", ";", "|") returns
hutch
| |
Restituisce il nome del file originale dal file system di origine quando i dati provengono da un set di dati di base. I nuovi utenti di Workday non dispongono dell'accesso per creare o modificare i set di dati di base. | TO_DATE(SUBSTRING(FILE_NAME(), 0, 8), "yyyyMMdd")
| |
Converte un valore con codifica esadecimale TEXT valore a una rappresentazione testuale di un indirizzo IP. | HEX_TO_IP(AB20FE01) returns
171.32.254.1
| |
Restituisce un numero intero che indica la posizione di un carattere all'interno di una stringa che è il primo carattere dell'occorrenza di una sottostringa. Il INSTR La funzione è simile alla funzione TROVA in Excel, ad eccezione del fatto che la prima lettera è nella posizione 0 e l'ordine degli argomenti è invertito. | INSTR([url], "http://", -1, 1)
| |
Restituisce la versione senza caratteri di escape di una sequenza di escape di caratteri Unicode Java come a TEXT valore | CASE WHEN [currency] == JAVA_STRING("\u00a5") THEN "yes" ELSE "no" END
| |
Restituisce a TEXT concatenando (combinando insieme) i risultati di più TEXT valori con il separatore tra ogni valore non null. | JOIN_STRINGS("/", [month], [day], [year])
| |
Estrae a NUMERIC valore da un campo in un oggetto JSON. | JSON_DECIMAL([top_scores], "test_scores.2")
| |
Estrae a DOUBLE valore da un campo in un oggetto JSON. | JSON_DOUBLE([top_scores], "test_scores.2")
| |
Estrae un INTEGER valore da un campo in un oggetto JSON. | JSON_INTEGER([top_scores], "test_scores.2")
| |
Estrae a LONG valore da un campo in un oggetto JSON. | JSON_LONG([top_scores], "test_scores.2")
| |
Restituisce più valori di output raggruppati in un'unica stringa di coppie chiave/valore separate dalla chiave predefinita e dai separatori di coppia. La stringa restituita è in un formato leggibile da EXTRACT_VALUE funzione PACK_VALUES utilizza gli stessi valori di chiave e separatore di coppia che EXTRACT_VALUE utilizza (le sequenze di escape Unicode u0003 e u0002 , rispettivamente). | PACK_VALUES("ID", [custid], "Age", [age])
| |
Esegue una corrispondenza di intera stringa con a TEXT value con un'espressione regolare e restituisce la parte della stringa corrispondente al primo gruppo di acquisizione dell'espressione regolare. | REGEX([email], "^[a-zA-Z0-9._%+-]+@
([a-zA-Z0-9._-]+) \.[a-zA-Z]{2,4}$") | |
Valuta a TEXT value rispetto a un'espressione regolare per determinare se esiste una corrispondenza e sostituisce le stringhe corrispondenti con il valore di sostituzione specificato. | REGEX_REPLACE([phone_number], "([0-9]{3})\.([[0-9]]{3})\.([[0-9]]{4})", "\($1\) $2-$3")
| |
Restituisce i caratteri di un valore stringa nell'ordine opposto. |
| |
Restituisce i caratteri specificati di a TEXT valore in base alla posizione iniziale e alla posizione finale facoltativa specificate. | SUBSTRING([name], 0, 1)
| |
Converte tutti i caratteri alfabetici in a TEXT valore in minuscolo. | TO_LOWER("123 Main Street") returns
123 main street
| |
Restituisce a TEXT valore con la prima lettera di ogni parola in maiuscolo. | TO_PROPER("123 Alameda de las Pulgas, San Mateo CA")
| |
Converte tutti i caratteri alfabetici in a TEXT valore in maiuscolo. | TO_UPPER("123 Main Street")
| |
Accetta XML e restituisce la prima stringa corrispondente all'espressione XPath specificata. | XPATH_STRING([address], "//address[@type='home']/zipcode")
|
Funzioni URL
Funzione | Descrizione | Esempio |
|---|---|---|
Restituisce la parte di autorità di una stringa URL. La parte di autorità di un URL è la parte che contiene le informazioni su come individuare e connettersi al server. | URL_AUTHORITY("http://user:password@mycompany.com:8012/mypage.html")
| |
Restituisce la parte del frammento di una stringa URL. | URL_FRAGMENT("http://workday.com/news.php?topic=press#Workday%20News")
| |
Restituisce la parte dell'host, del dominio o dell'indirizzo IP di una stringa URL. | URL_HOST("http://user:password@mycompany.com:8012/mypage.html")
| |
Restituisce la parte del percorso di una stringa URL. | URL_PATH("http://workday.com/company/contact.html")
| |
Restituisce la parte della porta di una stringa URL. | URL_PORT("http://user:password@mycompany.com:8012/mypage.html")
| |
Restituisce la parte del protocollo (o del nome dello schema URI) di una stringa URL. | URL_PROTOCOL("http://www.workday.com")
| |
Restituisce la parte della query di una stringa URL. | URL_QUERY("http://workday.com/news.php?topic=press&timeframe=today")
| |
Decodifica a TEXT valore codificato con application/x-www-form-urlencoded tipo di supporto | URLDECODE("N%2FA%20or%20%22not%20applicable%22")
|
Funzioni finestra
Funzione | Descrizione | Esempio |
|---|---|---|
Funzione di aggregazione della finestra che suddivide le righe in gruppi, ordina le righe in base a un campo e restituisce la media di tutti i valori numerici validi nel gruppo. Somma tutti i valori nel gruppo e li divide per il numero di righe valide (NON NULL). È possibile utilizzare AVG per calcolare le medie mobili. |
| |
Funzione di aggregazione della finestra che suddivide le righe in gruppi, ordina le righe in base a un campo e restituisce il numero totale di righe valide (NON NULL) nel gruppo. È possibile utilizzare COUNT insieme ad altre funzioni per calcolare gli aggregati cumulativi. |
| |
È una funzione di aggregazione della finestra che suddivide le righe in gruppi, ordina le righe in base a un campo e restituisce il valore della prima riga del gruppo. | ||
È una funzione di aggregazione della finestra che suddivide le righe in gruppi, ordina le righe in base a un campo e restituisce il valore di un campo nella riga in corrispondenza dell'offset specificato prima (sopra) della riga corrente nel gruppo. |
| |
È una funzione di aggregazione della finestra che suddivide le righe in gruppi, ordina le righe in base a un campo e restituisce il valore dell'ultima riga del gruppo. | ||
È una funzione di aggregazione della finestra che suddivide le righe in gruppi, ordina le righe in base a un campo e restituisce il valore di un campo nella riga in corrispondenza dell'offset specificato dopo (sotto) la riga corrente nel gruppo. |
| |
È una funzione di aggregazione della finestra che suddivide le righe in gruppi, ordina le righe in base a un campo e restituisce il valore massimo (più alto) nel gruppo. |
| |
È una funzione di aggregazione della finestra che suddivide le righe in gruppi, ordina le righe in base a un campo e restituisce il valore minimo (più basso) nel gruppo. |
| |
Funzione di aggregazione della finestra utilizzata per assegnare un numero di classifica a ogni riga di un gruppo. Se più righe hanno lo stesso valore di classifica (è presente una parità), il sistema assegna lo stesso valore di classifica alle righe abbinate e ignora la posizione di classifica successiva. |
| |
È una funzione di aggregazione della finestra che suddivide le righe in gruppi, ordina le righe in base a un campo e assegna un numero sequenziale univoco a ogni riga di un gruppo, a partire da 1 per la prima riga di ogni gruppo. ROW_NUMBER assegna sempre un valore univoco a ogni riga di un gruppo. È possibile utilizzare ROW_NUMBER per creare un ID univoco per ogni riga del set di dati. |
| |
È una funzione di aggregazione della finestra che suddivide le righe in gruppi, ordina le righe in base a un campo e restituisce il totale di tutti i valori nel gruppo. È possibile utilizzare SUM per calcolare i totali parziali. |
|
Operatori aritmetici
Operatore | Significato | Esempio |
|---|---|---|
+
| Aggiunta | [amount] + 10
Aggiungere 10 al valore del campo [amount]. |
-
| Sottrazione | [amount] - 10
Sottrarre 10 dal valore del campo [amount]. |
*
| Moltiplicazione | [amount] * 100
Moltiplicare il valore del campo [amount] per 100. |
/
| Divisione | [bytes] / 1024
Dividere il valore del campo [bytes] per 1024 e restituire il quoziente. |
Operatori di confronto
Operatore | Significato | Esempio |
|---|---|---|
= o ==
| È uguale a | [order_date] = "12/22/2016"
|
>
| è superiore a | [age] > 18
|
!>
| Non superiore a (equivalente a < ) | [age] !> 8
|
<
| Minore di | [age] < 30
|
!<
| Non meno di (equivalente a >= ) | [age] !< 12
|
>=
| Maggiore o uguale a | [age] >= 20
|
<=
| Minore o uguale a | [age] <= 29
|
<> o != o ^=
| Diverso da | [age] <> 30
|
BETWEEN
min_value AND max_value
| Verificare se una data o un valore numerico rientra nei valori minimo e massimo (inclusi). | [year] BETWEEN 2014 AND 2016
|
IN(
list ) | Verificare se un valore è all'interno di un insieme. | [product_type] IN("tablet","phone","laptop")
|
LIKE("
pattern ") | Corrispondenza semplice inclusiva di modelli di caratteri senza distinzione tra maiuscole e minuscole. Il * il carattere corrisponde a un numero qualsiasi di caratteri. Il ? il carattere corrisponde esattamente a 1 (un singolo) carattere. | [last_name] LIKE("?utch*")
Corrisponde a Kutcher , hutch ma non a Krutcher o alla stampella [company_name] LIKE("workday") Corrisponde a Workday o workday |
valore
IS NULL
| Controllare se un valore di campo o un'espressione è null (vuoto). | [ship_date] IS NULL
Restituisce vero quando il campo ship_date è vuoto |
Operatori logici
Operatore | Significato | Esempio |
|---|---|---|
AND
| Verificare se due condizioni sono vere. | |
OR
| Verificare se una delle due condizioni è vera. | |
NOT
| Inverte il valore di altri operatori. |
|