Funzioni stringa
Questo articolo illustra le funzioni stringa e i relativi utilizzi in Tableau. Mostra anche come creare un calcolo stringa attraverso un esempio.
Perché utilizzare le funzioni stringa
Le funzioni stringa ti consentono di utilizzare i dati stringa (ossia i dati di testo). Tableau utilizza l’attuale libreria International Components for Unicode (ICU) per confrontare le stringhe. Il modo in cui le stringhe vengono ordinate e confrontate si basa sia sulla lingua che sulle impostazioni locali ed è possibile che le visualizzazioni cambino poiché l’ICU viene continuamente aggiornato per un migliore supporto linguistico.
Ad esempio, potresti avere un campo contenente i nomi e i cognomi di tutti i tuoi clienti. Un membro può essere: Jane Johnson. Puoi estrarre i cognomi di tutti i clienti in un nuovo campo utilizzando una funzione stringa.
Il calcolo potrebbe presentarsi in questo modo:
SPLIT([Customer Name], ' ', 2)
Pertanto, SPLIT('Jane Johnson' , ' ', 2) =
'Johnson'.
Funzioni stringa disponibili in Tableau
ASCII
Sintassi | ASCII(string) |
Output | Numero |
Definizione | Restituisce il codice ASCII per il primo carattere di <string> . |
Esempio | ASCII('A') = 65 |
Note | È l’inversa della funzione CHAR . |
CHAR
Sintassi | CHAR(number) |
Output | Stringa |
Definizione | Restituisce il carattere codificato dal codice ASCII <number> . |
Esempio | CHAR(65) = 'A' |
Note | È l’inversa della funzione ASCII . |
CONTAINS
Sintassi | CONTAINS(string, substring) |
Output | Booleano |
Definizione | Restituisce true se la stringa data contiene la sottostringa specificata. |
Esempio | CONTAINS("Calculation", "alcu") = true |
Note | Vedi anche la funzione logica(Il collegamento viene aperto in una nuova finestra) IN , oltre alle espressioni RegEx supportate nella documentazione sulle funzioni aggiuntive(Il collegamento viene aperto in una nuova finestra). |
ENDSWITH
Sintassi | ENDSWITH(string, substring) |
Output | Booleano |
Definizione | Restituisce true se la stringa data termina con la sottostringa specificata. Gli spazi vuoti finali vengono ignorati. |
Esempio | ENDSWITH("Tableau", "leau") = true |
Note | Vedi anche le espressioni RegEx supportate nella documentazione sulle funzioni aggiuntive(Il collegamento viene aperto in una nuova finestra). |
FIND
Sintassi | FIND(string, substring, [start]) |
Output | Numero |
Definizione | Restituisce la posizione dell’indice della sottostringa nella stringa oppure 0 se la sottostringa non viene trovata. Il primo carattere della stringa è la posizione 1. Se viene aggiunto l’argomento numerico facoltativo |
Esempio | FIND("Calculation", "alcu") = 2 FIND("Calculation", "Computer") = 0 FIND("Calculation", "a", 3) = 7 FIND("Calculation", "a", 2) = 2 FIND("Calculation", "a", 8) = 0 |
Note | Vedi anche le espressioni RegEx supportate nella documentazione sulle funzioni aggiuntive(Il collegamento viene aperto in una nuova finestra). |
FINDNTH
Sintassi | FINDNTH(string, substring, occurrence) |
Output | Numero |
Definizione | Restituisce la posizione dell’occorrenza n della sottostringa all’interno della stringa specificata, dove n è definito dall’argomento dell’occorrenza. |
Esempio | FINDNTH("Calculation", "a", 2) = 7 |
Note |
Vedi anche le espressioni RegEx supportate nella documentazione sulle funzioni aggiuntive(Il collegamento viene aperto in una nuova finestra). |
LEFT
Sintassi | LEFT(string, number) |
Output | Stringa |
Definizione | Restituisce il numero <number> di caratteri più a sinistra della stringa. |
Esempio | LEFT("Matador", 4) = "Mata" |
Note | Vedi anche MID e RIGHT. |
LEN
Sintassi | LEN(string) |
Output | Numero |
Definizione | Restituisce la lunghezza della stringa. |
Esempio | LEN("Matador") = 7 |
Note | Da non confondere con la funzione spaziale(Il collegamento viene aperto in una nuova finestra) LENGTH . |
LOWER
Sintassi | LOWER(string) |
Output | Stringa |
Definizione | Restituisce la stringa <string> in caratteri minuscoli. |
Esempio | LOWER("ProductVersion") = "productversion" |
Note | Vedi anche UPPER e PROPER. |
LTRIM
Sintassi | LTRIM(string) |
Output | Stringa |
Definizione | Restituisce la stringa <string> con gli eventuali spazi iniziali rimossi. |
Esempio | LTRIM(" Matador ") = "Matador " |
Note | Vedi anche RTRIM. |
MAX
Sintassi | MAX(expression) oppure MAX(expr1, expr2) |
Output | Stesso tipo di dati dell’argomento o NULL se qualsiasi parte dell’argomento è NULL. |
Definizione | Restituisce il massimo dei due argomenti, che devono essere dello stesso tipo di dati.
|
Esempio | MAX(4,7) = 7 |
Note | Per le stringhe
Per le origini dati di database, Per le date Per le date, Come aggregazione
Come confronto
Vedi anche |
MID
Sintassi | (MID(string, start, [length]) |
Output | Stringa |
Definizione | Restituisce una stringa a partire dalla posizione Se viene aggiunto l’argomento numerico facoltativo |
Esempio | MID("Calculation", 2) = "alculation" MID("Calculation", 2, 5) ="alcul" |
Note | Vedi anche le espressioni RegEx supportate nella documentazione sulle funzioni aggiuntive(Il collegamento viene aperto in una nuova finestra). |
MIN
Sintassi | MIN(expression) oppure MIN(expr1, expr2) |
Output | Stesso tipo di dati dell’argomento o NULL se qualsiasi parte dell’argomento è NULL. |
Definizione | Restituisce il minimo dei due argomenti, che devono essere dello stesso tipo di dati.
|
Esempio | MIN(4,7) = 4 |
Note | Per le stringhe
Per le origini dati di database, Per le date Per le date, Come aggregazione
Come confronto
Vedi anche |
PROPER
Sintassi | PROPER(string) |
Output | Stringa |
Definizione | Restituisce la stringa |
Esempio | PROPER("PRODUCT name") = "Product Name" PROPER("darcy-mae") = "Darcy-Mae" |
Note | Anche gli spazi e i caratteri non alfanumerici, come la punteggiatura, sono trattati come separatori. |
Limitazioni del database | PROPER è disponibile solo per alcuni file flat e nelle estrazioni. Se devi utilizzare PROPER in un’origine dati che altrimenti non lo supporta, valuta la possibilità di utilizzare un’estrazione. |
REPLACE
Sintassi | REPLACE(string, substring, replacement |
Output | Stringa |
Definizione | Cerca in <string> provare <substring> e la sostituisce con <replacement> . Se <substring> non viene trovata, la stringa rimane inalterata. |
Esempio | REPLACE("Version 3.8", "3.8", "4x") = "Version 4x" |
Note | Vedi anche REGEXP_REPLACE nella documentazione sulle funzioni aggiuntive(Il collegamento viene aperto in una nuova finestra). |
RIGHT
Sintassi | RIGHT(string, number) |
Output | Stringa |
Definizione | Restituisce il numero <number> di caratteri più a destra della stringa. |
Esempio | RIGHT("Calculation", 4) = "tion" |
Note | Vedi anche LEFT e MID. |
RTRIM
Sintassi | RTRIM(string) |
Output | Stringa |
Definizione | Restituisce la stringa <string> con gli eventuali spazi finali rimossi. |
Esempio | RTRIM(" Calculation ") = " Calculation" |
Note | Vedi anche LTRIM e TRIM. |
SPACE
Sintassi | SPACE(number) |
Output | Stringa (nello specifico, solo spazi) |
Definizione | Restituisce una stringa composta dal numero specificato di spazi ripetuti. |
Esempio | SPACE(2) = " " |
SPLIT
Sintassi | SPLIT(string, delimiter, token number) |
Output | Stringa |
Definizione | Restituisce una sottostringa da una stringa, usando un carattere delimitatore per dividere la stringa in una sequenza di token. |
Esempio | SPLIT ("a-b-c-d", "-", 2) = "b" SPLIT ("a|b|c|d", "|", -2) = "c" |
Note | La stringa è interpretata come una sequenza alternata di delimitatori e token. Quindi per la stringa
Vedi anche le espressioni REGEX supportate nella documentazione sulle funzioni aggiuntive(Il collegamento viene aperto in una nuova finestra). |
Limitazioni del database | I comandi di divisione e di divisione personalizzata sono disponibili per i tipi di origini dati seguenti: estrazioni dati Tableau, Microsoft Excel, file di testo, file PDF, Salesforce, OData, Microsoft Azure Market Place, Google Analytics, Vertica, Oracle, MySQL, PostgreSQL, Teradata, Amazon Redshift, Aster Data, Google Big Query, Cloudera Hadoop Hive, Hortonworks Hive e Microsoft SQL Server. Alcune origini dati impongono limiti per la divisione delle stringhe. Consulta le limitazioni della funzione SPLIT più avanti in questo argomento. |
STARTSWITH
Sintassi | STARTSWITH(string, substring) |
Output | Booleano |
Definizione | Restituisce true se string inizia con substring . Gli spazi vuoti iniziali vengono ignorati. |
Esempio | STARTSWITH("Matador, "Ma") = TRUE |
Note | Vedi anche CONTAINS, oltre alle espressioni REGEX supportate nella documentazione sulle funzioni aggiuntive(Il collegamento viene aperto in una nuova finestra). |
TRIM
Sintassi | TRIM(string) |
Output | Stringa |
Definizione | Restituisce la stringa <string> specificata con gli spazi iniziali e finali rimossi. |
Esempio | TRIM(" Calculation ") = "Calculation" |
Note | Vedi anche LTRIM e RTRIM. |
UPPER
Sintassi | UPPER(string) |
Output | Stringa |
Definizione | Restituisce la stringa <string> in caratteri maiuscoli. |
Esempio | UPPER("Calculation") = "CALCULATION" |
Note | Vedi anche PROPER e LOWER. |
Creare un calcolo stringa
Per informazioni su come creare un calcolo stringa, segui i passaggi seguenti.
In Tableau Desktop, connettiti all’origine dati salvata Esempio - Supermercato, fornita con Tableau.
Passa a un foglio di lavoro.
Dal riquadro Dati, sotto Dimensioni, trascina ID ordine sullo spazio Righe.
Tieni presente che ogni ID ordine contiene valori per paese (Canada e Stati Uniti), anno (2011) e numero ordine (100006). In questo esempio, creerai un calcolo per estrarre solo il numero ordine dal campo.
Seleziona Analisi > Crea campo calcolato.
Nell’editor di calcolo che si apre, esegui le seguenti operazioni:
Denomina il campo calcolato Numeri ID ordine.
Immetti la seguente formula:
RIGHT([Order ID], 6)
Questa formula prende le cifre specificate (6) a destra della stringa e le estrae in un nuovo campo.
Pertanto,
RIGHT('CA-2011-100006' , 6)
= '100006'.Al termine, fai clic su OK.
Visualizzerai il nuovo campo calcolato sotto Dimensioni nel riquadro Dati. Proprio come gli altri campi, puoi utilizzarlo in una o più visualizzazioni.
Dal riquadro Dati, trascina Numeri ID ordine sullo spazio Righe. Posizionalo a destra di ID ordine.
Nota come i campi differiscono adesso.
Limitazioni di SPLIT per origine dati
Alcune origini dati impongono limiti alla suddivisione delle stringhe. La tabella seguente indica quali origini dati supportano i numeri di token negativi (divisione da destra) e se esiste un limite al numero di divisioni consentite per origine dati.
Una funzione SPLIT
che specifica un numero di token negativo e che sarebbe consentita con altre origini dati, con le origini dati seguenti restituirà l’errore “Splitting from right is not support by the data source” (La divisione da destra non è supportata dall’origine dati).
Origine dati | Vincoli a sinistra/destra | Numero massimo di divisioni | Limiti di versione |
Estrazione dati Tableau | Entrambi | Infinito | |
Microsoft Excel | Entrambi | Infinito | |
File di testo | Entrambi | Infinito | |
Salesforce | Entrambi | Infinito | |
OData | Entrambi | Infinito | |
Google Analytics | Entrambi | Infinito | |
Tableau Data Server | Entrambi | Infinito | Supportata nella versione 9.0. |
Vertica | Solo a sinistra | 10 | |
Oracle | Solo a sinistra | 10 | |
MySQL | Entrambi | 10 | |
PostgreSQL | A sinistra solo prima della versione 9.0; entrambi per la versione 9.0 e superiori. | 10 | |
Teradata | Solo a sinistra | 10 | Versione 14 e successive |
Amazon Redshift | Solo a sinistra | 10 | |
Aster Database | Solo a sinistra | 10 | |
Google BigQuery | Solo a sinistra | 10 | |
Hortonworks Hadoop Hive | Solo a sinistra | 10 | |
Cloudera Hadoop | Solo a sinistra | 10 | Impala supportato a partire dalla versione 2.3.0. |
Microsoft SQL Server | Entrambi | 10 | 2008 e successive |
Vedi anche
Funzioni di Tableau (in ordine alfabetico)