Een veld converteren naar een datumveld

Verschillende databases slaan datumvelden op enigszins verschillende manieren op. Tableau doet zijn best bij het interpreteren van de datumvelden, maar soms wordt een veld in Tableau geïmporteerd als een tekstreeks of numeriek veld. Als dit gebeurt, zijn er een aantal stappen die we kunnen nemen om het probleem op te lossen.

Datumvelden verifiëren

Een datumveld kan verschijnen als tekenreeks
op de pagina Databron

 

Of als een tekenreeks in het deelvenster Data

 

Wanneer datums worden geïnterpreteerd als tekenreeksen, verliest u alle functies en gemakken van het werken met datumvelden, zoals het weergeven van meer details, het gebruik van datumberekeningen en het schakelen tussen continue en discrete meetwaarden.

Als uw datums niet correct worden geïnterpreteerd, voert u de volgende stappen uit:

  1. Wijzig het datatype van het veld

  2. Maak een berekening met de functie DATEPARSE

  3. Maak een berekening met de functie DATE

Wijzig het datatype van het veld

De eerste stap bij het oplossen van een probleem met de interpretatie van datumvelden is ervoor zorgen dat het datatype is ingesteld op Datum of Datum en tijd.

  1. In het venster Databron of Data klikt u op het datatypepictogram en wijzigt u het datatype in Datum of Datum en tijd.

  2. Bekijk de data in de weergave of het venster Databron. Als u veel null-waarden ziet, retourneert u het datatype naar Tekenreeks en gaat u verder naar Maak een berekening met de functie DATEPARSE om het probleem op te lossen.

    Null-waarden worden weergegeven in het scherm Databron.

Maak een berekening met de functie DATEPARSE

Datums worden opgeslagen in een vrijwel oneindige reeks notaties. Sommige datumvelden bevatten het jaar vóór de maand, andere scheiden de delen van de datum met een punt en weer andere gebruiken een combinatie van notaties. Wanneer Tableau een datumveld niet kan interpreteren, kan dit komen doordat de specifieke notatie niet kan worden vertaald.

Met de functie DATEPARSE kunt u duidelijk definiëren welke delen van uw veld welke delen van een datum zijn. In wezen maakt u dus een kaart die Tableau kan gebruiken om de tekenreeks naar een datumveld te vertalen. Deze kaart wordt de notatie genoemd.

Opmerking: Deze functie is beschikbaar via de volgende connectors: niet-verouderde Excel- en tekstbestandsverbindingen, Amazon EMR Hadoop Hive, Cloudera Hadoop, Google Spreadsheets, Hortonworks Hadoop Hive, MapR Hadoop Hive, MySQL, Oracle, PostgreSQL en Tableau-extracten. Sommige notaties zijn mogelijk niet voor alle verbindingen beschikbaar.

Opmerking: DATEPARSE wordt niet ondersteund op Hive-varianten. Alleen Denodo, Drill en Snowflake worden ondersteund.

De DATEPARSE-berekening maken

  1. Inspecteer de huidige notatie van uw datumveld. Let op waar de maanden, jaren, uren en dagen in uw veld worden weergegeven. U hebt deze informatie nodig voor de functie DATEPARSE.

    A. Dag van maand

    B. Maand

    C. Jaar

    D. Uur, minuut, seconde, milliseconde, periode

  2. Klik met uw rechtermuisknop op uw datumveld in het venster Dimensies en selecteer Maken > Berekend veld.

  3. Schrijf in het dialoogvenster de functie DATEPARSE. De functie DATEPARSE bestaat uit twee delen: de notatie en de tekenreeks. De tekenreeks is het veld dat u wilt converteren. Dit moet een tekenreeksdatatype zijn.

    A. Notatie

    B. Tekenreeks

    De indeling is de richtlijn die Tableau zal gebruiken om de tekenreeks als datum te interpreteren. Elk deel van een datum- of tijdtekenreeks heeft een bijbehorend symbool, zoals te zien is in de onderstaande tabel. De notatie moet exact overeenkomen met de manier waarop de datum wordt weergegeven. Als er bijvoorbeeld één jaarcode ('Y') wordt gebruikt terwijl de tekenreeks een 2-cijferige jaarcode heeft ('97'), kan de berekening mogelijk null-waarden opleveren.

    Opmerking: De uitzondering op de notatie die de weergegeven tekenreeks exact dupliceert, is dat lange delen van datums ('september') kunnen worden opgemaakt met vier symbolen ('september' = 'MMMM').

    De notatie moet alle spaties, streepjes en andere niet-alfanumerieke symbolen bevatten om de tekenreeks correct te kunnen interpreteren.

    Symbolen datumveld

    Gedeelte van datumSymboolVoorbeeldtekenreeksVoorbeeldnotatie
    Jaarj97, 2017jj, j of jjjj
    Jaar van 'Week van jaar'J1997J
    TijdzoneZ, z-0800, PST-08:00, PSTZ, ZZZZ, zzz
    MaandM9, 09, sep, septemberM, MM, MMM, MMMM
    Week van jaar (1-52)w8, 27w, ww
    Kwartaal van jaarQQ2, 2de kwartaalQQQ, QQQQ
    Dag van weekEMa, maandagEEE, EEEE
    Dag van maandd1, 15d, dd
    Dag van jaar (1-365)D23, 143D, DD, DDD
    Periode (ochtend of avond)aAM, am, PMaa, aaaa
    Uur (1-12), Uur (0-23)u, U1, 10, 16u, uu, UU
    Minuutm8, 59m, mm
    Seconde in een minuuts5, 05s, ss
    Fractie van secondeS2, 23, 235, 2350S, SS, SSS, SSSS
    Milliseconden per dagA34532AAAAA

    Zie Overzicht datum en tijden opmaken in de internationale componenten(Link wordt in een nieuw venster geopend) voor de Unicode-pagina voor een volledige lijst met datumsymbolen.

    Opmerking: Sommige datumopmaak wordt niet door alle databases en bestandstypen ondersteund.

  4. Controleer uw notatie aan de hand van de tekenreeks die wordt weergegeven in Tableau. Als de symbolen en notatie correct zijn, selecteert u OK om het nieuwe berekende veld te maken. Het berekende veld fungeert in uw weergave als datumveld.

