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

SyntaxASCII(string)
UtdataNummer
DefinitionReturnerar 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

SyntaxCHAR(number)
UtdataSträng
DefinitionReturnerar 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

SyntaxCONTAINS(string, substring)
UtdataBooleskt
DefinitionReturnerar 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

SyntaxENDSWITH(string, substring)
UtdataBooleskt
DefinitionReturnerar 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

SyntaxFIND(string, substring, [start])
UtdataNummer
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 start läggs till ignorerar funktionen alla instanser av understrängen som visas före startpositionen.

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

SyntaxFINDNTH(string, substring, occurrence)
UtdataNummer
DefinitionReturnerar 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!

FINDNTH är inte tillgängligt för alla datakällor.

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)
UtdataSträng
DefinitionReturnerar <number> tecken längst till vänster i strängen.
Exempel
LEFT("Matador", 4) = "Mata"
Obs!Se även MID och RIGHT.

LEN

SyntaxLEN(string)
UtdataNummer
DefinitionReturnerar 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

SyntaxLOWER(string)
UtdataSträng
DefinitionReturnerar angiven <string> med gemener.
Exempel
LOWER("ProductVersion") = "productversion"
Obs!Se även UPPER och PROPER.

LTRIM

Syntax LTRIM(string)
UtdataSträng
DefinitionReturnerar angiven <string> med eventuella inledande blanksteg borttagna.
Exempel
LTRIM(" Matador ") = "Matador "
Obs!Se även RTRIM.

MAX

SyntaxMAX(expression) eller MAX(expr1, expr2)
UtdataSamma 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.

MAX kan även tillämpas på ett enskilt fält som en aggregering.

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

För strängar

MAX är vanligtvis det värde som kommer sist i alfabetisk ordning.

För datakällor i databaser är strängvärdet MAX det högsta i den sorteringssekvens som definierats i databasen för den kolumnen.

För datum

För datum är MAX det senaste datumet. Om MAX är en aggregering kommer resultatet inte att ha någon datumhierarki. Om MAX är en jämförelse kommer resultatet att behålla datumhierarkin.

Som en aggregering

MAX(expression) är en aggregerad funktion och returnerar ett enda aggregerat resultat. Detta visas som AGG(expression) i visualiseringen.

Som en jämförelse

MAX(expr1, expr2) jämför de två värdena och returnerar ett värde på radnivå.

Se även MIN.

MID

Syntax(MID(string, start, [length])
UtdataSträng
Definition

Returnerar en sträng som börjar vid angiven start-position. Det första tecknet i strängen är position 1.

Om det valfria numeriska argumentet length läggs till inkluderar den returnerade strängen bara det antalet tecken.

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

SyntaxMIN(expression) eller MIN(expr1, expr2)
UtdataSamma 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.

MIN kan även tillämpas på ett enskilt fält som en aggregering.

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

För strängar

MIN är vanligtvis det värde som kommer först i alfabetisk ordning.

För datakällor i databaser är strängvärdet MIN det lägsta i den sorteringssekvens som definierats i databasen för den kolumnen.

För datum

För datum är MIN det tidigaste datumet. Om MIN är en aggregering kommer resultatet inte att ha någon datumhierarki. Om MIN är en jämförelse kommer resultatet att behålla datumhierarkin.

Som en aggregering

MIN(expression) är en aggregerad funktion och returnerar ett enda aggregerat resultat. Detta visas som AGG(expression) i visualiseringen.

Som en jämförelse

MIN(expr1, expr2) jämför de två värdena och returnerar ett värde på radnivå.

Se även MAX.

PROPER

SyntaxPROPER(string)
UtdataSträng
Definition

Returnerar angiven <string> där den första bokstaven i varje ord är en versal och de återstående bokstäverna är gemener.

Exempel
PROPER("PRODUCT name") = "Product Name"
PROPER("darcy-mae") = "Darcy-Mae"
Obs!

Blanksteg och icke-alfanumeriska tecken som skiljetecken behandlas som avgränsare.

Se även LOWER och UPPER.

DatabasbegränsningarPROPER ä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

SyntaxREPLACE(string, substring, replacement
UtdataSträng
DefinitionSö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).
SyntaxRIGHT(string, number)
UtdataSträng
DefinitionReturnerar <number> tecken längst till höger i strängen.
Exempel
RIGHT("Calculation", 4) = "tion"
Obs!Se även LEFT och MID.

RTRIM

SyntaxRTRIM(string)
UtdataSträng
DefinitionReturnerar angiven <string> med eventuella efterföljande blanksteg borttagna.
Exempel
RTRIM(" Calculation ") = " Calculation"
Obs!Se även LTRIM och TRIM.

SPACE

SyntaxSPACE(number)
UtdataSträng (specifikt, bara blanksteg)
DefinitionReturnerar en sträng som utgörs av det angivna antalet upprepade blanksteg.
Exempel
SPACE(2) = "  "

SPLIT

SyntaxSPLIT(string, delimiter, token number)
UtdataSträng
DefinitionReturnerar 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 abc-defgh-i-jkl, där avgränsaren är ”-”, är token (1) abc, (2) defgh, (3) i och (4) jlk.

SPLIT returnerar det token som motsvarar tokennumret. När tokennumret är positivt räknas token med början från strängens vänstra del. När tokennumret är negativt räknas token med början från höger.

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

SyntaxSTARTSWITH(string, substring)
UtdataBooleskt
DefinitionReturnerar 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

SyntaxTRIM(string)
UtdataSträng
DefinitionReturnerar angiven <string> med inledande och efterföljande blanksteg borttagna.
Exempel
TRIM(" Calculation ") = "Calculation"
Obs!Se även LTRIM och RTRIM.

UPPER

SyntaxUPPER(string)
UtdataSträng
DefinitionReturnerar 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.

  1. I Tableau Desktop ansluter du till den sparade datakällan Urval - Superstore, som ingår i Tableau.

  2. Navigera till ett arbetsblad.

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

  4. Välj Analys > Skapa beräknat fält.

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

  6. 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ällaBegränsningar för vänster/högerMaximalt antal delningarVersionsbegränsningar
Tableau-dataextraktBådaOändlig 
Microsoft ExcelBådaOändlig 
TextfilBådaOändlig 
SalesforceBådaOändlig 
ODataBådaOändlig 
Google AnalyticsBådaOändlig 
Tableau Data ServerBådaOändligStöds i version 9.0.
VerticaEndast vänster10 
OracleEndast vänster10 
MySQLBåda10 
PostgreSQLEndast vänster före version 9.0. Båda för version 9.0 och senare.10 
TeradataEndast vänster10Version 14 och senare
Amazon RedshiftEndast vänster10 
Aster-databasEndast vänster10 
Google BigQueryEndast vänster10 
Hortonworks Hadoop HiveEndast vänster10 
Cloudera HadoopEndast vänster10Impala stöds från och med version 2.3.0.
Microsoft SQL ServerBåda102008 och senare

Se även

Funktioner i Tableau

Tableau-funktioner (i bokstavsordning)

Tableau-funktioner (efter kategori)

Formatera beräkningar i Tableau

Tack för din feedback!Din feedback har skickats in. Tack!