Funzioni specializzate del flusso di lavoro
Queste funzioni eseguono una serie di azioni specializzate e possono essere utilizzate con tutti i tipi di dati supportati.
Coalesce
Coalesce(v1,v2,v3,…,vn): restituisce il primo valore non nullo.
Importante
I valori passati alla funzione Coalesce devono essere dello stesso tipo (tutti valori stringa o tutti numerici).
Esempio
Coalesce(null, "oranges", "apples", null, "grapes") restituisce oranges.
Coalesce(oranges, apples, grapes) restituisce un errore.
Coalesce("1", "2", "3") restituisce 1.
Coalesce(null, null, null) restituisce Null.
Coalesce(toDateTime("apples"), toDateTime(1)) restituisce 1899-12-31 00:00:00 perché toDateTime("apples") restituisce null.
EscapeXMLMetacharacters
EscapeXMLMetacharacters(String): sostituisce i metacaratteri XML con le loro versioni escape. Sono presenti 5 caratteri con escape.
Carattere | Versione con escape |
|---|---|
" | " |
' | ' |
< | < |
> | > |
& | & |
Esempio
EscapeXMLMetacharacters("2>1&1<2")restituisce 2>1&1<2
GetVal
GetVal(index, v0,...vn): restituisce il valore (v0, ..., vn) specificato dall'indicizzazione 0.
Messaggio
Message(messageType, message, returnValue): utilizza questa funzione con un'istruzione condizionale per inviare un messaggio al log dei messaggi e aggiornare i dati della colonna con un valore specificato quando viene soddisfatta una condizione.
Il tipo e il testo del messaggio sono visualizzati nella finestra Risultati.
Parametri
messageType: un numero che corrisponde al tipo di messaggio:
1: messaggi
2: avvisi
3: errori
5: errori di conversione (errori di conversione del campo)
8: file (input)
9: file (output)
message: il testo del messaggio sotto forma di stringa tra virgolette.
returnValue: valore da inviare ai dati della colonna. Può essere un valore numerico (ad esempio 0), nullo o una stringa di testo tra virgolette (ad esempio "False").
Esempio
In questo esempio, la funzione Messaggio viene utilizzata all'interno di un'espressione condizionale per restituire un messaggio di errore di conversione del campo e aggiornare i dati della colonna con un valore "False" qualora i valori data-ora forniti non fossero validi.
If [Hour] = "0" and [Minutes] = "0" then Message(5, "Invalid time in DateTime", "False") Else "True" Endif
Null
Null(): restituisce un valore Null.
RangeMedian
RangeMedian(...)Calcola il valore mediano da una serie di intervalli aggregati. Per ulteriori informazioni, consulta la sezione Valore mediano degli intervalli.
Soundex
Soundex(String): restituisce il codice Soundex di una stringa. Soundex crea un codice basato sul primo carattere della stringa più tre caratteri in base ai seguenti elementi:
Carattere | Soundex |
|---|---|
Caratteri non alfanumerici (numeri e simboli di punteggiatura) | -1 |
a, e, i, o, u, y, h, w | Ignorato a meno che non sia il primo carattere della stringa. |
b, f, p, v | 1 |
c, g, j, k, q, s, x, z | 2 |
d, t | 3 |
l | 4 |
m, n | 5 |
r | 6 |
Esempio
Quando il codice risultante include solo 2 o 3 caratteri, Soundex aggiunge gli zeri necessari per arrivare a 4 caratteri. Ad esempio, nel nome Lauren vengono tradotti solo i caratteri L, r e n (Lrn), quindi il codice Soundex risultante è L650.
Quando il codice risultante include più di 4 caratteri, tutti quelli successivi al quarto vengono ignorati. Ad esempio, nel nome Patrick, le lettere P, t, r, c e k sono traducibili (Ptrck) ma il codice Soundex risultante è di soli 4 caratteri: P362.
Soundex_Digits
Soundex_Digits(String): restituisce le prime 4 cifre o il codice Soundex in assenza di cifre.
Quando nella stringa sono presenti cifre (numeri), vengono restituite le prime 4.
Quando non sono presenti cifre, viene restituito il codice Soundex.
Stringa di esempio | Soundex_Digits |
|---|---|
3825 Iris | 3825 |
55555 Main | 5555 |
14L Broadway | 14 |
Commerce Street | C562 |
L Street | L236 |
TOPNIDX
TOPNIDX(N, v0, v1, ..., vn): restituisce la posizione dell'indice originale in base 0 dell'ennesimo numero del valore massimo dopo aver ordinato i campi indicizzati (da v0 a vn) in ordine decrescente. I valori null vengono ignorati e N deve essere inferiore ai parametri non null. Con N==0, è uguale a MaxIdx(...).
N: ennesimo numero del valore massimo dei campi indicizzativ0, v1, ..., vnsono i campi indicizzati.
Esempio
TOPNIDX(1, [IndexedField1], 5, 7)restituisce...
0 se 5<
[IndexedField1]<71 se
[IndexedField1]< 5 o[IndexedField1]è null2 se
[IndexedField1]> 7
UrlEncode
UrlEncode(String): codifica una stringa UTF-16 utilizzando una codifica percentuale non standard basata su UTF-16.
Importante
Tieni presente che questo metodo non è più consigliato. È da preferire l'utilizzo della nuova funzione UrlEncodeUTF8.
Esempio
UrlEncode("C:\temp\Alteryx URL Encode")restituisce C:/temp/Alteryx%20URL%20Encode.
UrlEncodeUTF8
UrlEncodeUTF8(String): codifica la stringa utilizzando una codifica percentuale conforme a RFC 3986*. La funzione converte i caratteri in unità basate su UTF8 e ignora i caratteri definiti nel set di caratteri non riservato. Diversamente da quella relativa a UrlEncode, questa funzione non ignora i delimitatori URL comuni come "/", quindi non è adatta per codificare percorsi URL completi. Utilizza questa funzione per codificare componenti URL specifici, come i parametri dei componenti di query.
Nota
* RFC 3986 è lo standard per la codifica URL che definisce il metodo per codificare i caratteri Unicode convertendoli in una sequenza UTF a 8 byte, rappresentando poi ogni byte con un segno % (percentuale) seguito da due cifre esadecimali.
Esempio
UrlEncodeUTF8("C:\temp\Alteryx URL Encode")restituisce C%3A%5Ctemp%5CAlteryx%20URL%20Encode.