Looker kann zeitbasierte Daten durch Konvertierung in verschiedene Zeitzonen leichter verständlich machen. Nutzer können Abfrageergebnisse ansehen und Filter mit zeitbasierten Daten erstellen, die in ihre lokale Zeitzone konvertiert werden. So muss z. B. ein Nutzer in Hamburg, der in Kalifornien erstellte Daten ansieht, keine drei Stunden manuell abgezogen haben, um seine Suchanfragen zu filtern oder zu interpretieren.
Looker wandelt zeitbasierte Daten um, wenn es während einer Abfrage für einen Look, ein Explore oder Dashboard SQL generiert. Die zugrunde liegenden Daten sind davon nicht betroffen. Stattdessen werden die Abfrageergebnisse unter Verwendung der Zeitzoneneinstellungen von Looker konvertiert. Dies bedeutet auch, dass mit SQL Runner ausgeführte Abfragen keine zeitbasierten Daten umwandeln.
Verschiedene Einstellungen in Looker geben an, wie zeitbasierte Daten konvertiert werden:
- Systemzeitzone
- Datenbank-Zeitzone
- 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. Die interne Datenbank von Looker, in der die in den i__looker
- und Systemaktivitäts-Explores verfügbaren Informationen gespeichert werden, speichert zeitbasierte Daten in der Systemzeitzone.
Die Systemzeitzone kann nicht über die Looker-Anwendung konfiguriert werden. Bei von Looker gehosteten Instanzen ist die Systemzeitzone immer auf UTC eingestellt. Vom Kunden gehostete Instanzen können sich in einer anderen Systemzeitzone befinden. Das Ändern der Systemzeitzone ist einfach und wird nicht empfohlen. Wenn Sie Zeitstempel in einem i__looker
- oder Systemaktivitäts-Explore anpassen müssen, empfiehlt Looker, Tabellenkalkulationen zu verwenden, um zeitangepasste Spalten zu erstellen. Zur Umwandlung von UTC in EST könnten Sie beispielsweise eine Spalte mit der Tabellenkalkulation 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 steht für die Zeitzone, in der sich Ihre Datenbank befindet. Dies ist in der Regel Coordinated Universal Time (UTC). Wenn Sie diesen Wert auf einen anderen Wert als die Zeitzone festlegen, in der sich Ihre Datenbank befindet, kann dies zu unerwarteten Ergebnissen führen.
Nutzerspezifische Zeitzonen
Die wichtigste Einstellung für die zeitbasierte Datenkonvertierung ist die Option Nutzerspezifische Zeitzonen. Sie finden sie in Looker im Bereich Admin auf der Seite Allgemeine Einstellungen.
Sie können nutzerspezifische Zeitzonen aktivieren oder deaktivieren:
- Wenn diese Option aktiviert ist, wird jedem Looker-Benutzer eine Zeitzone zugewiesen, und diese Zeitzone legt das Aussehen der Abfrageergebnisse fest.
- Wenn diese Option deaktiviert ist, können Nutzer ihren Konten keine individuellen Zeitzonen zugewiesen werden. Stattdessen werden alle Abfragen mit dem Wert Abfragezeitzone ausgeführt.
Wenn Nutzerspezifische Zeitzonen aktiviert sind, können Nutzer ihre Zeitzone auf der Seite Konto festlegen oder 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 Anwendungszeitzone verwendet.
Wenn ein Nutzer eine Suchanfrage erstellt, wird diese in der Zeitzone des Nutzers erstellt. Wenn eine Abfrage zeitbasierte Daten zurückgibt, konvertiert Looker die Daten daher aus der Datenbankzeitzone in die Zeitzone des Nutzers. Wenn ein Nutzer in einer Abfrage zeitbezogene Filterwerte verwendet, konvertiert Looker die Filterwerte in die Zeitzone der Datenbank.
Wenn Sie diese Option aktivieren, zeigt Looker außerdem unter Explores und Looks das Drop-down-Menü Zeitzone an.
In diesem Drop-down-Menü sind folgende Optionen verfügbar:
- Zeitzone der einzelnen Tiles (nur Dashboards): Alle Abfragen werden in der Zeitzone ausgeführt, in der sie gespeichert wurden.
- Zeitzone des Nutzers: Alle Abfragen werden in der aktuellen Zeitzoneneinstellung des Nutzers ausgeführt.
- Eine Liste jeder einzelnen Zeitzone, die Nutzer bei Bedarf manuell auswählen können.
Für alle Abfragen wird standardmäßig die Zeitzone verwendet, mit der die Abfrage erstellt wurde. Mit anderen Worten: Wenn Alice eine Abfrage mit der Zeitzone „Amerika/Los Angeles“ erstellt und sie an Bob sendet, sieht Bob die Abfrage mit der Zeitzone „Amerika/Los Angeles“, auch wenn Bens Zeitzone auf „Amerika/New York“ eingestellt ist. Analog dazu wird bei Aufschlüsselungen standardmäßig immer die Zeitzone verwendet, mit der die Abfrage erstellt wurde.
Bei jeder Ansicht einer Abfrage können Nutzer die Zeitzone über das Drop-down-Menü überschreiben und ihre Zeitzone des Betrachters oder eine andere Zeitzone für diese Abfrage oder die Abfragen in diesem Dashboard auswählen.
Wichtige Hinweise zu nutzerspezifischen Zeitzonen
Wenn Sie die Option Nutzerspezifische Zeitzonen aktivieren, werden Nutzern in verschiedenen Zeitzonen die Daten möglicherweise anders angezeigt.
Beispielsweise unterscheiden sich die genauen Stunden des Zeitraums last month
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 im Bereich Admin auf der Seite Allgemeine Einstellungen konfiguriert werden.
Die Zeitzone der Anwendung ist die Standardzeitzone für die Bereitstellung von Inhalten. Die Zeitzone, die für Inhaltsübermittlungen verwendet wird, wirkt sich nicht auf die von einer Abfrage zurückgegebenen zeitbasierten Daten aus. Sie wirkt sich nur auf die Zeit aus, zu der eine Datenlieferung gesendet wird.
Wenn Sie die Option Nutzerspezifische Zeitzonen aktivieren, wird die Anwendungszeitzone als Standardzeitzone für Nutzer verwendet, die für ihre Konten keinen Zeitzonenwert festgelegt haben.
Zeitzone der Abfrage
Die Option Zeitzone abfragen wird nur angezeigt, wenn Sie Nutzerspezifische Zeitzonen deaktiviert haben. In diesem Fall legen Sie den Wert für die Zeitzone der Abfrage fest, wenn Sie auf der Seite Verbindungseinstellungen eine Verbindung zu einer Datenbank hinzufügen.
Wenn Sie die Option Nutzerspezifische Zeitzonen deaktivieren,wird bei allen Abfragen von zeitbasierten Daten die Zeitzone der Abfrage verwendet und Looker wandelt alle zeitbasierten Daten von der Datenbankzeitzone in die Zeitzone der Abfrage um.
LookML-Parameter convert_tz
Looker führt standardmäßig eine Zeitzonenkonvertierung durch. Um die Zeitzonenkonvertierung für ein einzelnes Feld zu deaktivieren, 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 Dokumentationsseite zum Parameter convert_tz
.
LookML-Parameter sql
Sie können die Zeitzonenkonvertierung auch manuell mithilfe der Funktionen Ihres Datenbankdialekts innerhalb des Parameters sql
in einer LookML-Dimension definieren. Beispielsweise können Sie den folgenden LookML-Code verwenden, um die Zeitzonenkonvertierung in MySQL manuell zu definieren:
dimension_group: created {
type: time
timeframes: [time, date]
sql: CONVERT_TZ(${TABLE}.created_at,'UTC','PST') ;;
}
MySQL-Dialekthinweise
MySQL benötigt eine Zeitzonentabelle, bevor die Zeitzonenkonvertierungsfunktion funktioniert. Dies kann von einem Administrator ausgeführt werden. Weitere Informationen finden Sie in der MySQL-Dokumentation.
Postgres-Dialektnotizen
Looker verwendet die Treibereinstellung, um die Zielzeitzone auszuwählen. Dies kann sich auf die Verarbeitung von Abfragen in SQL Runner im Vergleich zu pgAdmin auswirken, da Looker das aktuelle Datum/Uhrzeit in der ausgewählten Zeitzone verwendet.
Unterstützung des Datenbankdialekts für die Zeitzonenkonvertierung
Damit Looker Zeitzonen in Ihrem Looker-Projekt konvertieren kann, muss Ihr Datenbankdialekt die Zeitzonenkonvertierung unterstützen. Die folgende Tabelle zeigt, welche Dialekte die Zeitzonenkonvertierung in der neuesten Version von Looker unterstützen:
Dialekt | Unterstützt? |
---|---|
Lawine Actian | Nein |
Amazon Athena | Ja |
Amazon Aurora MySQL | Ja |
Amazon Redshift | Ja |
Apache Druid | Nein |
Apache Druid 0.13 und höher | Ja |
Apache Druid 0.18 und höher | Ja |
Apache Hive 2.3+ | Ja |
Apache Hive 3.1.2+ | Ja |
Apache Spark 3 und höher | Ja |
ClickHouse | Nein |
Cloudera Impala 3.1+ | Ja |
Cloudera Impala 3.1+ mit nativem Treiber | Ja |
Cloudera Impala mit nativem Fahrer | Ja |
DataVirtuality | Nein |
Databricks | Ja |
Denodo 7 | Nein |
Denodo 8 | Nein |
Dremio | Ja |
Dremio 11+ | Ja |
Exasol | Nein |
Firebolt | Nein |
Legacy-SQL von Google BigQuery | Nein |
Google BigQuery-Standard-SQL | Ja |
Google Cloud PostgreSQL | Ja |
Google Cloud SQL | Ja |
Google Spanner | Ja |
Grünpflaumen | Ja |
HyperSQL | Nein |
IBM Netezza | Ja |
MariaDB | Ja |
Microsoft Azure PostgreSQL | Ja |
Microsoft Azure SQL-Datenbank | Ja |
Microsoft Azure Synapse-Analyse | 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 oder höher | Ja |
Oracle | Ja |
Oracle ADWC | Ja |
PostgreSQL 9.5 oder höher | Ja |
PostgreSQL vor Version 9.5 | Ja |
PrestoDB | Ja |
PrestoSQL | Ja |
SAP HANA 2+ | Nein |
SingleStore | Ja |
SingleStore 7+ | Ja |
Snowflake | Ja |
Teradata | Nein |
Trino | Ja |
Vektor | Nein |
Vertica | Ja |