In Looker können zeitbasierte Daten durch die Umwandlung in verschiedene Zeitzonen leichter verständlich gemacht werden. Nutzer können Abfrageergebnisse sehen und Filter mit zeitbasierten Daten erstellen, die in ihre lokalen Zeitzonen konvertiert werden. Ein Nutzer in New York, der sich Daten ansieht, die in Kalifornien erstellt wurden, muss beispielsweise nicht manuell drei Stunden abziehen, um seine Abfragen zu filtern oder zu interpretieren.
Looker wandelt zeitbezogene Daten um, wenn es SQL generiert, während eine Abfrage für einen Look, ein Explore oder ein Dashboard ausgeführt wird. Die zugrunde liegenden Daten sind davon nicht betroffen. Die Abfrageergebnisse werden vielmehr anhand der Zeitzoneneinstellungen von Looker konvertiert. Das bedeutet auch, dass zeitbezogene Daten bei Abfragen, die mit SQL Runner ausgeführt werden, nicht konvertiert werden.
In Looker gibt es mehrere Einstellungen, mit denen sich die Umwandlung von zeitbezogenen Daten festlegen lässt:
- Systemzeitzone
- Zeitzone der Datenbank
- Nutzerspezifische Zeitzonen
- Zeitzone der Anwendung
- Zeitzone der Abfrage
convert_tz
LookML-Parametersql
LookML-Parameter
Systemzeitzone
Die Systemzeitzone ist die Zeitzone, für die der Server konfiguriert ist, auf dem Looker ausgeführt wird. In der internen Datenbank von Looker, in der die Informationen in den Explores i__looker
und Systemaktivität gespeichert sind, werden zeitbasierte Daten in der Systemzeitzone gespeichert.
Die Systemzeitzone kann nicht über die Looker-Anwendung konfiguriert werden. Bei von Looker gehosteten Instanzen ist die Systemzeitzone immer auf UTC festgelegt. Von Kunden gehostete Instanzen befinden sich möglicherweise in einer anderen Systemzeitzone. Das Ändern der Systemzeitzone ist nicht trivial und wird nicht empfohlen. Wenn Sie Zeitstempel in einem i__looker
oder einem Explore für Systemaktivitäten anpassen möchten, empfiehlt Looker, Tabellenberechnungen zu verwenden, um zeitbezogene Spalten zu erstellen. Wenn Sie beispielsweise von UTC in EST umrechnen möchten, können Sie eine Spalte mit der Tabellenberechnung add_hours(-5, ${time})
erstellen.
Zeitzone der Datenbank
Wenn Sie eine Verbindung zu einer Datenbank hinzufügen, legen Sie den Wert für die Datenbankzeitzone auf der Seite Verbindungseinstellungen fest.
Diese Einstellung entspricht der Zeitzone Ihrer Datenbank, in der Regel der koordinierten Weltzeit (UTC). Wenn Sie für diesen Wert einen anderen Wert als die Zeitzone Ihrer Datenbank festlegen, kann dies zu unerwarteten Ergebnissen führen.
nutzerspezifische Zeitzone
Die wichtigste Einstellung für die zeitbasierte Datenkonvertierung ist die Option Nutzerspezifische Zeitzonen. Sie finden sie in Looker auf der Seite Allgemeine Einstellungen im Bereich Verwaltung.
Sie können nutzerspezifische Zeitzonen aktivieren oder deaktivieren:
- Wenn diese Option aktiviert ist, wird jedem Looker-Nutzer eine Zeitzone zugewiesen. Diese Zeitzone bestimmt die Darstellung der Abfrageergebnisse.
- Wenn diese Option deaktiviert ist, sind den Konten der Nutzer keine individuellen Zeitzonen zugewiesen. Stattdessen werden alle Abfragen mit dem Wert Zeitzone der Abfrage ausgeführt.
Wenn Nutzerspezifische Zeitzonen aktiviert ist, können Nutzer ihre Zeitzone auf der Seite Konto festlegen. Looker-Administratoren können Nutzern auf der Seite Nutzer Zeitzonen zuweisen. Wenn für einen Nutzer keine Zeitzone festgelegt ist, wird für sein Konto standardmäßig die Looker-Einstellung Application Time Zone (Zeitzone der Anwendung) verwendet.
Wenn ein Nutzer eine Suchanfrage erstellt, wird diese in der Zeitzone des Nutzers erstellt. Wenn eine Abfrage also zeitbezogene Daten zurückgibt, wandelt Looker die Daten von der Zeitzone der Datenbank in die Zeitzone des Nutzers um. Wenn ein Nutzer zeitbezogene Filterwerte in einer Abfrage verwendet, wandelt Looker die Filterwerte in die Zeitzone der Datenbank um.
Wenn Sie diese Option aktivieren, wird in Looker in Explores und Looks das Drop-down-Menü Zeitzone angezeigt.
Folgende Optionen sind verfügbar:
- Zeitzone der einzelnen Kacheln (nur Dashboards): Alle Abfragen werden in der Zeitzone ausgeführt, in der sie gespeichert wurden.
- Zeitzone des Betrachters: Alle Abfragen werden in der aktuellen Zeitzone des Nutzers ausgeführt.
- Eine Liste aller einzelnen Zeitzonen, die Nutzer bei Bedarf manuell auswählen können.
Für alle Abfragen wird standardmäßig die Zeitzone verwendet, in der die Abfrage erstellt wurde. Wenn Alice also eine Abfrage mit der Zeitzone „America/Los Angeles“ erstellt und an Bob sendet, sieht Bob die Abfrage mit der Zeitzone „America/Los Angeles“, auch wenn seine Zeitzone auf „America/New York“ festgelegt ist. Für die Aufschlüsselung wird standardmäßig immer die Zeitzone verwendet, in der die Abfrage erstellt wurde.
Wenn Nutzer eine Abfrage aufrufen, können sie die Zeitzone über das Drop-down-Menü überschreiben. Dazu wählen sie ihre Zeitzone oder eine andere Zeitzone für diese Abfrage oder die Abfragen des Dashboards aus.
Hinweise zu nutzerspezifischen Zeitzonen
Wenn Sie Nutzerspezifische Zeitzonen aktivieren, sehen Nutzer in verschiedenen Zeitzonen möglicherweise unterschiedliche Daten.
Beispielsweise unterscheiden sich die genauen Stunden, aus denen der Zeitraum last month
besteht, je nach Zeitzone. Daher sehen Nutzer möglicherweise unterschiedliche Datenwerte, wenn sie sich in verschiedenen Zeitzonen befinden, aber beide nach last month
filtern.
Zeitzone der Anwendung
Die Einstellung Zeitzone der Anwendung kann in Looker auf der Seite Allgemeine Einstellungen im Bereich Verwaltung konfiguriert werden.
Die Zeitzone der Anwendung ist die Standardzeitzone für Inhaltsübermittlungen. Die für die Datenübermittlung verwendete Zeitzone hat keinen Einfluss auf die zeitbasierten Daten, die von einer Abfrage zurückgegeben werden. Sie wirkt sich nur auf den Zeitpunkt aus, zu dem eine Datenübermittlung gesendet wird.
Wenn Sie die Option Nutzerspezifische Zeitzonen aktivieren, ist die Zeitzone der Anwendung die Standardzeitzone für Nutzer, für deren Konten kein Zeitzonenwert festgelegt ist.
Zeitzone der Abfrage
Die Option Zeitzone der Abfrage wird nur angezeigt, wenn Sie Nutzerspezifische Zeitzonen deaktiviert haben. In diesem Fall legen Sie den Wert für die Zeitzone für Abfragen fest, wenn Sie auf der Seite Verbindungseinstellungen eine Verbindung zu einer Datenbank hinzufügen.
Wenn Sie Nutzerspezifische Zeitzonen deaktivieren,wird für alle Abfragen mit zeitbasierten Daten die Zeitzone der Abfrage verwendet. Looker wandelt dann alle zeitbasierten Daten aus der Zeitzone der Datenbank in die Zeitzone der Abfrage um.
convert_tz
LookML-Parameter
In Looker erfolgt standardmäßig eine Zeitzonenumwandlung. Wenn Sie die Zeitzonenumwandlung für ein einzelnes Feld deaktivieren möchten, können Sie den LookML-Parameter convert_tz
verwenden. Beispiel:
dimension_group: created {
type: time
timeframes: [time, date]
convert_tz: no
}
Weitere Informationen finden Sie auf der Seite mit der Parameterdokumentation zu convert_tz
.
sql
LookML-Parameter
Sie können die Zeitzonenkonvertierung auch manuell mit den Funktionen Ihres Datenbankdialekts im Parameter sql
in einer LookML-Dimension definieren. Wenn Sie die Zeitzonenkonvertierung beispielsweise manuell in MySQL definieren möchten, können Sie die folgende LookML verwenden:
dimension_group: created {
type: time
timeframes: [time, date]
sql: CONVERT_TZ(${TABLE}.created_at,'UTC','PST') ;;
}
Hinweise zum MySQL-Dialekt
Für MySQL ist eine Zeitzonentabelle erforderlich, damit die Zeitzonenkonvertierungsfunktion funktioniert. Dies kann von einem Administrator ausgeführt werden. Weitere Informationen finden Sie in der MySQL-Dokumentation.
Hinweise zum Postgres-Dialekt
Looker verwendet die Treibereinstellung, um die Zielzeitzone auszuwählen. Dies kann sich darauf auswirken, wie Abfragen in SQL Runner im Vergleich zu pgAdmin verarbeitet werden, da in Looker das aktuelle Datum und die aktuelle Uhrzeit in der ausgewählten Zeitzone verwendet werden.
Unterstützung von Datenbankdialekten für die Zeitzonenumwandlung
Damit Looker Zeitzonen in Ihrem Looker-Projekt konvertieren kann, muss Ihr Datenbankdialekt die Zeitzonenkonvertierung unterstützen. In der folgenden Tabelle ist zu sehen, welche Dialekte die Zeitzonenkonvertierung in der aktuellen Looker-Version unterstützen:
Dialekt | Unterstützt? |
---|---|
Actian Avalanche | Nein |
Amazon Athena | Ja |
Amazon Aurora MySQL | Ja |
Amazon Redshift | Ja |
Apache Druid | Nein |
Apache Druid 0.13 oder höher | Ja |
Apache Druid 0.18 und höher | Ja |
Apache Hive 2.3 und höher | Ja |
Apache Hive 3.1.2 und höher | Ja |
Apache Spark 3 und höher | Ja |
ClickHouse | Nein |
Cloudera Impala 3.1 und höher | Ja |
Cloudera Impala 3.1 und höher mit nativem Treiber | Ja |
Cloudera Impala mit nativem Treiber | Ja |
DataVirtuality | Nein |
Databricks | Ja |
Denodo 7 | Nein |
Denodo 8 | Nein |
Dremio | Ja |
Dremio 11 und höher | Ja |
Exasol | Nein |
Firebolt | Nein |
Google BigQuery Legacy SQL | Nein |
Google BigQuery Standard SQL | Ja |
Google Cloud PostgreSQL | Ja |
Google Cloud SQL | Ja |
Google Spanner | Ja |
Greenplum | Ja |
HyperSQL | Nein |
IBM Netezza | Ja |
MariaDB | Ja |
Microsoft Azure PostgreSQL | Ja |
Microsoft Azure SQL-Datenbank | Ja |
Microsoft Azure Synapse Analytics | Ja |
Microsoft SQL Server 2008 und höher | Nein |
Microsoft SQL Server 2012 und höher | Nein |
Microsoft SQL Server 2016 | Ja |
Microsoft SQL Server 2017 und höher | Ja |
MongoBI | Nein |
MySQL | Ja |
MySQL 8.0.12 und höher | Ja |
Oracle | Ja |
Oracle ADWC | Ja |
PostgreSQL 9.5 und höher | Ja |
PostgreSQL vor Version 9.5 | Ja |
PrestoDB | Ja |
PrestoSQL | Ja |
SAP HANA 2 und höher | Nein |
SingleStore | Ja |
SingleStore 7+ | Ja |
Snowflake | Ja |
Teradata | Nein |
Trino | Ja |
Vektor | Nein |
Vertica | Ja |