Konvertera ett fält till ett datumfält

Varje databas lagrar datumfält på något olika sätt. Tableau gör sitt bästa för att tolka datumfälten, men ibland importeras ett fält till Tableau som en textsträng eller ett numeriskt fält. Om detta sker kan du vidta några åtgärder för att lösa problemet.

Verifiera datumfält

Ett datumfält kan visas som en sträng
på sidan Datakälla

 

Eller som en sträng i rutan Data

 

När datum tolkas som strängar förlorar du alla funktioner och bekvämligheten med att arbeta med datumfält, t.ex. gå nedåt, använda datumberäkningar och växla mellan kontinuerliga och diskreta åtgärder.

Om datumen inte tolkas på rätt sätt vidtar du följande åtgärder:

  1. Ändra fältets datatyp

  2. Skapa en beräkning med funktionen DATEPARSE

  3. Skapa en beräkning med funktionen DATE

Ändra fältets datatyp

Det första steget för att lösa ett problem med tolkning av datumfält är att se till att datatypen är inställd på Datum eller Datum och tid.

  1. I rutan Datakälla eller Data klickar du på datatypikonen och ändrar datatypen till Datum eller Datum och tid

  2. Kontrollera data i vyn eller rutan Datakälla. Om du ser många null-värden returnerar du datatypen till Sträng och fortsätt för att Skapa en beräkning med funktionen DATEPARSE för att korrigera problemet.

    Null-värden som visas på skärmen Datakälla.

Skapa en beräkning med funktionen DATEPARSE

Datum lagras i ett nästan oändligt antal format. Vissa datumfält har år före månader, andra separerar delar av datumet med punkter och andra använder en kombination av olika format. När Tableau inte kan tolka ett datumfält kan det bero på att det aktuella formatet inte kan översättas.

Med funktionen DATEPARSE kan du tydligt definiera vilka delar av fältet som är vilka delar av ett datum. I huvudsak skapar du en karta som Tableau kan använda för att översätta strängen till ett datumfält. Denna karta kallas formatet.

Obs! Den här funktionen är tillgänglig via följande kopplingar: kopplingar för textfiler och Excel (ej äldre), Amazon EMR Hadoop Hive, Cloudera Hadoop, Google Kalkylark, Hortonworks Hadoop Hive, MapR Hadoop Hive, MySQL, Oracle, PostgreSQL och extrakt i Tableau. Vissa format kanske inte är tillgängliga för alla kopplingar.

Obs! DATEPARSE stöds inte med Hive-varianter. Endast Denodo, Drill och Snowflake stöds.

Skapa beräkningen DATEPARSE

  1. Kontrollera det aktuella formatet på datumfältet. Notera var månader, år, timmar och dagar visas i ditt fält. Du behöver denna information till funktionen DATEPARSE.

    A. Dag i månaden

    B. Månad

    C. År

    D. Timme, minut, sekund, millisekund, period

  2. Högerklicka på datumfältet i rutan Dimensioner och välj Skapa > Beräknat fält.

  3. Skriv funktionen DATEPARSE i dialogrutan. Funktionen DATEPARSE består av två delar: formatet och strängen. Sträng är ett fält du vill konvertera, vilket måste vara en strängdatatyp.

    A. Format

    B. Sträng

    Formatet är guiden som Tableau kommer att använda för att tolka strängen som ett datum. Varje del av en datum- eller tidssträng har en matchande symbol som visas i tabellen nedan. Formatet måste exakt duplicera sättet som datumet visas på. Om till exempel en enda årskod (”Y”) används när strängen har en tvåsiffrig årskod (”97”) kan beräkningen returnera null-värden.

    Obs! Undantaget från formatet som exakt duplicerar den visade strängen är att långa delar av datum (”September”) kan formateras med fyra symboler (”September” = ”MMMM”).

    Formatet måste innehålla alla mellanslag, bindestreck och andra icke-alfanumeriska symboler för att strängen ska tolkas korrekt.

    Symboler för datumfält

    DatumdelSymbolExempelsträngExempelformat
    Åry97, 2017åå, å eller åååå
    År för ”Veckan på året”Y1997Y
    TidszonZ, z-0800, PST-08:00, PSTZ, ZZZZ, zzz
    MånadM9, 09, sep, septemberM, MM, MMM, MMMM
    Vecka på året (1–52)w8, 27w, ww
    Kvartal på åretQQ2, 2:a kvartaletQQQ, QQQQ
    VeckodagEMån, måndagEEE, EEEE
    Dag i månadend1, 15d, dd
    Dag på året (1-365)D23, 143D, DD, DDD
    Period (am/pm-markör)aAM, am, PMaa, aaaa
    Timme (1–12), timme (0–23)h, H1, 10, 16h, hh, HH
    Minutm8, 59m, mm
    Sekund om en minuts5, 05s, ss
    Bråkdel av en sekundS2, 23, 235, 2350S, SS, SSS, SSSS
    Millisekunder i dagA34532AAAAA

    För en mer fullständig lista över datumsymboler, se Översikt över formatering av datum och tider över de internationella komponenterna(Länken öppnas i ett nytt fönster) för sidan Unicode.

    Obs! Vissa datumformat stöds inte av alla databaser och filtyper.

  4. Kontrollera ditt format mot strängen som visas i Tableau. Om symbolerna och formateringen är korrekta väljer du OK för att skapa det nya beräknade fältet. Det beräknade fältet fungerar som ett datumfält i vyn.

