Typeconversie
Dit artikel introduceert functies voor typeconversie en hun gebruik in Tableau. Het laat ook zien hoe u een berekening voor een typeconversie kunt maken aan de hand van een voorbeeld.
Waarom functies voor typeconversie gebruiken
Met functies voor typeconversie kunt u velden van het ene datatype naar het andere converteren (dit wordt 'casting' genoemd). Als u bijvoorbeeld datuminformatie in een veld met het datatype tekenreeks hebt, kunt u dat veld niet gebruiken in datumberekeningen, tenzij het veld wordt omgezet (gewijzigd) naar het datatype datum.
Om bijvoorbeeld een datumveld met een tekenreeks in een DATEDIFF-functie te gebruiken, moet u ook typeconversie voor de datum gebruiken:
DATEDIFF('day', [Date Field], DATE([String Date Field]) )
Als de functie DATE het datatype niet zou wijzigen, zou u de foutmelding krijgen dat "DATEDIFF wordt aangeroepen met (tekenreeks, datum, tekenreeks)."
Tip: velden hebben een standaardwaarde Datatypen in het deelvenster Data. In veel gevallen hoeft u helemaal geen functie voor typeconversie te gebruiken. U kunt het datatype van het veld wijzigen door op het pictogram te klikken. In sommige gevallen kan het echter nuttig zijn om het datatype alleen voor een specifieke berekening te wijzigen. Tableau kan de inhoud van het veld mogelijk ook niet correct omzetten naar het gewenste datatype (bijvoorbeeld doordat de datumnotatie niet wordt herkend). Dan moet u een functie voor typeconversie gebruiken, zoals hieronder vermeld.
Functies voor typeconversie in Tableau
DATE
Syntaxis | DATE(expression) |
Uitvoer | Datum |
Definitie | Retourneert een datum voor een opgegeven getal, tekenreeks of datumexpressie. |
Voorbeeld | DATE([Employee Start Date]) DATE("September 22, 2018") DATE("9/22/2018") DATE(#2018-09-22 14:52#) |
Opmerkingen | Anders dan bij DATUMPARSE(Link wordt in een nieuw venster geopend) hoeft u geen patroon op te geven, omdat DATE automatisch veel standaarddatumnotaties herkent. Als DATE de invoer echter niet herkent, probeer dan DATEPARSE te gebruiken en de notatie op te geven. MAKEDATE(Link wordt in een nieuw venster geopend) is een andere soortgelijke functie, maar MAKEDATE vereist de invoer van numerieke waarden voor jaar, maand en dag. |
DATETIME
Syntaxis | DATETIME(expression) |
Uitvoer | Datumtijd |
Definitie | Retourneert een datumtijd op basis van een opgegeven getal, tekenreeks of datumexpressie. |
Voorbeeld | DATETIME("April 15, 2005 07:59:00") = April 15, 2005 07:59:00 |
FLOAT
Syntaxis | FLOAT(expression) |
Uitvoer | Drijvendekommagetal (decimaal) |
Definitie | Cast het argument als een drijvendekommagetal. |
Voorbeeld | FLOAT(3) = 3.000 |
Opmerkingen | Zie ook INT, dat een geheel getal retourneert. |
INT
Syntaxis | INT(expression) |
Uitvoer | Geheel getal |
Definitie | Cast het argument als een geheel getal. Bij expressies kort deze functie de resultaten in tot het dichtstbijzijnde gehele getal richting nul. |
Voorbeeld | INT(8/3) = 2 INT(-9.7) = -9 |
Opmerkingen | Wanneer een tekenreeks wordt omgezet naar een geheel getal, wordt deze eerst omgezet naar een drijvendekommagetal en vervolgens afgerond. Zie ook FLOAT, dat een decimaal retourneert. |
MAKEDATE
Syntaxis | MAKEDATE(year, month, day) |
Uitvoer | Datum |
Definitie | Retourneert een datumwaarde die is samengesteld uit het opgegeven numerieke jaar, de opgegeven maand en de opgegeven datum. |
Voorbeeld | MAKEDATE(1986,3,25) = #1986-03-25# Houd er rekening mee dat onjuist ingevoerde waarden worden aangepast naar een datum, bijvoorbeeld MAKEDATE(2020,4,31) = 1 mei 2020. Hierbij wordt dus geen foutmelding geretourneerd dat er geen 31e dag van april is. |
Opmerkingen | Beschikbaar voor Tableau-data-extracten. Controleer de beschikbaarheid in andere databronnen. MAKEDATE vereist numerieke invoer voor de onderdelen van een datum. Als uw data een tekenreeks zijn die eigenlijk een datum zou moeten zijn, probeer dan de DATE-functie. DATE herkent automatisch veel standaarddatumnotaties. Als DATE de invoer niet herkent, probeer dan DATEPARSE te gebruiken. |
MAKEDATETIME
Syntaxis | MAKEDATETIME(date, time) |
Uitvoer | Datumtijd |
Definitie | Retourneert een datumtijd door een datum en een tijd te combineren. De datum kan een datum, datumtijd of een tekenreeks zijn. De tijd moet een datumtijd zijn. |
Voorbeeld | MAKEDATETIME("1899-12-30", #07:59:00#) = #12/30/1899 7:59:00 AM# MAKEDATETIME([Date], [Time]) = #1/1/2001 6:00:00 AM# |
Opmerkingen | Deze functie is alleen beschikbaar voor MySQL-compatibele verbindingen (voor Tableau zijn dat MySQL en Amazon Aurora). MAKETIME is een vergelijkbare functie die beschikbaar is voor Tableau Data Extracts en enkele andere databronnen. |
MAKELINE
Syntaxis | MAKELINE(<Spatial Point1>,<Spatial Point2>) |
Uitvoer | Geometrie ruimtelijk object (lijn) |
Definitie | Retourneert een lijnmarkering tussen twee punten. |
Voorbeeld | MAKELINE(OriginPoint, DestinationPoint) MAKELINE( MAKEPOINT(OriginLat],[OriginLong]) , MAKEPOINT([DestinationLat],[DestinationLong] ) |
Opmerkingen | Handig voor het maken van vertrek-bestemmingskaarten of, met MAKEPOINT, voor het omzetten van breedtegraad en lengtegraad in ruimtelijke objecten. |
MAKEPOINT
Syntaxis | MAKEPOINT(<latitude>, <longitude>) |
Uitvoer | Geometrie ruimtelijk object (punt) |
Definitie | Converteert gegevens uit kolommen met breedtegraad en lengtegraad naar ruimtelijke objecten. |
Voorbeeld | MAKEPOINT([AirportLatitude],[AirportLongitude]) |
Opmerkingen | Met MAKEPOINT kunt u een databron ruimtelijk inschakelen, zodat deze met behulp van een ruimtelijke join kan worden gekoppeld aan een ruimtelijk bestand. Zie Een join maken van bestanden met ruimtelijke data in Tableauvoor meer informatie. Om MAKEPOINT te kunnen gebruiken, moeten uw data de breedtegraad- en lengtegraadcoördinaten bevatten. |
MAKETIME
Syntaxis | MAKETIME(hour, minute, second) |
Uitvoer | Datumtijd. Zie Opmerkingen. |
Definitie | Retourneert een datumwaarde die is samengesteld uit het opgegeven uur, de opgegeven minuut en de opgegeven seconde. |
Voorbeeld | MAKETIME(14, 52, 40) = #1/1/1899 14:52:40# |
Opmerkingen | Omdat Tableau het datatype voor tijd niet ondersteunt (alleen datumtijd), is de uitvoer een datumtijd. Het datumgedeelte van het veld is 1/1/1899. Deze functie is vergelijkbaar met MAKEDATETIME, die alleen beschikbaar is voor MYSQL-compatibele verbindingen. |
STR
Syntaxis | STR(expression) |
Uitvoer | Tekenreeks |
Definitie | Cast het argument als een tekenreeks. |
Voorbeeld | STR([ID]) |
Booleaanse expressies voor casten
Een Booleaanse waarde kan worden omgezet naar een geheel getal, zwevende waarde of tekenreeks, maar niet naar een datum.
True
verwijst naar 1, 1,0 of "1"False
verwijst naar 0, 0,0 of "0"Unknown
verwijst naarNull
Een berekening voor typeconversie maken
Volg de onderstaande stappen om te leren hoe u een berekening voor typeconversie maakt.
- Maak in Tableau Desktop verbinding met de opgeslagen databron Voorbeeld - Superstore, die bij Tableau wordt geleverd.
- Navigeer naar een werkblad.
- Selecteer Analyse > Berekend veld maken.
- In de berekeningseditor die wordt geopend, wordt het veld Postcode omgezet van een getal naar een tekenreeks:
- Geef het berekende veld de naam Postcodetekenreeks.
- Voer de volgende formule in:
STR([Postal Code])
- 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.
Als u dit veld van een getal naar een tekenreeks converteert, zorgt u dat Tableau het als tekenreeks behandelt en niet als getal (en het daarom niet samenvoegt).
Zie ook
Een veld converteren naar een datumveld
Berekeningen opmaken in Tableau