Strängfunktioner
I den här artikeln beskrivs strängfunktioner och deras användning i Tableau. Den visar också hur du skapar en strängberäkning med hjälp av ett exempel.
Varför använda strängfunktioner?
Strängfunktioner gör att du kan manipulera strängdata (dvs. data som består av text). Tableau använder det nuvarande International Components for Unicode-biblioteket (ICU) för att jämföra strängar. Sättet som strängar sorteras och jämförs på är baserat på både språk och språkzon, och visualiseringar kan ändras eftersom ICU kontinuerligt uppdateras för bättre språkstöd.
Du kan till exempel ha ett fält som innehåller alla dina kunders för- och efternamn. Ett exempel på en medlem kan vara Jane Johnson. Du kan hämta efternamnen från alla dina kunder till ett nytt fält med hjälp av en strängfunktion.
Beräkningen kan se ut ungefär så här:
SPLIT([Customer Name], ' ', 2)
Därför, SPLIT('Jane Johnson' , ' ', 2) =
'Johnson'.
Strängfunktioner i Tableau
ASCII
Syntax | ASCII(string) |
Utdata | Nummer |
Definition | Returnerar ASCII-koden för det första tecknet i en <string> . |
Exempel | ASCII('A') = 65 |
Obs! | Det här är den omvända funktionen till CHAR -funktionen. |
CHAR
Syntax | CHAR(number) |
Utdata | Sträng |
Definition | Returnerar det tecken som kodats med ASCII-koden <number> . |
Exempel | CHAR(65) = 'A' |
Obs! | Det här är den omvända funktionen till ASCII -funktionen. |
CONTAINS
Syntax | CONTAINS(string, substring) |
Utdata | Booleskt |
Definition | Returnerar Sant om den givna strängen innehåller den angivna understrängen. |
Exempel | CONTAINS("Calculation", "alcu") = true |
Obs! | Läs mer om den logiska funktionen(Länken öppnas i ett nytt fönster) IN och om reguljära uttryck som stöds i dokumentationen om ytterligare funktioner(Länken öppnas i ett nytt fönster). |
ENDSWITH
Syntax | ENDSWITH(string, substring) |
Utdata | Booleskt |
Definition | Returnerar Sant om den givna strängen slutar med den angivna understrängen. Efterföljande blanksteg ignoreras. |
Exempel | ENDSWITH("Tableau", "leau") = true |
Obs! | Läs mer om reguljära uttryck som stöds i dokumentationen om ytterligare funktioner(Länken öppnas i ett nytt fönster). |
FIND
Syntax | FIND(string, substring, [start]) |
Utdata | Nummer |
Definition | Returnerar indexpositionen för understrängen i strängen eller 0 om understrängen inte hittas. Det första tecknet i strängen är position 1. Om det valfria numeriska argumentet |
Exempel | FIND("Calculation", "alcu") = 2 FIND("Calculation", "Computer") = 0 FIND("Calculation", "a", 3) = 7 FIND("Calculation", "a", 2) = 2 FIND("Calculation", "a", 8) = 0 |
Obs! | Läs mer om reguljära uttryck som stöds i dokumentationen om ytterligare funktioner(Länken öppnas i ett nytt fönster). |
FINDNTH
Syntax | FINDNTH(string, substring, occurrence) |
Utdata | Nummer |
Definition | Returnerar positionen för den n:e gången understrängen förekommer i den angivna strängen, där n definieras av förekomstargumentet. |
Exempel | FINDNTH("Calculation", "a", 2) = 7 |
Obs! |
Lär mer om reguljära uttryck som stöds i dokumentationen om ytterligare funktioner(Länken öppnas i ett nytt fönster). |
LEFT
Syntax | LEFT(string, number) |
Utdata | Sträng |
Definition | Returnerar <number> tecken längst till vänster i strängen. |
Exempel | LEFT("Matador", 4) = "Mata" |
Obs! | Se även MID och RIGHT. |
LEN
Syntax | LEN(string) |
Utdata | Nummer |
Definition | Returnerar längden på strängen. |
Exempel | LEN("Matador") = 7 |
Obs! | Ej att förväxla med den spatiala funktionen(Länken öppnas i ett nytt fönster) LENGTH . |
LOWER
Syntax | LOWER(string) |
Utdata | Sträng |
Definition | Returnerar angiven <string> med gemener. |
Exempel | LOWER("ProductVersion") = "productversion" |
Obs! | Se även UPPER och PROPER. |
LTRIM
Syntax | LTRIM(string) |
Utdata | Sträng |
Definition | Returnerar angiven <string> med eventuella inledande blanksteg borttagna. |
Exempel | LTRIM(" Matador ") = "Matador " |
Obs! | Se även RTRIM. |
MAX
Syntax | MAX(expression) eller MAX(expr1, expr2) |
Utdata | Samma datatyp som argumentet, eller NULL om någon del av argumentet är null. |
Definition | Returnerar det största värdet för de två argumenten, som måste vara av samma datatyp.
|
Exempel | MAX(4,7) = 7 |
Obs! | För strängar
För datakällor i databaser är strängvärdet För datum För datum är Som en aggregering
Som en jämförelse
Se även |
MID
Syntax | (MID(string, start, [length]) |
Utdata | Sträng |
Definition | Returnerar en sträng som börjar vid angiven Om det valfria numeriska argumentet |
Exempel | MID("Calculation", 2) = "alculation" MID("Calculation", 2, 5) ="alcul" |
Obs! | Läs mer om reguljära uttryck som stöds i dokumentationen om ytterligare funktioner(Länken öppnas i ett nytt fönster). |
MIN
Syntax | MIN(expression) eller MIN(expr1, expr2) |
Utdata | Samma datatyp som argumentet, eller NULL om någon del av argumentet är null. |
Definition | Returnerar det minsta värdet för de två argumenten, som måste vara av samma datatyp.
|
Exempel | MIN(4,7) = 4 |
Obs! | För strängar
För datakällor i databaser är strängvärdet För datum För datum är Som en aggregering
Som en jämförelse
Se även |
PROPER
Syntax | PROPER(string) |
Utdata | Sträng |
Definition | Returnerar angiven |
Exempel | PROPER("PRODUCT name") = "Product Name" PROPER("darcy-mae") = "Darcy-Mae" |
Obs! | Blanksteg och icke-alfanumeriska tecken som skiljetecken behandlas som avgränsare. |
Databasbegränsningar | PROPER är endast tillgängligt för vissa platta filer och i extrakt. Om du behöver använda PROPER i en datakälla som annars inte har stöd för det, överväg att använda ett extrakt. |
REPLACE
Syntax | REPLACE(string, substring, replacement |
Utdata | Sträng |
Definition | Söker i <string> efter <substring> och ersätter den med <replacement> . Om <substring> inte hittas, ändras inte strängen. |
Exempel | REPLACE("Version 3.8", "3.8", "4x") = "Version 4x" |
Obs! | Se även REGEXP_REPLACE i dokumentationen om ytterligare funktioner(Länken öppnas i ett nytt fönster). |
RIGHT
Syntax | RIGHT(string, number) |
Utdata | Sträng |
Definition | Returnerar <number> tecken längst till höger i strängen. |
Exempel | RIGHT("Calculation", 4) = "tion" |
Obs! | Se även LEFT och MID. |
RTRIM
Syntax | RTRIM(string) |
Utdata | Sträng |
Definition | Returnerar angiven <string> med eventuella efterföljande blanksteg borttagna. |
Exempel | RTRIM(" Calculation ") = " Calculation" |
Obs! | Se även LTRIM och TRIM. |
SPACE
Syntax | SPACE(number) |
Utdata | Sträng (specifikt, bara blanksteg) |
Definition | Returnerar en sträng som utgörs av det angivna antalet upprepade blanksteg. |
Exempel | SPACE(2) = " " |
SPLIT
Syntax | SPLIT(string, delimiter, token number) |
Utdata | Sträng |
Definition | Returnerar en understräng till en sträng, med en avgränsare för att dela upp strängen i en sekvens av token. |
Exempel | SPLIT ("a-b-c-d", "-", 2) = "b" SPLIT ("a|b|c|d", "|", -2) = "c" |
Obs! | Strängen tolkas som en alternerande sekvens av avgränsare och token. Så för strängen
Läs mer om reguljära uttryck som stöds i dokumentationen om ytterligare funktioner(Länken öppnas i ett nytt fönster). |
Databasbegränsningar | Kommandona Dela och Anpassad delning är tillgängliga för följande datakällor: Tableau-dataextrakt, Microsoft Excel, textfiler, PDF-filer, 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 och Microsoft SQL Server. Vissa datakällor har begränsningar vad gäller strängdelning. Läs mer om SPLIT-funktionens begränsningar längre fram i det här avsnittet. |
STARTSWITH
Syntax | STARTSWITH(string, substring) |
Utdata | Booleskt |
Definition | Returnerar Sant om string börjar med substring . Inledande blanksteg ignoreras. |
Exempel | STARTSWITH("Matador, "Ma") = TRUE |
Obs! | Se även CONTAINS och läs mer om reguljära uttryck som stöds i dokumentationen om ytterligare funktioner(Länken öppnas i ett nytt fönster). |
TRIM
Syntax | TRIM(string) |
Utdata | Sträng |
Definition | Returnerar angiven <string> med inledande och efterföljande blanksteg borttagna. |
Exempel | TRIM(" Calculation ") = "Calculation" |
Obs! | Se även LTRIM och RTRIM. |
UPPER
Syntax | UPPER(string) |
Utdata | Sträng |
Definition | Returnerar angiven <string> med versaler. |
Exempel | UPPER("Calculation") = "CALCULATION" |
Obs! | Se även PROPER och LOWER. |
Skapa en strängberäkning
Följ stegen nedan för att lära dig skapa en strängberäkning.
I Tableau Desktop ansluter du till den sparade datakällan Urval - Superstore, som ingår i Tableau.
Navigera till ett arbetsblad.
I rutan Data, under Dimensioner, drar du Order-ID till hyllan Rader.
Observera att varje order-ID innehåller värden för land (t.ex. CA och USA), år (2011) och ordernummer (100006). I det här exemplet skapar du en beräkning för att endast hämta ordernumret från fältet.
Välj Analys > Skapa beräknat fält.
Gör följande i den beräkningsredigerare som visas:
Namnge de beräknade fälten Order-ID-nummer.
Ange följande formel:
RIGHT([Order ID], 6)
Den här formeln tar de angivna siffrorna (6) från höger om strängen och drar in dem i ett nytt fält.
Därför,
RIGHT('CA-2011-100006' , 6)
= '100006'.Klicka på OK när du är klar.
Det nya beräknade fältet visas under Dimensioner i rutan Data. Precis som med de andra fälten kan du använda detta i en eller flera visualiseringar.
Från rutan Data drar du Order-ID-nummer till hyllan Rader. Placera den till höger om order-ID:et.
Observera hur fälten skiljer sig åt nu.
SPLIT-begränsningar efter datakälla
En del datakällor har begränsningar vad gäller strängdelning. I följande tabell visas vilka datakällor som har stöd för negativa tokennummer (delning från höger) och huruvida det finns en gräns för hur många delningar som går att göra per datakälla.
En SPLIT
-funktion som anger ett negativt tokennummer, och som kan användas med andra datakällor, returnerar felet ”Att dela upp från höger stöds inte av datakällan.” med dessa datakällor:
Datakälla | Begränsningar för vänster/höger | Maximalt antal delningar | Versionsbegränsningar |
Tableau-dataextrakt | Båda | Oändlig | |
Microsoft Excel | Båda | Oändlig | |
Textfil | Båda | Oändlig | |
Salesforce | Båda | Oändlig | |
OData | Båda | Oändlig | |
Google Analytics | Båda | Oändlig | |
Tableau Data Server | Båda | Oändlig | Stöds i version 9.0. |
Vertica | Endast vänster | 10 | |
Oracle | Endast vänster | 10 | |
MySQL | Båda | 10 | |
PostgreSQL | Endast vänster före version 9.0. Båda för version 9.0 och senare. | 10 | |
Teradata | Endast vänster | 10 | Version 14 och senare |
Amazon Redshift | Endast vänster | 10 | |
Aster-databas | Endast vänster | 10 | |
Google BigQuery | Endast vänster | 10 | |
Hortonworks Hadoop Hive | Endast vänster | 10 | |
Cloudera Hadoop | Endast vänster | 10 | Impala stöds från och med version 2.3.0. |
Microsoft SQL Server | Båda | 10 | 2008 och senare |
Se även
Tableau-funktioner (i bokstavsordning)