Tekenreeksfuncties
Dit artikel introduceert tekenreeksfuncties en hun gebruik in Tableau. Het laat ook zien hoe u een tekenreeksberekening kunt maken aan de hand van een voorbeeld.
Waarom tekenreeksfuncties gebruiken
Met tekenreeksfuncties kunt u tekenreeksdata (d.w.z. data die uit tekst bestaan) manipuleren. Tableau gebruikt de huidige International Components for Unicode-bibliotheek (ICU) bij het vergelijken van tekenreeksen. De manier waarop tekenreeksen worden gesorteerd en vergeleken, is gebaseerd op taal- en landinstelling. Het is mogelijk dat visualisaties veranderen omdat de ICU voortdurend wordt bijgewerkt voor betere taalondersteuning.
U kunt bijvoorbeeld een veld hebben met de voor- en achternamen van al uw klanten. Een van de leden zou kunnen zijn: Jane Johnson. Met een tekenreeksfunctie kunt u de achternamen van al uw klanten in een nieuw veld ophalen.
De berekening zou er ongeveer als volgt uitzien:
SPLIT([Customer Name], ' ', 2)
Daarom: SPLIT('Jane Johnson' , ' ', 2) =
'Jansen'.
Tekenreeksfuncties beschikbaar in Tableau
ASCII
Syntaxis | ASCII(string) |
Uitvoer | Getal |
Definitie | Retourneert de ASCII-code voor het eerste teken in een <string> . |
Voorbeeld | ASCII('A') = 65 |
Opmerkingen | Dit is het omgekeerde van de functie CHAR . |
CHAR
Syntaxis | CHAR(number) |
Uitvoer | Tekenreeks |
Definitie | Retourneert het teken dat is gecodeerd door de ASCII-code <number> . |
Voorbeeld | CHAR(65) = 'A' |
Opmerkingen | Dit is het omgekeerde van de functie ASCII . |
CONTAINS
Syntaxis | CONTAINS(string, substring) |
Uitvoer | Booleaanse waarde |
Definitie | Retourneert true als een gegeven tekenreeks de gespecificeerde subtekenreeks bevat. |
Voorbeeld | CONTAINS("Calculation", "alcu") = true |
Opmerkingen | Zie ook de logische functie(Link wordt in een nieuw venster geopend) IN evenals de ondersteunde RegEx in de documentatie voor extra functies(Link wordt in een nieuw venster geopend). |
ENDSWITH
Syntaxis | ENDSWITH(string, substring) |
Uitvoer | Booleaanse waarde |
Definitie | Retourneert true als de gegeven tekenreeks eindigt op de gespecificeerde subtekenreeks Spaties aan het einde worden genegeerd. |
Voorbeeld | ENDSWITH("Tableau", "leau") = true |
Opmerkingen | Zie ook de ondersteunde RegEx in de documentatie voor extra functies(Link wordt in een nieuw venster geopend). |
FIND
Syntaxis | FIND(string, substring, [start]) |
Uitvoer | Getal |
Definitie | Retourneert de indexpositie van een subtekenreeks binnen een tekenreeks, of 0 als de subtekenreeks niet is gevonden. Het eerste teken in de tekenreeks is positie 1. Als het optionele numerieke argument |
Voorbeeld | FIND("Calculation", "alcu") = 2 FIND("Calculation", "Computer") = 0 FIND("Calculation", "a", 3) = 7 FIND("Calculation", "a", 2) = 2 FIND("Calculation", "a", 8) = 0 |
Opmerkingen | Zie ook de ondersteunde RegEx in de documentatie voor extra functies(Link wordt in een nieuw venster geopend). |
FINDNTH
Syntaxis | FINDNTH(string, substring, occurrence) |
Uitvoer | Getal |
Definitie | Retourneert de positie van de n-de keer dat een subtekenreeks voorkomt in de opgegeven tekenreeks, waarbij n wordt gedefinieerd door het argument voor het aantal instanties. |
Voorbeeld | FINDNTH("Calculation", "a", 2) = 7 |
Opmerkingen |
Zie ook de ondersteunde RegEx in de documentatie voor extra functies(Link wordt in een nieuw venster geopend). |
LEFT
Syntaxis | LEFT(string, number) |
Uitvoer | Tekenreeks |
Definitie | Retourneert het <number> voor het aantal tekens dat het meest links in de tekenreeks staat. |
Voorbeeld | LEFT("Matador", 4) = "Mata" |
Opmerkingen | Zie ook MID en RIGHT. |
LEN
Syntaxis | LEN(string) |
Uitvoer | Getal |
Definitie | Retourneert de lengte van de tekenreeks. |
Voorbeeld | LEN("Matador") = 7 |
Opmerkingen | Niet te verwarren met de ruimtelijke functie(Link wordt in een nieuw venster geopend) LENGTH . |
LOWER
Syntaxis | LOWER(string) |
Uitvoer | Tekenreeks |
Definitie | Retourneert de gegeven <string> volledig in kleine letters. |
Voorbeeld | LOWER("ProductVersion") = "productversion" |
Opmerkingen | Zie ook UPPER en PROPER. |
LTRIM
Syntaxis | LTRIM(string) |
Uitvoer | Tekenreeks |
Definitie | Retourneert de gegeven <string> waarbij eventuele voorloopspaties zijn verwijderd. |
Voorbeeld | LTRIM(" Matador ") = "Matador " |
Opmerkingen | Zie ook RTRIM. |
MAX
Syntaxis | MAX(expression) of MAX(expr1, expr2) |
Uitvoer | Hetzelfde datatype als het argument, of NULL als een deel van het argument nul is. |
Definitie | Retourneert het maximum van de twee argumenten. Deze moeten van hetzelfde datatype zijn.
|
Voorbeeld | MAX(4,7) = 7 |
Opmerkingen | Bij tekenreeksen
Bij databronnen van een database is de tekenreekswaarde Bij datums Bij datums is Als een aggregatie
Ter vergelijking
Zie ook |
MID
Syntaxis | (MID(string, start, [length]) |
Uitvoer | Tekenreeks |
Definitie | Retourneert een tekenreeks die begint bij de opgegeven Als het optionele numerieke argument |
Voorbeeld | MID("Calculation", 2) = "alculation" MID("Calculation", 2, 5) ="alcul" |
Opmerkingen | Zie ook de ondersteunde RegEx in de documentatie voor extra functies(Link wordt in een nieuw venster geopend). |
MIN
Syntaxis | MIN(expression) of MIN(expr1, expr2) |
Uitvoer | Hetzelfde datatype als het argument, of NULL als een deel van het argument nul is. |
Definitie | Retourneert het minimum van de twee argumenten, die van hetzelfde datatype moeten zijn.
|
Voorbeeld | MIN(4,7) = 4 |
Opmerkingen | Bij tekenreeksen
Bij databronnen van een database is de tekenreekswaarde Bij datums Bij datums is Als een aggregatie
Ter vergelijking
Zie ook |
PROPER
Syntaxis | PROPER(string) |
Uitvoer | Tekenreeks |
Definitie | Retourneert de opgegeven |
Voorbeeld | PROPER("PRODUCT name") = "Product Name" PROPER("darcy-mae") = "Darcy-Mae" |
Opmerkingen | Spaties en niet-alfanumerieke tekens zoals leestekens worden als scheidingstekens beschouwd. |
Beperkingen van de database | PROPER is alleen beschikbaar voor bepaalde platte bestanden en in extracten. Als u PROPER moet gebruiken in een databron die dit niet ondersteunt, kunt u overwegen om een extract te gebruiken. |
REPLACE
Syntaxis | REPLACE(string, substring, replacement |
Uitvoer | Tekenreeks |
Definitie | Zoekt in een <string> naar een <substring> en vervangt dit door <replacement> . Als de <substring> niet wordt gevonden, blijft de tekenreeks ongewijzigd. |
Voorbeeld | REPLACE("Version 3.8", "3.8", "4x") = "Version 4x" |
Opmerkingen | Zie ook REGEXP_REPLACE in de documentatie voor extra functies(Link wordt in een nieuw venster geopend). |
RIGHT
Syntaxis | RIGHT(string, number) |
Uitvoer | Tekenreeks |
Definitie | Retourneert het <number> voor het aantal tekens dat het meest rechts in de tekenreeks staat. |
Voorbeeld | RIGHT("Calculation", 4) = "tion" |
Opmerkingen | Zie ook LEFT en MID. |
RTRIM
Syntaxis | RTRIM(string) |
Uitvoer | Tekenreeks |
Definitie | Retourneert de gegeven <string> waarbij eventuele naloopspaties zijn verwijderd. |
Voorbeeld | RTRIM(" Calculation ") = " Calculation" |
Opmerkingen | Zie ook LTRIM en TRIM. |
SPACE
Syntaxis | SPACE(number) |
Uitvoer | Tekenreeks (en meer specifiek: alleen spaties) |
Definitie | Retourneert een tekenreeks die bestaat uit een opgegeven aantal herhaalde spaties. |
Voorbeeld | SPACE(2) = " " |
SPLIT
Syntaxis | SPLIT(string, delimiter, token number) |
Uitvoer | Tekenreeks |
Definitie | Retourneert een subtekenreeks van een tekenreeks, waarbij een scheidingsteken wordt gebruikt om de tekenreeks in een reeks tokens te verdelen. |
Voorbeeld | SPLIT ("a-b-c-d", "-", 2) = "b" SPLIT ("a|b|c|d", "|", -2) = "c" |
Opmerkingen | De tekenreeks wordt geïnterpreteerd als een afwisselende reeks scheidingstekens en tokens. Dus voor de tekenreeks
Zie ook de ondersteunde REGEX in de documentatie voor extra functies(Link wordt in een nieuw venster geopend). |
Beperkingen van de database | De opdrachten Split en Custom Split zijn beschikbaar voor de volgende typen databronnen: Tableau-data-extracten, Microsoft Excel, Text File, PDF File, 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 en Microsoft SQL Server. Sommige databronnen stellen limieten aan het opsplitsen van tekenreeksen. Zie de beperkingen van de SPLIT-functie later in dit onderwerp. |
STARTSWITH
Syntaxis | STARTSWITH(string, substring) |
Uitvoer | Booleaanse waarde |
Definitie | Retourneert true als een string begint met substring . Voorloopspaties worden genegeerd. |
Voorbeeld | STARTSWITH("Matador, "Ma") = TRUE |
Opmerkingen | Zie ook CONTAINS, evenals de ondersteunde REGEX in de documentatie voor extra functies(Link wordt in een nieuw venster geopend). |
TRIM
Syntaxis | TRIM(string) |
Uitvoer | Tekenreeks |
Definitie | Retourneert de gegeven <string> met de voorloop- en naloopspaties verwijderd. |
Voorbeeld | TRIM(" Calculation ") = "Calculation" |
Opmerkingen | Zie ook LTRIM en RTRIM. |
UPPER
Syntaxis | UPPER(string) |
Uitvoer | Tekenreeks |
Definitie | Retourneert de gegeven <string> volledig in hoofdletters. |
Voorbeeld | UPPER("Calculation") = "CALCULATION" |
Opmerkingen | Zie ook PROPER en LOWER. |
Een tekenreeksberekening maken
Volg de onderstaande stappen om te leren hoe u een tekenreeksberekening maakt.
Maak in Tableau Desktop verbinding met de opgeslagen databron Voorbeeld - Superstore, die bij Tableau wordt geleverd.
Navigeer naar een werkblad.
Sleep Order-ID in het deelvenster Data onder Dimensies naar de container Rijen.
Elke order-ID bevat waarden voor het land (bijvoorbeeld CA en VS), het jaar (2011) en het ordernummer (100006). In dit voorbeeld maakt u een berekening om alleen het ordernummer uit het veld te halen.
Selecteer Analyse > Berekend veld maken.
Doe het volgende in de berekeningseditor die wordt geopend:
Geef het berekende veld de naam: Order-ID-nummers.
Voer de volgende formule in:
RIGHT([Order ID], 6)
Deze formule neemt de opgegeven cijfers (6) van rechts in de tekenreeks op en levert ze naar een nieuw veld.
Daarom:
RIGHT('CA-2011-100006' , 6)
= '100006'.Klik op OK als u klaar bent.
Het nieuwe berekende veld wordt getoond onder Dimensies in het deelvenster Data. Net als uw andere velden kunt u deze in een of meer visualisaties gebruiken.
Sleep Order-ID-nummers in het deelvenster Data naar de container Rijen. Plaats deze rechts van Order-ID.
Let op hoe de velden nu verschillen.
Beperkingen voor Splitsen per databron
Sommige databronnen stellen limieten aan het splitsen van tekenreeksen. In de onderstaande tabel ziet u welke databronnen negatieve tokennummers (splitsing van rechts) ondersteunen en of er een limiet is aan het aantal splitsingen dat per databron is toegestaan.
Een functie voor SPLIT
die een negatief tokennummer specificeert en legaal zou zijn voor andere databronnen, retourneert de fout voor deze databronnen:’Vanaf rechts opsplitsen is niet toegestaan door de databron'.
Databron | Beperkingen voor links/rechts | Maximaal aantal splitsingen | Versiebeperkingen |
Tableau-data-extract | Beide | Oneindig | |
Microsoft Excel | Beide | Oneindig | |
Tekstbestand | Beide | Oneindig | |
Salesforce | Beide | Oneindig | |
OData | Beide | Oneindig | |
Google Analytics | Beide | Oneindig | |
Tableau Data Server | Beide | Oneindig | Ondersteund in versie 9.0. |
Vertica | Alleen links | 10 | |
Oracle | Alleen links | 10 | |
MySQL | Beide | 10 | |
PostgreSQL | Links alleen vóór versie 9.0; voor versie 9.0 en hoger | 10 | |
Teradata | Alleen links | 10 | Versie 14 en hoger |
Amazon Redshift | Alleen links | 10 | |
Aster Database | Alleen links | 10 | |
Google BigQuery | Alleen links | 10 | |
Hortonworks Hadoop Hive | Alleen links | 10 | |
Cloudera Hadoop | Alleen links | 10 | Impala wordt ondersteund vanaf versie 2.3.0. |
Microsoft SQL Server | Beide | 10 | 2008 en later |
Zie ook
Tableau-functies (alfabetische lijst)