Cómo usar la configuración de zona horaria

Looker puede facilitar la comprensión de los datos basados en el tiempo convirtiéndolos a diferentes zonas horarias. Los usuarios pueden ver los resultados de las búsquedas y crear filtros con datos basados en el tiempo que se convierten a sus zonas horarias locales. Por ejemplo, un usuario de Nueva York que ve datos creados en California no tiene que restar manualmente tres horas para filtrar o interpretar sus búsquedas.

Looker convierte los datos basados en el tiempo cuando genera SQL durante una consulta para un Look, una Exploración o un panel. Los datos subyacentes no se ven afectados, sino que los resultados de la consulta se convierten con la configuración de zona horaria de Looker. Esto también significa que las consultas que se ejecutan con SQL Runner no convierten los datos basados en el tiempo.

En Looker, hay varios parámetros de configuración que especifican cómo convertir los datos basados en el tiempo:

Zona horaria del sistema

La zona horaria del sistema es la zona horaria para la que está configurado el servidor que ejecuta Looker. La base de datos interna de Looker, que almacena la información disponible en los Explorar de Actividad del sistema, almacena datos basados en el tiempo en la zona horaria del sistema.

La zona horaria del sistema no se puede configurar a través de la aplicación de Looker. En el caso de las instancias alojadas en Looker, la zona horaria del sistema siempre se establece en UTC. Las instancias alojadas por el cliente pueden estar en una zona horaria del sistema diferente. Cambiar la zona horaria del sistema no es trivial y no se recomienda. Si necesitas ajustar las marcas de tiempo en un Explorador de actividad del sistema, usa cálculos de tablas para crear columnas ajustadas por tiempo. Por ejemplo, para convertir de UTC a EST, puedes crear una columna con el cálculo de tabla add_hours(-5, ${time}).

zona horaria de la base de datos

Cuando agregas una conexión a una base de datos, estableces el valor de la zona horaria de la base de datos en la página Configuración de la conexión.

Este parámetro de configuración representa la zona horaria en la que se encuentra tu base de datos, que suele ser hora universal coordinada (UTC). Si estableces este valor en una zona horaria diferente a la de tu base de datos, es posible que obtengas resultados inesperados.

zonas horarias elegidas por los usuarios

El parámetro de configuración más importante para la conversión de datos basados en el tiempo es la opción Zonas horarias específicas del usuario, que se encuentra en la página Configuración general de la sección Administrador de Looker.

Puedes habilitar o inhabilitar la opción Zonas horarias específicas para el usuario de la siguiente manera:

  • Cuando se habilita esta opción, a cada usuario de Looker se le asigna una zona horaria, y esa zona horaria especifica la apariencia de los resultados de sus consultas.
  • Cuando se inhabilita, los usuarios no tienen zonas horarias individuales asignadas a sus cuentas. En cambio, todas las consultas se ejecutan con el valor de Zona horaria de la consulta.

Con la opción Zonas horarias específicas del usuario habilitada, los usuarios pueden configurar su zona horaria en la página Cuenta, o bien los administradores de Looker pueden asignar zonas horarias a los usuarios en la página Usuarios. Si no se establece una zona horaria para un usuario, su cuenta se establece de forma predeterminada en el parámetro de configuración Zona horaria de la aplicación de Looker.

Cada vez que un usuario crea una búsqueda, esta se crea en la zona horaria del usuario. Como resultado, cuando una consulta devuelve datos basados en el tiempo, Looker convierte los datos de la zona horaria de la base de datos a la zona horaria del usuario. Cuando un usuario usa valores de filtro relacionados con el tiempo en una consulta, Looker convierte los valores de filtro a la zona horaria de la base de datos.

Además, cuando habilitas esta opción, Looker muestra un menú desplegable Zona horaria en Explorar y Looks.