Hyper-extrakt

För datakällor för .hyper-extrakt definieras symbolerna av Unicode Consortium. Mer information finns i Formatera syntax i funktionen DATEPARSE för att extrahera datakällor för att se en delmängd av fälttyper och symboler som kan användas med funktionen DATEPARSE i .hyper-extrakt.

Lokala överväganden

Funktionen DATEPARSE använder den språkversion som anges av datorinställningarna för att tolka och visar sedan de strängar du vill konvertera. Mer specifikt kommer språkversionen att påverka om ett visst format känns igen. Detta innebär att om ett format inte stöds av språkversion kan du se ett null-värde eller inget värde som returneras. Anta till exempel att du har följande sträng i dina data:

12Sep2016:9:8:8.6546

Värdena som returneras från funktionen DATEPARSE för den här strängen skiljer sig beroende på språkversion. På engelska får du ett visst värde, men på japanska får du inget värde. I detta fall returneras inget värde eftersom den japanska språkversionen inte känner igen ”Sep.”

Datum/tidsvärde

Engelsk språkversionJapansk språkversion
#9/12/2016 9:08:09 AM#-

Precis som med alla datum kommer den standardinställda Tableau att visa datum-/tidvärde i standardformatet för din språkversion efter att du har använt funktionen DATEPARSE för att konvertera en sträng till typen datum/tid. Om lokaliseringen ändras kan resultatet av funktionen DATEPARSE visa ditt nya datum-/tidvärde i ett annat format.

Obs! På grund av en Jet-begränsning kan funktionen DATEPARSE inte korrekt identifiera information om språkversion som angetts av datorinställningarna i extrakt som skapats från Access-datakällor. För att lösa problemet kan du överväga att exportera dina Access-data till Excel.

Skapa en beräkning med funktionen DATE

Om funktionen DATEPARSE inte är tillgänglig för de data som du arbetar med, eller om fältet du försöker konvertera är av typen nummerdata kan du istället använda funktionen DATE.

Funktionen DATE konverterar ett tal, en sträng eller ett datumuttryck till en datumtyp. När du skapar en beräkning som använder funktionen DATE skapar Tableau ett nytt fält i datakällan Tableau som gör att du kan interagera med datumdata som ett datum. För att Tableau ska kunna skapa datumvärden från ett tal, en sträng eller ett datumuttryck med hjälp av funktionen DATE måste den kunna tolka strängens komponenter i datumdelar. När datumets komponenter har identifierats använder Tableau datorns språkversion för att bestämma standardformatet på datumet.

Anta till exempel att tabellen du arbetar med innehåller en kolumn med datumdata som kallas ”Ursprungligt datum”. Kolumnen ”Ursprungligt datum” är en strängtyp.

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

I det här fallet kan du skapa ett beräknat fält som kallas ”Nytt datum” som använder ett uttryck i funktionen DATE för att omvandla strängvärdena i fältet ”Ursprungligt datum” till datumvärden.

I det här exemplet består datumuttrycket av funktionen LEFT för att isolera dagkomponenten, funktionen MID för att isolera månadskomponenten och funktionen RIGHT för att isolera årskomponenten.

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

Beräkningen ”Nytt datum” ger följande kolumn:

Nytt datum

2017-03-01
2017-01-05
2017-03-07
2017-03-19
2017-04-30

I det här exemplet baseras de nya datumvärdena på engelsk språkversion och standardformatering.

Se även

Anpassade datumformat(Länken öppnas i ett nytt fönster)

Formatera datum med ISO-8601 för veckor och år(Länken öppnas i ett nytt fönster)

Datumfunktioner(Länken öppnas i ett nytt fönster)

Alla funktioner (efter kategori): Datum(Länken öppnas i ett nytt fönster)

STR()-funktionen ignorerar standarddatum och nummerformatering ((Länken öppnas i ett nytt fönster) Tableaus kunskapsbas)

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