Typkonvertering
Den här artikeln introducerar funktioner för typkonvertering och deras användning i Tableau. Den visar även hur du kan skapa en typkonverteringsberäkning med hjälp av ett exempel.
Varför använda typkonverteringsfunktioner
Med funktionerna för typkonvertering kan du konvertera fält från en datatyp till en annan (detta kallas ibland ”casting” på engelska). Om du till exempel har datuminformation i ett fält vars datatyp är sträng kan du inte använda det fältet i datumberäkningar om inte fältets datatyp ändras till datum.
Om du till exempel vill använda ett fält vars datatyp är sträng i en DATEDIFF-funktion måste du också använda en datatypkonvertering för datum:
DATEDIFF('day', [Date Field], DATE([String Date Field]) )
Om DATE-funktionen inte ändrar datatypen visas ett felmeddelande om att ”DATEDIFF anropas med (sträng, datum, sträng)”.
Tips: Fält har Datatyper i rutan Data. I många fall behöver du inte använda någon typkonverteringsfunktion alls. Du kan ändra fältets datatyp genom att klicka på ikonen. I vissa fall kan det dock vara praktiskt att ändra datatypen enbart för en viss beräkning, annars kanske Tableau inte kan konvertera fältets innehåll till den önskade datatypen korrekt (till exempel kanske datumformatet inte kan identifieras). I så fall skulle du behöva använda en typkonverteringsfunktion som de nedanstående.
Typkonverteringsfunktioner i Tableau
DATE
Syntax | DATE(expression) |
Utdata | Datum |
Definition | När ett nummer, en sträng eller ett datumuttryck anges returernas ett datum. |
Exempel | DATE([Employee Start Date]) DATE("September 22, 2018") DATE("9/22/2018") DATE(#2018-09-22 14:52#) |
Obs! | Till skillnad från DATEPARSE(Länken öppnas i ett nytt fönster) behöver du inte ange något mönster, eftersom DATE automatiskt identifierar många standarddatumformat. Om DATE dock inte känner igen inmatningen kan du försöka använda DATEPARSE och ange formatet. MAKEDATE(Länken öppnas i ett nytt fönster) är en annan liknande funktion, men MAKEDATE kräver inmatning av numeriska värden för år, månad och dag. |
DATETIME
Syntax | DATETIME(expression) |
Utdata | Datum/tid |
Definition | När ett nummer, en sträng eller ett datumuttryck anges returernas datum/tid. |
Exempel | DATETIME("April 15, 2005 07:59:00") = April 15, 2005 07:59:00 |
FLOAT
Syntax | FLOAT(expression) |
Utdata | Flyttalsvärde (decimalt) |
Definition | Sänder argumentet som ett flyttalsnummer. |
Exempel | FLOAT(3) = 3.000 |
Obs! | Se även INT, som returnerar ett heltal. |
INT
Syntax | INT(expression) |
Utdata | Heltal |
Definition | Sänder argumentet som ett heltal. För uttryck trunkerar den här funktionen resultat till närmaste heltal, mot noll. |
Exempel | INT(8/3) = 2 INT(-9.7) = -9 |
Obs! | När en sträng konverteras till ett heltal konverteras det först till ett flyttal och avrundas sedan. Se även FLOAT, som returnerar ett decimaltal. |
MAKEDATE
Syntax | MAKEDATE(year, month, day) |
Utdata | Datum |
Definition | Returnerar ett datumvärde som konstruerats från angivet år, angiven månad och angiven dag. |
Exempel | MAKEDATE(1986,3,25) = #1986-03-25# Tänk på att felaktigt inmatade värden justeras till ett datum, till exempel MAKEDATE(2020,4,31) = May 1, 2020 i stället för att returnera ett fel om att den 31 april inte finns. |
Obs! | Tillgängligt för Tableau-dataextrakt. Kontrollera om det är tillgängligt i andra datakällor. MAKEDATE kräver numeriska inmatningar för delarna av ett datum. Om dina data är en sträng som ska vara ett datum kan du prova DATE-funktionen. DATE känner automatiskt igen många standarddatumformat. Om DATE inte känner igen inmatningen kan du prova att använda DATEPARSE. |
MAKEDATETIME
Syntax | MAKEDATETIME(date, time) |
Utdata | Datum/tid |
Definition | Returnerar datum/tid som kombinerar ett datum och en tidpunkt. Datumet kan vara ett datum, datum/tid eller en sträng. Tidpunkten måste vara datum/tid. |
Exempel | MAKEDATETIME("1899-12-30", #07:59:00#) = #12/30/1899 7:59:00 AM# MAKEDATETIME([Date], [Time]) = #1/1/2001 6:00:00 AM# |
Obs! | Den här funktionen finns endast tillgänglig för MySQL-kompatibla anslutningar (för Tableau är dessa MySQL och Amazon Aurora). MAKETIME är en liknande funktion som är tillgänglig för Tableau-dataextrakt och vissa andra datakällor. |
MAKELINE
Syntax | MAKELINE(<Spatial Point1>,<Spatial Point2>) |
Utdata | Geometrispatialt objekt (linje) |
Definition | Genererar en linjemarkering mellan två punkter. |
Exempel | MAKELINE(OriginPoint, DestinationPoint) MAKELINE( MAKEPOINT(OriginLat],[OriginLong]) , MAKEPOINT([DestinationLat],[DestinationLong] ) |
Obs! | Användbart för att ta fram ursprung-destinationskartor eller för att med MAKEPOINT förvandla latitud- och longitudkoordinater till spatiala objekt. |
MAKEPOINT
Syntax | MAKEPOINT(<latitude>, <longitude>) |
Utdata | Geometrispatialt objekt (punkt) |
Definition | Konverterar data från latitud- och longitudkolumner till spatiala objekt. |
Exempel | MAKEPOINT([AirportLatitude],[AirportLongitude]) |
Obs! | Med MAKEPOINT kan du aktivera en datakälla spatialt, så att du kan koppla den till en spatialfil med hjälp av en spatial koppling. Mer information finns i Koppla spatialfiler i Tableau. För att använda MAKEPOINT måste dina data innehålla latitud- och longitud-koordinater. |
MAKETIME
Syntax | MAKETIME(hour, minute, second) |
Utdata | Datum/tid. Läs det som står under Obs!. |
Definition | Returnerar ett datumvärde utifrån timme, minut och sekund som har angetts. |
Exempel | MAKETIME(14, 52, 40) = #1/1/1899 14:52:40# |
Obs! | Eftersom Tableau inte stöder en tidsdatatyp, endast datum och tid, är utdatan datum och tid. Fältets datumdel kommer att vara 1/1/1899. Liknande funktion som MAKEDATETIME, som endast är tillgänglig för MYSQL-kompatibla anslutningar. |
STR
Syntax | STR(expression) |
Utdata | Sträng |
Definition | Sänder argumentet som en sträng. |
Exempel | STR([ID]) |
Konvertera booleska uttryck
Ett booleskt uttryck kan konverteras till ett heltal, ett flyttal eller en sträng, men inte till ett datum.
True
mappar till 1, 1,0 eller ”1”False
mappar till 0, 0,0 eller ”0”Unknown
mappar tillNull
Skapa en typkonverteringsberäkning
Följ stegen nedan för att läsa hur du skapar en typkonverteringsberäkning.
- I Tableau Desktop ansluter du till den sparade datakällan Urval - Superstore, som ingår i Tableau.
- Navigera till ett arbetsblad.
- Välj Analys > Skapa beräknat fält.
- I beräkningsredigeraren som öppnas konverteras postnummerfältet från en siffra till en sträng:
- Namnge det beräknade fältet, postnummersträng.
- Ange följande formel:
STR([Postal Code])
- 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.
Genom att konvertera det här fältet från ett tal till en sträng så ser du till att Tableau behandlar det som en sträng och inte ett tal (och därför inte aggregerar det).
Se även
Konvertera ett fält till ett datumfält
Formatera beräkningar i Tableau