Utilizzare le impostazioni del fuso orario

Looker può semplificare la comprensione dei dati basati sul tempo convertendoli in fusi orari diversi. Gli utenti possono visualizzare i risultati delle query e creare filtri con dati basati sul tempo convertiti nei loro fusi orari locali. Ad esempio, un utente di New York che visualizza i dati creati in California non deve sottrarre manualmente tre ore per filtrare o interpretare le query.

Looker converte i dati basati sul tempo quando genera SQL durante una query per un look, un'esplorazione o una dashboard. I dati sottostanti non sono interessati; i risultati delle query vengono convertiti utilizzando le impostazioni del fuso orario di Looker. Ciò significa anche che le query eseguite utilizzando SQL Runner non convertono i dati basati sul tempo.

Diverse impostazioni in Looker specificano come convertire i dati basati sul tempo:

Fuso orario di sistema

Il fuso orario di sistema è il fuso orario per il quale è configurato il server che esegue Looker. Il database interno di Looker, che archivia le informazioni disponibili nelle esplorazioni dell'attività di sistema, archivia i dati basati sul tempo nel fuso orario di sistema.

Il fuso orario di sistema non è configurabile tramite l'applicazione Looker. Per le istanze ospitate da Looker, il fuso orario di sistema è sempre impostato su UTC. Le istanze ospitate dal cliente potrebbero trovarsi in un fuso orario di sistema diverso. La modifica del fuso orario di sistema non è semplice e non è consigliata.

Se devi modificare i timestamp in un'esplorazione dell'attività di sistema, utilizza i calcoli tabellari per creare colonne con orari modificati. Ad esempio, per convertire da UTC a EST, puoi creare una colonna con il calcolo tabellare add_hours(-5, ${time}).

