O Looker pode facilitar a compreensão dos dados temporais convertendo-os para diferentes fusos horários. Os usuários podem ver 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 está visualizando dados criados na Califórnia não precisa subtrair manualmente três horas para filtrar ou interpretar as consultas.
O Looker converte dados com base em tempo quando gera SQL durante uma consulta para um Look, 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 com base em tempo.
Várias configurações no Looker especificam como converter dados com base em tempo:
- Fuso horário do sistema
- Fuso horário do banco de dados
- Fusos horários específicos dos usuários
- Fuso horário do aplicativo
- Fuso horário de consultas
convert_tz
Parâmetro do LookMLsql
Parâmetro do LookML
Fuso horário do sistema
O fuso horário do sistema é aquele em que 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 de Atividade do sistema, armazena dados com base no 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 pelo 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. Mudar o fuso horário do sistema não é trivial e não é recomendado. Se você precisar ajustar os carimbos de data/hora em uma análise detalhada da atividade do sistema, use cálculos de tabela para criar colunas ajustadas por tempo. Por exemplo, para converter de UTC para EST, crie uma coluna com o cálculo de 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 em que seu banco de dados está, geralmente o Tempo Universal Coordenado (UTC). Definir esse valor como algo diferente do fuso horário em que seu banco de dados está pode gerar resultados inesperados.
fusos horários específicos dos usuários
A configuração mais importante para a conversão de dados baseados 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.
Você pode ativar ou desativar os fusos horários específicos dos usuários:
- Quando ativado, cada usuário do Looker é atribuído a um fuso horário, que especifica a aparência dos resultados da consulta.
- Quando desativada, 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 opção Fusos horários específicos do usuário ativada, 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 for definido para um usuário, a conta dele vai usar a configuração Fuso horário do aplicativo do Looker por padrão.
Sempre que um usuário cria uma consulta, ela é criada no fuso horário dele. Como resultado, quando uma consulta retorna dados com base no 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 os converte 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 Explorar e Looks.
As opções neste 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 leitor: 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 se quiserem.
Todas as consultas usam como padrão 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 ver a consulta com o fuso horário "América/Los Angeles", mesmo que o fuso horário de Bob esteja definido como "América/Nova York". Da mesma forma, o detalhamento sempre usa o fuso horário em que a consulta foi criada.
Ao visualizar uma consulta, os usuários podem usar o menu suspenso para substituir o fuso horário, escolhendo o fuso horário do leitor ou qualquer outro fuso horário para essa consulta ou o conjunto de consultas do painel.
O que considerar com os fusos horários específicos dos usuários
Quando você ativa os fusos horários específicos do usuário, os usuários em fusos horários diferentes podem ver os dados de maneira diferente.
Por exemplo, as horas exatas que compõem o período last month
variam entre os fusos horários. Assim, os usuários podem ver valores de dados diferentes se estiverem em fusos horários diferentes, mas ambos 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 entregas de conteúdo. O fuso horário usado para entregas de conteúdo não afeta os dados com base 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 padrão para usuários que não têm um valor de fuso horário definido para as contas.
fuso horário de consultas
A opção Fuso horário da consulta só aparece se você desativou 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 de conexão.
Se você desativar os fusos horários específicos do usuário, todas as consultas de dados baseados em tempo usarão 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 em um campo específico, use o parâmetro convert_tz
da 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
Você também pode 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 da LookML. Por exemplo, para definir manualmente a conversão de fuso horário no MySQL, use a seguinte LookML:
dimension_group: created {
type: time
timeframes: [time, date]
sql: CONVERT_TZ(${TABLE}.created_at,'UTC','PST') ;;
}
Observações sobre o dialeto do MySQL
O MySQL exige uma tabela de fuso horário antes que a função de conversão de fuso horário funcione. Isso pode ser executado por um administrador. Leia mais na documentação do MySQL.
Observações 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 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 a essa conversão. A tabela a seguir mostra quais dialetos são compatíveis com a conversão de fuso horário na versão mais recente do Looker:
Dialeto | Compatível? |
---|---|
Actian Avalanche | Não |
Amazon Athena | Sim |
Amazon Aurora MySQL | Sim |
Amazon Redshift | Sim |
Amazon Redshift 2.1+ | Sim |
Amazon Redshift Serverless 2.1+ | Sim |
Apache Druid | Não |
Apache Druid 0.13+ | Sim |
Apache Druid 0.18+ | Sim |
Apache Hive 2.3+ | Sim |
Apache Hive 3.1.2+ | Sim |
Apache Spark 3+ | Sim |
ClickHouse | Não |
Cloudera Impala 3.1+ | Sim |
Cloudera Impala 3.1+ with Native Driver | Sim |
Cloudera Impala with Native Driver | Sim |
DataVirtuality | Não |
Databricks | Sim |
Denodo 7 | Não |
Denodo 8 & 9 | Não |
Dremio | Sim |
Dremio 11+ | Sim |
Exasol | Não |
Firebolt | Não |
Google BigQuery Legacy SQL | Não |
Google BigQuery Standard SQL | Sim |
Google Cloud PostgreSQL | Sim |
Google Cloud SQL | Sim |
Google Spanner | Sim |
Greenplum | Sim |
HyperSQL | Não |
IBM Netezza | Sim |
MariaDB | Sim |
Microsoft Azure PostgreSQL | Sim |
Microsoft Azure SQL Database | Sim |
Microsoft Azure Synapse Analytics | Sim |
Microsoft SQL Server 2008+ | Não |
Microsoft SQL Server 2012+ | Não |
Microsoft SQL Server 2016 | Sim |
Microsoft SQL Server 2017+ | Sim |
MongoBI | Não |
MySQL | Sim |
MySQL 8.0.12+ | Sim |
Oracle | Sim |
Oracle ADWC | Sim |
PostgreSQL 9.5+ | Sim |
PostgreSQL pre-9.5 | Sim |
PrestoDB | Sim |
PrestoSQL | Sim |
SAP HANA | Não |
SAP HANA 2+ | Não |
SingleStore | Sim |
SingleStore 7+ | Sim |
Snowflake | Sim |
Teradata | Não |
Trino | Sim |
Vector | Não |
Vertica | Sim |