Las opciones de este menú desplegable son las siguientes:

  • Zona horaria de cada mosaico (solo en los paneles): Todas las consultas se ejecutan en la zona horaria con la que se guardaron.
  • Zona horaria del usuario: Todas las consultas se ejecutan en la configuración de zona horaria actual del usuario.
  • Es una lista de cada zona horaria individual que los usuarios pueden elegir manualmente si lo desean.

Todas las consultas se establecen de forma predeterminada en la zona horaria con la que se crearon. En otras palabras, si Alice crea una consulta con la zona horaria "America/Los Angeles" y se la envía a Bob, Bob verá la consulta con la zona horaria "America/Los Angeles", incluso si la zona horaria de Bob está establecida en "America/New York". Del mismo modo, la exploración siempre se establece de forma predeterminada en la zona horaria con la que se creó la consulta.

Cuando ven una consulta, los usuarios pueden usar el menú desplegable para anular la zona horaria y elegir su zona horaria del visualizador o cualquier otra zona horaria para esa consulta o el conjunto de consultas del panel.

Aspectos a tener en cuenta con las zonas horarias elegidas por los usuarios

Cuando habilitas la opción Zonas horarias específicas del usuario, es posible que los usuarios de diferentes zonas horarias vean los datos de manera diferente.

Por ejemplo, las horas exactas que componen el período last month diferirán entre las zonas horarias, por lo que los usuarios pueden ver diferentes valores de datos si se encuentran en zonas horarias diferentes, pero ambos aplican el filtro en last month.

zona horaria de la aplicación

El parámetro de configuración Zona horaria de la aplicación se puede configurar en la página Configuración general de la sección Administrador de Looker.

La zona horaria de la aplicación es la zona horaria predeterminada para las entregas de contenido. La zona horaria que se usa para las entregas de contenido no afecta los datos basados en el tiempo que devuelve una búsqueda, sino solo la hora en que se envía una entrega de datos.

Si habilitas la opción Zonas horarias específicas del usuario, la zona horaria de la aplicación será la zona horaria predeterminada para los usuarios que no tengan un valor de zona horaria establecido para sus cuentas.

zona horaria de la consulta

La opción Zona horaria de la consulta solo se muestra si inhabilitaste Zonas horarias específicas del usuario. En ese caso, debes establecer el valor de Zona horaria de la consulta cuando agregues una conexión a una base de datos en la página Configuración de la conexión.

Si inhabilitas la opción Zonas horarias específicas del usuario, todas las consultas de datos basados en el tiempo usarán la zona horaria de la consulta y Looker convertirá todos los datos basados en el tiempo de la zona horaria de la base de datos a la zona horaria de la consulta.

Parámetro de LookML convert_tz

De forma predeterminada, Looker realiza la conversión de zona horaria. Para inhabilitar la conversión de zona horaria en un campo individual, puedes usar el parámetro convert_tz de LookML. Por ejemplo:

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

Para obtener más información, consulta la página de documentación del parámetro convert_tz.

Parámetro de LookML sql

También puedes definir manualmente la conversión de zona horaria con las funciones del dialecto de tu base de datos dentro del parámetro sql en una dimensión de LookML. Por ejemplo, para definir manualmente la conversión de zona horaria en MySQL, puedes usar el siguiente código LookML:

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

Notas sobre el dialecto de MySQL

MySQL requiere una tabla de zonas horarias para que funcione su función de conversión de zonas horarias. Un administrador puede ejecutar este comando. Puedes obtener más información en la documentación de MySQL.

Notas sobre el dialecto de Postgres

Looker usa el parámetro de configuración del controlador para seleccionar la zona horaria de destino. Esto puede afectar la forma en que se procesan las consultas en SQL Runner en comparación con pgAdmin, ya que Looker usará la fecha y hora actuales en la zona horaria seleccionada.

Compatibilidad con dialectos de bases de datos para la conversión de zonas horarias

Para que Looker convierta las zonas horarias en tu proyecto de Looker, el dialecto de la base de datos debe admitir la conversión de zonas horarias. En la siguiente tabla, se muestran los dialectos que admiten la conversión de zonas horarias en la versión más reciente de Looker:

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