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

SyntaxisASCII(string)
UitvoerGetal
DefinitieRetourneert de ASCII-code voor het eerste teken in een <string>.
Voorbeeld
ASCII('A') = 65
OpmerkingenDit is het omgekeerde van de functie CHAR.

CHAR

SyntaxisCHAR(number)
UitvoerTekenreeks
DefinitieRetourneert het teken dat is gecodeerd door de ASCII-code <number>.
Voorbeeld
CHAR(65) = 'A'
OpmerkingenDit is het omgekeerde van de functie ASCII.

CONTAINS

SyntaxisCONTAINS(string, substring)
UitvoerBooleaanse waarde
DefinitieRetourneert true als een gegeven tekenreeks de gespecificeerde subtekenreeks bevat.
Voorbeeld
CONTAINS("Calculation", "alcu") = true
OpmerkingenZie 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

SyntaxisENDSWITH(string, substring)
UitvoerBooleaanse waarde
DefinitieRetourneert true als de gegeven tekenreeks eindigt op de gespecificeerde subtekenreeks Spaties aan het einde worden genegeerd.
Voorbeeld
ENDSWITH("Tableau", "leau") = true
OpmerkingenZie ook de ondersteunde RegEx in de documentatie voor extra functies(Link wordt in een nieuw venster geopend).

FIND

SyntaxisFIND(string, substring, [start])
UitvoerGetal
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 start wordt toegevoegd, negeert de functie alle instanties van een subtekenreeks die vóór de startpositie voorkomen.

Voorbeeld
FIND("Calculation", "alcu") = 2
FIND("Calculation", "Computer") = 0
FIND("Calculation", "a", 3) = 7
FIND("Calculation", "a", 2) = 2
FIND("Calculation", "a", 8) = 0
OpmerkingenZie ook de ondersteunde RegEx in de documentatie voor extra functies(Link wordt in een nieuw venster geopend).

FINDNTH

SyntaxisFINDNTH(string, substring, occurrence)
UitvoerGetal
DefinitieRetourneert 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

FINDNTH is niet beschikbaar voor alle databronnen.

Zie ook de ondersteunde RegEx in de documentatie voor extra functies(Link wordt in een nieuw venster geopend).

LEFT

Syntaxis LEFT(string, number)
UitvoerTekenreeks
DefinitieRetourneert het <number> voor het aantal tekens dat het meest links in de tekenreeks staat.
Voorbeeld
LEFT("Matador", 4) = "Mata"
OpmerkingenZie ook MID en RIGHT.

LEN

SyntaxisLEN(string)
UitvoerGetal
DefinitieRetourneert de lengte van de tekenreeks.
Voorbeeld
LEN("Matador") = 7
OpmerkingenNiet te verwarren met de ruimtelijke functie(Link wordt in een nieuw venster geopend) LENGTH.

LOWER

SyntaxisLOWER(string)
UitvoerTekenreeks
DefinitieRetourneert de gegeven <string> volledig in kleine letters.
Voorbeeld
LOWER("ProductVersion") = "productversion"
OpmerkingenZie ook UPPER en PROPER.

LTRIM

Syntaxis LTRIM(string)
UitvoerTekenreeks
DefinitieRetourneert de gegeven <string> waarbij eventuele voorloopspaties zijn verwijderd.
Voorbeeld
LTRIM(" Matador ") = "Matador "
OpmerkingenZie ook RTRIM.

MAX

SyntaxisMAX(expression) of MAX(expr1, expr2)
UitvoerHetzelfde 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.

MAX kan ook worden toegepast op een enkel veld als een aggregatie.

