O Looker pode converter dados baseados em tempo em diferentes fusos horários para facilitar a compreensão. Os usuários podem conferir os resultados da consulta e criar filtros com dados baseados em tempo convertidos para os fusos horários locais. Por exemplo, um usuário em Nova York que visualiza dados criados na Califórnia não precisa subtrair manualmente três horas para filtrar ou interpretar as consultas.
O Looker converte dados baseados em tempo quando gera SQL durante uma consulta para um visual, uma análise detalhada ou um painel. Os dados subjacentes não são afetados. Em vez disso, os resultados da consulta são convertidos usando as configurações de fuso horário do Looker. Isso também significa que as consultas executadas usando o SQL Runner não convertem dados baseados em tempo.
Várias configurações no Looker especificam como converter dados baseados em tempo:
- Fuso horário do sistema
- Fuso horário do banco de dados
- Fusos horários específicos do usuário
- Fuso horário do aplicativo
- Fuso horário da consulta
convert_tz
Parâmetro do LookMLsql
Parâmetro do LookML
Fuso horário do sistema
O fuso horário do sistema é o fuso para o qual o servidor que executa o Looker está configurado. O banco de dados interno do Looker, que armazena as informações disponíveis nas análises detalhadas i__looker
e Atividade do sistema, armazena dados baseados em tempo no fuso horário do sistema.
O fuso horário do sistema não pode ser configurado pelo aplicativo Looker. Para instâncias hospedadas no Looker, o fuso horário do sistema é sempre definido como UTC. As instâncias hospedadas pelo cliente podem estar em um fuso horário diferente do sistema. Mudar o fuso horário do sistema não é trivial e não é recomendado. Se você precisar ajustar carimbos de data/hora em uma i__looker
ou em uma Análise de atividade do sistema, o Looker recomenda usar cálculos de tabela para criar colunas ajustadas no tempo. Por exemplo, para converter de UTC para EST, crie uma coluna com o cálculo da tabela add_hours(-5, ${time})
.
fuso horário do banco de dados
Ao adicionar uma conexão a um banco de dados, você define o valor do Fuso horário do banco de dados na página Configurações de conexão.
Essa configuração representa o fuso horário do seu banco de dados, que normalmente é o Tempo Universal Coordenado (UTC). Definir esse valor como qualquer coisa que não seja o fuso horário do seu banco de dados pode levar a resultados inesperados.
fusos horários específicos dos usuários
A configuração mais importante para a conversão de dados baseada em tempo é a opção Fusos horários específicos do usuário, que está na página Configurações gerais na seção Administrador do Looker.
É possível ativar ou desativar os Fusos horários específicos do usuário:
- Quando ativado, cada usuário do Looker é atribuído a um fuso horário, e esse fuso especifica a aparência dos resultados da consulta.
- Quando desativado, os usuários não têm fusos horários individuais atribuídos às contas. Em vez disso, todas as consultas são executadas usando o valor Fuso horário da consulta.
Com a ativação das Fusos horários específicos do usuário, um usuário pode definir o fuso horário na página Conta. Os administradores do Looker também podem atribuir fusos horários aos usuários na página Usuários. Se um fuso horário não estiver definido para um usuário, a conta dele vai usar a configuração de fuso horário do aplicativo do Looker.
Sempre que um usuário cria uma consulta, ela é criada no fuso horário dele. Como resultado, quando uma consulta retorna dados baseados em tempo, o Looker converte os dados do fuso horário do banco de dados para o fuso horário do usuário. Quando um usuário usa valores de filtro relacionados ao tempo em uma consulta, o Looker converte os valores do filtro para o Fuso horário do banco de dados.
Além disso, quando você ativa essa opção, o Looker mostra um menu suspenso Fuso horário em Explorações e Looks.
As opções no menu suspenso são:
- Fuso horário de cada bloco (somente painéis): todas as consultas são executadas no fuso horário em que foram salvas.
- Fuso horário do espectador: todas as consultas são executadas na configuração de fuso horário atual do usuário.
- Uma lista de todos os fusos horários individuais, que os usuários podem escolher manualmente.
Todas as consultas usam o fuso horário em que foram criadas. Em outras palavras, se Alice criar uma consulta com o fuso horário "América/Los Angeles" e enviar para Bob, ele vai receber a consulta com o fuso horário "América/Los Angeles", mesmo que o fuso horário dele esteja definido como "América/Nova York". Da mesma forma, o detalhamento sempre usa o fuso horário em que a consulta foi criada.
Sempre que uma consulta é visualizada, os usuários podem usar o menu suspenso para substituir o fuso horário, escolhendo o Fuso horário do espectador ou qualquer outro fuso horário para essa consulta ou conjunto de consultas do painel.
Aspectos a considerar com os fusos horários específicos do usuário
Quando você ativa os Fusos horários específicos do usuário, os dados podem aparecer de forma diferente para usuários em fusos horários diferentes.
Por exemplo, as horas exatas que compõem o período last month
são diferentes entre os fusos horários. Assim, os usuários podem ver valores de dados diferentes se estiverem em fusos horários diferentes, mas estiverem filtrando por last month
.
fuso horário do aplicativo
A configuração Fuso horário do aplicativo pode ser definida na página Configurações gerais, na seção Administrador do Looker.
O fuso horário do aplicativo é o padrão para envios de conteúdo. O fuso horário usado para as entregas de conteúdo não afeta os dados baseados em tempo retornados por uma consulta. Ele afeta apenas o horário em que uma entrega de dados é enviada.
Se você ativar a opção Fusos horários específicos do usuário, o Fuso horário do aplicativo será o fuso horário padrão para usuários que não têm um valor de fuso horário definido nas contas.
fuso horário de consultas
A opção Fuso horário da consulta só aparece se você tiver desativado os Fusos horários específicos do usuário. Nesse caso, defina o valor do Fuso horário da consulta ao adicionar uma conexão a um banco de dados na página Configurações da conexão.
Se você desativar os Fusos horários específicos do usuário, todas as consultas de dados baseados em tempo vão usar o Fuso horário da consulta, e o Looker vai converter todos os dados baseados em tempo do Fuso horário do banco de dados para o Fuso horário da consulta.
convert_tz
Parâmetro do LookML
O Looker faz a conversão de fuso horário por padrão. Para desativar a conversão de fuso horário de um campo individual, use o parâmetro convert_tz
do LookML. Exemplo:
dimension_group: created {
type: time
timeframes: [time, date]
convert_tz: no
}
Para mais informações, consulte a página de documentação do parâmetro convert_tz
.
sql
Parâmetro do LookML
Também é possível definir manualmente a conversão de fuso horário usando as funções do dialeto do banco de dados no parâmetro sql
em uma dimensão do LookML. Por exemplo, para definir manualmente a conversão de fuso horário no MySQL, use o seguinte LookML:
dimension_group: created {
type: time
timeframes: [time, date]
sql: CONVERT_TZ(${TABLE}.created_at,'UTC','PST') ;;
}
Notas sobre o dialeto do MySQL
O MySQL exige uma tabela de fuso horário para que a função de conversão de fuso horário funcione. Isso pode ser feito por um administrador. Leia mais na documentação do MySQL.
Notas sobre o dialeto do Postgres
O Looker usa a configuração do driver para selecionar o fuso horário de destino. Isso pode afetar a forma como as consultas são processadas no SQL Runner em comparação com o pgAdmin, porque o Looker usa a data e a hora atuais no fuso horário selecionado.
Suporte a dialetos de banco de dados para conversão de fuso horário
Para que o Looker converta fusos horários no seu projeto, o dialeto do banco de dados precisa oferecer suporte à conversão de fusos horários. A tabela a seguir mostra quais dialetos oferecem suporte à conversão de fuso horário na versão mais recente do Looker:
Dialeto | Compatível? |
---|---|
Actian Avalanche | Não |
Amazon Athena | Sim |
MySQL do Amazon Aurora | Sim |
Amazon Redshift | Sim |
Apache Druid | Não |
Apache Druid 0.13 ou mais recente | Sim |
Apache Druid 0.18 ou mais recente | Sim |
Apache Hive 2.3 ou mais recente | Sim |
Apache Hive 3.1.2 ou mais recente | Sim |
Apache Spark 3 ou mais recente | Sim |
ClickHouse | Não |
Cloudera Impala 3.1 ou mais recente | Sim |
Cloudera Impala 3.1+ com driver nativo | Sim |
Cloudera Impala com driver nativo | Sim |
DataVirtuality | Não |
Databricks | Sim |
Denodo 7 | Não |
Denodo 8 | Não |
Dremio | Sim |
Dremio 11 ou mais recente | Sim |
Exasol | Não |
Firebolt | Não |
SQL legado do Google BigQuery | Não |
SQL padrão do Google BigQuery | Sim |
PostgreSQL do Google Cloud | Sim |
Google Cloud SQL | Sim |
Google Spanner | Sim |
Greenplum | Sim |
HyperSQL | Não |
IBM Netezza | Sim |
MariaDB | Sim |
Microsoft Azure PostgreSQL | Sim |
Banco de dados SQL do Microsoft Azure | Sim |
Microsoft Azure Synapse Analytics | Sim |
Microsoft SQL Server 2008 ou mais recente | Não |
Microsoft SQL Server 2012 ou mais recente | Não |
Microsoft SQL Server 2016 | Sim |
Microsoft SQL Server 2017 ou mais recente | Sim |
MongoBI | Não |
MySQL | Sim |
MySQL 8.0.12 ou mais recente | Sim |
Oracle | Sim |
Oracle ADWC | Sim |
PostgreSQL 9.5 ou mais recente | Sim |
PostgreSQL anterior à versão 9.5 | Sim |
PrestoDB | Sim |
PrestoSQL | Sim |
SAP HANA 2+ | Não |
SingleStore | Sim |
SingleStore 7+ | Sim |
Snowflake | Sim |
Teradata | Não |
Trino | Sim |
Vetor | Não |
Vertica | Sim |