In Oracle Analytics legen Administratoren die Standardzeitzone für Datums- und Uhrzeitberechnungen in den Systemeinstellungen fest. Diese globale Einstellung gilt für alle Berechnungen. Wenn Sie einen anderen Zeitstempel in einer bestimmten Berechnung verwenden möchten, können Sie die gewünschte Zeitzone mit der TIMESTAMPADD
-Funktion angeben.
Standardzeitzone für Berechnungen in den Systemeinstellungen festlegen
CURRENT_DATE
CURRENT_TIME()
CURRENT_TIMESTAMP()
NOW()
Administratoren können den in Berechnungen verwendeten Zeitstempel in der Konsole unter Systemeinstellungen mit der Option Standardzeitzone für Datumsberechnungen ändern. Wählen Sie die gewünschte Zeitzone im Dropdown-Menü aus, und wenden Sie die Änderungen an, damit der neue Wert in Kraft tritt.
.jpg
Weitere Informationen zu globalen Zeitzoneneinstellungen finden Sie unter Systemeinstellungen - Formatoptionen.
Spezifische Zeitzone für Zeitstempel in Berechnungen verwenden
Um einen anderen Zeitstempel als die Systemeinstellung in Ihren Berechnungen zu generieren, verwenden Sie die TIMESTAMPADD
-Funktion zusammen mit CURRENT_TIMESTAMP()
oder NOW()
. Die einfache TIMESTAMPADD
-Berechnung lautet wie folgt:
TIMESTAMPADD(SQL_TSI_<<interval>>, <<integer expression>>, <<timestamp expression>>)
Bei Zeitstempelberechnungen ist HOUR das Intervall. Der Zeitversatz ist die Differenz in Stunden zwischen UTC und der gewünschten Zeitzone. Beispiel:
TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP(5))
Diese Berechnung gibt den aktuellen Zeitstempel in US Mountain Time zurück. Die neue Zeitstempelspalte kann als abgeleitete Spalte in der logischen Tabellenquelle erstellt oder direkt der Datenbank zugeordnet werden. Der Unterschied liegt hierbei darin, wo die Berechnung ausgeführt werden soll: Oracle Analytics oder Datenbank. In diesem Beispiel wird die Berechnung direkt der Datenbank zugeordnet:
Falls die Standardzeitzone auf UTC gesetzt ist, gibt die CURRENT_DATE
-Funktion für bestimmte Stunden am Tag relativ zur Zeitzone eines Benutzers nicht das richtige Datum zurück. Beispiel: Um Mitternacht UTC entspricht das lokale Datum während der Dauer des Zeitversatzes nicht dem UTC-Datum.
Dieses Problem können Sie durch Konvertieren der Zeitstempelberechnung in ein Datum lösen. Beispiel:
cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)
In diesem Beispiel wird die Berechnung als abgeleitete Spalte erstellt:
Für einmalige Berichte können Sie Zeitstempelberechnungen auf Berichtsebene in einer Datenvisualisierung oder klassischen Analyse erstellen. Wenn Sie die Berechnungen wiederverwenden möchten, bietet es sich oft an, sie als Spalten im semantischen Modell (oder in der RPD-Datei) zu definieren.
Weitere Informationen zu den in diesem Thema genannten Funktionen finden Sie unter Uhrzeit- und Datumsfunktionen und Zeitreihenfunktionen.