Hyper-extracten

Voor .hyper-extractdatabronnen worden de symbolen gedefinieerd door het Unicode Consortium. Ga voor meer informatie naar Opmaaksyntaxis in de DATEPARSE-functie voor extractdatabronnen om een subset van veldtypen en symbolen te zien die kunnen worden gebruikt met de functie DATEPARSE in .hyper-extracten.

Overwegingen voor landinstelling

De functie DATEPARSE is afhankelijk van de landinstelling die is opgegeven door uw computerinstellingen om de tekenreeksen die u wilt converteren te interpreteren en vervolgens weer te geven. Met andere woorden: de landinstelling heeft invloed op de vraag of een bepaalde notatie kan worden herkend. Dit betekent dat als een notatie niet wordt ondersteund door de landinstelling, er mogelijk een null-waarde of geen waarde wordt geretourneerd. Stel dat u bijvoorbeeld de volgende tekenreeks in uw data hebt:

12Sep2016:9:8:8.6546

De waarden die door de functie DATEPARSE voor deze tekenreeks worden geretourneerd, verschillen per landinstelling. In de Engelse landinstelling krijgt u een bepaalde waarde, maar voor de Japanse landinstelling krijgt u geen waarde. In dit geval wordt er geen waarde geretourneerd omdat de Japanse landinstelling 'Sep' niet herkent.

Datum/tijd-waarde

Engelse landinstellingJapanse landinstelling
#9/12/2016 9:08:09 AM#-

Zoals bij alle datums zal Tableau, nadat u de functie DATEPARSE hebt gebruikt om een tekenreeks naar een datum/tijd-type te converteren, standaard de datum/tijd-waarde weergeven in de standaardnotatie van uw landinstelling. Als de landinstelling verandert, kan het resultaat van de functie DATEPARSE uw nieuwe datum/tijd-waarde in een andere notatie weergeven.

Opmerking: vanwege een Jet-beperking kan de functie DATEPARSE de landinstellingsinformatie die is opgegeven door uw computerinstellingen niet correct identificeren in extracten die zijn gemaakt op basis van Access-databronnen. U kunt dit probleem oplossen door uw Access-data naar Excel te exporteren.

Maak een berekening met de functie DATE

Als de functie DATEPARSE niet beschikbaar is voor de data waarmee u werkt of als het veld dat u probeert te converteren een getaldatatype is, kunt u in plaats daarvan de functie DATE gebruiken.

De functie DATE converteert een getal, tekenreeks of datumexpressie naar een datumtype. Wanneer u een berekening maakt die de functie DATE gebruikt, maakt Tableau een nieuw veld in uw Tableau-databron waarmee u kunt communiceren met uw datumdata als een datum. Om datumwaarden te produceren uit een getal, tekenreeks of datumexpressie met behulp van de functie DATE, moet Tableau de componenten van de tekenreeks in datumdelen kunnen interpreteren. Nadat de componenten van de datum zijn geïdentificeerd, gebruikt Tableau de landinstelling van de computer om de standaardnotatie van de datum te bepalen.

Stel bijvoorbeeld dat de tabel waarmee u werkt een kolom met datumdata bevat met de naam 'Originele datum'.De kolom 'Originele datum' is een tekenreekstype.

Originele datum
03Jan2017
05Jan2017
07Mar2017
19Mar2017
30Apr2017

In dit geval kunt u een berekend veld maken met de naam 'Nieuwe datum', dat een expressie in een functie DATE gebruikt om de tekenreekswaarden in het veld 'Originele datum' te converteren naar datumwaarden.

Voor dit voorbeeld bestaat de datumexpressie uit de functie LEFT om de dagcomponent te isoleren, de functie MID om de maandcomponent te isoleren en de functie RIGHT om de jaarcomponent te isoleren.

DATE (LEFT([Original Date], 2) + "/" + MID([Original Date],3,3) + "/" + RIGHT([Original Date],4))

De berekening 'Nieuwe datum' levert de volgende kolom op:

Nieuwe datum

1/3/2017
1/5/2017
3/7/2017
3/19/2017
4/30/2017

In dit voorbeeld zijn de nieuwe datumwaarden gebaseerd op een Engelse landinstelling en standaardnotatie.

Zie ook

Aangepaste datumopmaak(Link wordt in een nieuw venster geopend)

Datums opmaken met weken en jaren volgens ISO-8601(Link wordt in een nieuw venster geopend)

Datumfuncties(Link wordt in een nieuw venster geopend)

Alle functies (per categorie): Datum(Link wordt in een nieuw venster geopend)

De functie STR() negeert de standaardnotatie voor datum en getal(Link wordt in een nieuw venster geopend) (Tableau-knowledgebase)

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