Tieni presente che, poiché i calcoli tabellari vengono eseguiti dopo la restituzione dei risultati delle query, non possono essere utilizzati per raggruppare o creare tabelle pivot dei dati in base a componenti temporali specifici (ad esempio l'ora del giorno o il giorno della settimana). Per modificare i timestamp dell'attività di sistema per le visualizzazioni che richiedono la creazione di tabelle pivot o il raggruppamento in base ai componenti temporali, utilizza invece le dimensioni personalizzate. Le dimensioni personalizzate vengono elaborate prima della visualizzazione, il che consente un raggruppamento corretto. Ad esempio, per modificare i dati da UTC a GMT-3, devi prima creare una dimensione personalizzata per l'ora modificata utilizzando l'espressione Looker add_hours(-3, ${user_facts.last_ui_login_hour}). Poi, crea dimensioni personalizzate successive per estrarre il giorno della settimana o l'ora richiesti in base al campo dell'ora modificata.

Fuso orario database

Quando aggiungi una connessione a un database, imposti il valore del Fuso orario database nella pagina Impostazioni di connessione.

Questa impostazione rappresenta il fuso orario del database, che in genere è il tempo coordinato universale (UTC). Se imposti questo valore su un fuso orario diverso da quello del database, potresti ottenere risultati imprevisti.

Fusi orari specifici degli utenti

L'impostazione più importante per la conversione dei dati basati sul tempo è l'opzione Fusi orari specifici degli utenti, che si trova nella pagina Impostazioni generali della sezione Amministrazione di Looker.

Puoi attivare o disattivare i fusi orari specifici degli utenti:

  • Quando è attivata, a ogni utente Looker viene assegnato un fuso orario, che specifica l'aspetto dei risultati delle query.
  • Quando è disattivata, agli account degli utenti non vengono assegnati fusi orari individuali. Al contrario, tutte le query vengono eseguite utilizzando il valore Fuso orario query.

Con i fusi orari specifici degli utenti attivati, un utente può impostare il proprio fuso orario nella pagina Account oppure gli amministratori di Looker possono assegnare i fusi orari agli utenti nella pagina Utenti. Se non è impostato un fuso orario per un utente, l'account utilizza per impostazione predefinita l'impostazione Fuso orario applicazione di Looker.

Ogni volta che un utente crea una query, questa viene creata nel fuso orario dell'utente. Di conseguenza, quando una query restituisce dati basati sul tempo, Looker converte i dati dal Fuso orario database al fuso orario dell'utente. Quando un utente utilizza valori di filtro relativi al tempo in una query, Looker converte i valori di filtro nel Fuso orario database.

Inoltre, quando attivi questa opzione, Looker visualizza un menu a discesa Fuso orario nelle esplorazioni e nei look.

Le opzioni in questo menu a discesa sono:

  • Fuso orario di ogni riquadro (solo dashboard): tutte le query vengono eseguite nel fuso orario con cui sono state salvate.
  • Fuso orario del visualizzatore: tutte le query vengono eseguite nell'impostazione del fuso orario corrente dell'utente.
  • Un elenco di ogni singolo fuso orario, che gli utenti possono scegliere manualmente, se preferiscono.

Per impostazione predefinita, tutte le query utilizzano il fuso orario con cui sono state create. In altre parole, se Alice crea una query con il fuso orario "America/Los Angeles" e la invia a Bob, Bob vedrà la query con il fuso orario "America/Los Angeles", anche se il fuso orario di Bob è impostato su "America/New York". Allo stesso modo, il drill-down utilizza sempre per impostazione predefinita il fuso orario con cui è stata creata la query.

Quando visualizzano una query, gli utenti possono utilizzare il menu a discesa per sostituire il fuso orario, scegliendo il fuso orario del visualizzatore o un fuso orario diverso per quella query o per l'insieme di query della dashboard.

Aspetti da considerare per i fusi orari specifici degli utenti

Quando attivi i fusi orari specifici degli utenti, gli utenti in fusi orari diversi potrebbero visualizzare i dati in modo diverso.

Ad esempio, le ore esatte che compongono il periodo di tempo last month variano a seconda dei fusi orari, quindi gli utenti potrebbero visualizzare valori di dati diversi se si trovano in fusi orari diversi, ma entrambi filtrano in base a last month.

Fuso orario applicazione

L'impostazione Fuso orario applicazione può essere configurata nella pagina Impostazioni generali della sezione Amministrazione di Looker.

Il fuso orario applicazione è il fuso orario predefinito per le consegne di contenuti. Il fuso orario utilizzato per le consegne di contenuti non influisce sui dati basati sul tempo restituiti da una query; influisce solo sull'ora in cui viene inviata una consegna di dati.

Se attivi l'opzione Fusi orari specifici degli utenti, il fuso orario applicazione è il fuso orario predefinito per gli utenti che non hanno impostato un valore di fuso orario per i propri account.

Fuso orario query

L'op0}opzione Fuso orario query viene visualizzata solo se hai disattivato i fusi orari specifici degli utenti. In questo caso, imposti il valore Fuso orario query quando aggiungi una connessione a un database nella pagina Impostazioni di connessione.

Se disattivi i fusi orari specifici degli utenti,tutte le query di dati basati sul tempo utilizzano il fuso orario query e Looker converte tutti i dati basati sul tempo dal fuso orario database al fuso orario query.

Parametro LookML convert_tz

Per impostazione predefinita, Looker esegue la conversione del fuso orario. Per disattivare la conversione del fuso orario per un singolo campo, puoi utilizzare il parametro LookML convert_tz. Ad esempio:

dimension_group: created {
  type: time
  timeframes: [time, date]
  convert_tz: no
}

Per ulteriori informazioni, consulta la pagina della documentazione del parametro convert_tz.

Parametro LookML sql

Puoi anche definire manualmente la conversione del fuso orario utilizzando le funzioni del dialetto del database all'interno del sql parametro in una dimensione LookML. Ad esempio, per definire manualmente la conversione del fuso orario in MySQL, puoi utilizzare il seguente LookML:

dimension_group: created {
 type: time
 timeframes: [time, date]
 sql: CONVERT_TZ(${TABLE}.created_at,'UTC','PST') ;;
}

Note sul dialetto MySQL

MySQL richiede una tabella dei fusi orari prima che la sua funzione di conversione del fuso orario funzioni. Questa operazione può essere eseguita da un amministratore. Per saperne di più, consulta la documentazione di MySQL.

Note sul dialetto Postgres

Looker utilizza l'impostazione del driver per selezionare il fuso orario di destinazione. Ciò potrebbe influire sulla modalità di elaborazione delle query in SQL Runner rispetto a pgAdmin, perché Looker utilizzerà la data e l'ora correnti nel fuso orario selezionato.

Supporto del dialetto del database per la conversione del fuso orario

Affinché Looker converta i fusi orari nel tuo progetto Looker, il dialetto del database deve supportare la conversione del fuso orario. La tabella seguente mostra i dialetti che supportano la conversione del fuso orario nell'ultima release di Looker:

Dialetto Supportata?
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13.x - 0.17.x
Apache Druid 0.18+
Apache Hive 2.3+
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
Cloudera Impala 3.1+
Cloudera Impala 3.1+ with Native Driver
Cloudera Impala with Native Driver
DataVirtuality
Databricks
Denodo 7
Denodo 8 & 9
Dremio
Dremio 11+
Exasol
Google BigQuery Legacy SQL
Google BigQuery Standard SQL
Google Cloud AlloyDB for PostgreSQL
Google Cloud PostgreSQL
Google Cloud SQL
Google Spanner
Greenplum
HyperSQL
IBM Netezza
MariaDB
Microsoft Azure PostgreSQL
Microsoft Azure SQL Database
Microsoft Azure Synapse Analytics
Microsoft SQL Server 2008+
Microsoft SQL Server 2012+
Microsoft SQL Server 2016
Microsoft SQL Server 2017+
MongoBI
MongoSQL
MySQL
MySQL 8.0.12+
Oracle
Oracle ADWC
PostgreSQL 9.5+
PostgreSQL pre-9.5
PrestoDB
PrestoSQL
SAP HANA
SAP HANA 2+
SingleStore
SingleStore 7+
Snowflake
Teradata
Trino
Vector
Vertica