KNOWLEDGE BASE

Funktionen NOW() und TODAY() geben Datumsangaben in einer unerwarteten Zeitzone zurück.


Veröffentlicht: 04 Mar 2013
Zuletzt geändert am: 23 Oct 2023

Problem

Durch Verwendung der Funktion NOW() oder TODAY() in einem berechneten Feld gibt Tableau Desktop die Zeit in einer anderen Zeitzone zurück bzw. durch Verwendung eines relativen Datenfilters wird das Datum in einer anderen Zeitzone gezeigt.

Umgebung

  • Tableau Desktop
  • PostgreSQL
  • Tableau Server Repository (PostgreSQL-Datenbank)
  • Amazon Redshift
  • Live-Verbindung zu Datenquelle, die auf dem Computer gehostet wird, in anderer Zeitzone

Lösung

Option 1:

Verwenden Sie einen Extrakt. Weitere Informationen finden Sie unter Extrahieren von Daten.


Option 2:

Beziehen Sie die DATEADD()-Funktion mit ein, um die Zeitzonenverschiebung zu berücksichtigen.
Beispiel 1:
  • Zur Konvertierung von UTC in PST (Pacific Standard Time), kann die Formel: NOW()
  • in Folgendes geändert werden:DATEADD('hour', -8, NOW())

Hinweis: Während der Sommerzeit beträgt die Zeitverschiebung zwischen UTC und PDT -7 Stunden.

Beispiel 2:

So wandeln Sie UTC in PST (Pazifische Standardzeit) für einen relativen Datumsfilter um:

  1. Entfernen Sie den Datumsfilter aus dem Filter-Container.
  2. Wählen Sie Analyse > Berechnetes Feld erstellen.
  3. Daraufhin öffnet sich das Dialogfeld "Berechnetes Feld". Gehen Sie dort wie folgt vor und klicken Sie dann auf OK:
    • Geben Sie dem berechneten Feld einen Namen. In diesem Beispiel heißt das berechnete Feld "Filter für die letzten 3 Tage".
    • Erstellen Sie im Formelfeld eine Berechnung ähnlich der folgenden:

      [Date Field] >= DATEADD('day', -3, DATEADD( 'hour', -8, TODAY() ) )

  4. Ziehen Sie [Filter für die letzten 3 Tage] in den Container Filter.
  5. Wählen Sie im Dialogfeld "Filter" die Option "Wahr" aus, und klicken Sie auf OK.

 

Ursache

Bei der Live-Verbindung fragt Tableau Desktop die Datenquelle für NOW() oder TODAY() an. Wird die Datenquelle auf einem Computer in einer anderen Zeitzone gehostet, gibt die Datenquelle die Zeit unter Umständen in dieser Zeitzone zurück.

Direktverbindungen zu Redshift und PostgreSQL geben aufgrund von Inkonsistenzen dahingehend, wie diese Datenquellen Datum/Uhrzeit und Zeitzonenverschiebungen verarbeiten, standardmäßig die UTC-Zeit zurück.

 

Zusätzliche Informationen

Wenn Sie die Einbettung dieser Verbesserung bei zukünftigen Produktversionen unterstützen möchten, stimmen Sie in der folgenden Community-Idee dafür: Konversionsunterstützung Zeitzone.

Hat dieser Artikel das Problem gelöst?