Voorbeeld
MAX(4,7) = 7
MAX(#3/25/1986#, #2/20/2021#) = #2/20/2021#
MAX([Name]) = "Zander"
Opmerkingen

Bij tekenreeksen

MAX is meestal de waarde die als laatste in alfabetische volgorde staat.

Bij databronnen van een database is de tekenreekswaarde MAX de hoogste in de sorteervolgorde die door de database voor die kolom is gedefinieerd.

Bij datums

Bij datums is MAX de meest recente datum. Als MAX een aggregatie is, heeft resultaat geen datumhiërarchie. Als MAX een vergelijking is, behoudt het resultaat de datumhiërarchie.

Als een aggregatie

MAX(expression) is een aggregaatfunctie die één enkel geaggregeerd resultaat retourneert. Dit wordt weergegeven als AGG(expression) in de visualisatie.

Ter vergelijking

MAX(expr1, expr2) vergelijkt de twee waarden en retourneert een waarde op rijniveau.

Zie ook MIN.

MID

Syntaxis(MID(string, start, [length])
UitvoerTekenreeks
Definitie

Retourneert een tekenreeks die begint bij de opgegeven start-positie. Het eerste teken in de tekenreeks is positie 1.

Als het optionele numerieke argument length wordt toegevoegd, bevat de geretourneerde tekenreeks alleen dat aantal tekens.

Voorbeeld
MID("Calculation", 2) = "alculation"
MID("Calculation", 2, 5) ="alcul"
OpmerkingenZie ook de ondersteunde RegEx in de documentatie voor extra functies(Link wordt in een nieuw venster geopend).

MIN

SyntaxisMIN(expression) of MIN(expr1, expr2)
UitvoerHetzelfde 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.

MIN kan ook worden toegepast op een enkel veld als een aggregatie.

Voorbeeld
MIN(4,7) = 4
MIN(#3/25/1986#, #2/20/2021#) = #3/25/1986#
MIN([Name]) = "Abebi"
Opmerkingen

Bij tekenreeksen

MIN is meestal de waarde die in alfabetische volgorde als eerste voorkomt.

Bij databronnen van een database is de tekenreekswaarde MIN de laagste in de sorteervolgorde die door de database voor die kolom is gedefinieerd.

Bij datums

Bij datums is MIN de vroegste datum. Als MIN een aggregatie is, heeft resultaat geen datumhiërarchie. Als MIN een vergelijking is, behoudt het resultaat de datumhiërarchie.

Als een aggregatie

MIN(expression) is een aggregaatfunctie die één enkel geaggregeerd resultaat retourneert. Dit wordt weergegeven als AGG(expression) in de visualisatie.

Ter vergelijking

MIN(expr1, expr2) vergelijkt de twee waarden en retourneert een waarde op rijniveau.

Zie ook MAX.

PROPER

SyntaxisPROPER(string)
UitvoerTekenreeks
Definitie

Retourneert de opgegeven <string> waarbij de eerste letter van elk woord een hoofdletter is en de overige letters een kleine letter.

Voorbeeld
PROPER("PRODUCT name") = "Product Name"
PROPER("darcy-mae") = "Darcy-Mae"
Opmerkingen

Spaties en niet-alfanumerieke tekens zoals leestekens worden als scheidingstekens beschouwd.

Zie ook LOWER en UPPER.

Beperkingen van de databasePROPER 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

SyntaxisREPLACE(string, substring, replacement
UitvoerTekenreeks
DefinitieZoekt 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"
OpmerkingenZie ook REGEXP_REPLACE in de documentatie voor extra functies(Link wordt in een nieuw venster geopend).
SyntaxisRIGHT(string, number)
UitvoerTekenreeks
DefinitieRetourneert het <number> voor het aantal tekens dat het meest rechts in de tekenreeks staat.
Voorbeeld
RIGHT("Calculation", 4) = "tion"
OpmerkingenZie ook LEFT en MID.

RTRIM

SyntaxisRTRIM(string)
UitvoerTekenreeks
DefinitieRetourneert de gegeven <string> waarbij eventuele naloopspaties zijn verwijderd.
Voorbeeld
RTRIM(" Calculation ") = " Calculation"
OpmerkingenZie ook LTRIM en TRIM.

SPACE

SyntaxisSPACE(number)
UitvoerTekenreeks (en meer specifiek: alleen spaties)
DefinitieRetourneert een tekenreeks die bestaat uit een opgegeven aantal herhaalde spaties.
Voorbeeld
SPACE(2) = "  "

SPLIT

SyntaxisSPLIT(string, delimiter, token number)
UitvoerTekenreeks
DefinitieRetourneert 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 abc-defgh-i-jkl met '-' als scheidingsteken, zijn de tokens (1) abc, (2) defgh, (3) i en (4) jlk.

SPLIT retourneert het token dat overeenkomt met het tokennummer. Als het tokennummer positief is, worden de tokens geteld vanaf de linkerkant van de tekenreeks. Als het tokennummer negatief is, worden de tokens geteld vanaf de rechterkant.

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

SyntaxisSTARTSWITH(string, substring)
UitvoerBooleaanse waarde
DefinitieRetourneert true als een string begint met substring. Voorloopspaties worden genegeerd.
Voorbeeld
STARTSWITH("Matador, "Ma") = TRUE
OpmerkingenZie ook CONTAINS, evenals de ondersteunde REGEX in de documentatie voor extra functies(Link wordt in een nieuw venster geopend).

TRIM

SyntaxisTRIM(string)
UitvoerTekenreeks
DefinitieRetourneert de gegeven <string> met de voorloop- en naloopspaties verwijderd.
Voorbeeld
TRIM(" Calculation ") = "Calculation"
OpmerkingenZie ook LTRIM en RTRIM.

UPPER

SyntaxisUPPER(string)
UitvoerTekenreeks
DefinitieRetourneert de gegeven <string> volledig in hoofdletters.
Voorbeeld
UPPER("Calculation") = "CALCULATION"
OpmerkingenZie ook PROPER en LOWER.

Een tekenreeksberekening maken

Volg de onderstaande stappen om te leren hoe u een tekenreeksberekening maakt.

  1. Maak in Tableau Desktop verbinding met de opgeslagen databron Voorbeeld - Superstore, die bij Tableau wordt geleverd.

  2. Navigeer naar een werkblad.

  3. 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.

  4. Selecteer Analyse > Berekend veld maken.

  5. 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.

  6. 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'.

DatabronBeperkingen voor links/rechtsMaximaal aantal splitsingenVersiebeperkingen
Tableau-data-extractBeideOneindig 
Microsoft ExcelBeideOneindig 
TekstbestandBeideOneindig 
SalesforceBeideOneindig 
ODataBeideOneindig 
Google AnalyticsBeideOneindig 
Tableau Data ServerBeideOneindigOndersteund in versie 9.0.
VerticaAlleen links10 
OracleAlleen links10 
MySQLBeide10 
PostgreSQLLinks alleen vóór versie 9.0; voor versie 9.0 en hoger10 
TeradataAlleen links10Versie 14 en hoger
Amazon RedshiftAlleen links10 
Aster DatabaseAlleen links10 
Google BigQueryAlleen links10 
Hortonworks Hadoop HiveAlleen links10 
Cloudera HadoopAlleen links10Impala wordt ondersteund vanaf versie 2.3.0.
Microsoft SQL ServerBeide102008 en later

Zie ook

Functies in Tableau

Tableau-functies (alfabetische lijst)

Tableau-functies (op categorie)

Berekeningen opmaken in Tableau

Bedankt voor uw feedback.De feedback is verzonden. Dank u wel.