Usando configurações de fuso horário

O Looker pode facilitar o entendimento de dados com base no tempo ao convertê-los em fusos horários diferentes. Os usuários podem ver os resultados da consulta e criar filtros com dados baseados em tempo que são convertidos para os fusos horários locais. Por exemplo, um usuário em Nova York que vê 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, um Explore 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 com base no tempo:

Fuso horário do sistema

O fuso horário do sistema é para qual servidor o servidor do Looker está configurado. Banco de dados interno do Looker, que armazena as informações disponíveis em i__looker e explorações de atividade do sistema, para armazenar dados com base no horário no fuso horário do sistema.

O fuso horário do sistema não é configurável 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 do sistema. Alterar o fuso horário do sistema não é simples e não é recomendado. Se você precisar ajustar os carimbos de data/hora em uma i__looker ou uma exploração de atividade do sistema, o Looker recomenda o uso de cálculos da tabela para criar colunas ajustadas pelo 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, defina 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á, que geralmente é o Horário Universal Coordenado (UTC). Definir esse valor para qualquer fuso horário que não seja o do banco de dados pode levar a resultados inesperados.

fusos horários específicos dos usuários

A configuração mais significativa para a conversão de dados com base no 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, que especifica o aspecto dos resultados da consulta.
  • Quando desativada, o fuso horário do usuário não é atribuído às contas dele. Em vez disso, todas as consultas são executadas usando o valor Fuso horário da consulta.

Com os fusos horários específicos do usuário ativados, um usuário pode definir o fuso horário na página Conta, ou os administradores do Looker 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 será definida como a configuração do Fuso horário do aplicativo por padrão.

Sempre que um usuário cria uma consulta, ela é criada no fuso horário do usuário. Assim, 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 a tempo em uma consulta, o Looker converte os valores de filtro no Fuso horário do banco de dados.

Além disso, quando você ativa essa opção, o Looker exibe um menu suspenso em Explorar, Painéis legados e Aparências:

Estas são as opções no menu suspenso:

  • 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 de leitor: todas as consultas são executadas na configuração de fuso horário atual do usuário.
  • Uma lista de cada fuso horário individual, que os usuários podem escolher manualmente se quiserem.

O padrão do fuso horário de todas as consultas é o com que a consulta foi criada. Em outras palavras, se Alice criar uma consulta com fuso horário "América/Los Angeles" e enviá-la para Beto, ele verá a consulta com o fuso horário "América/Los Angeles" mesmo que o fuso horário de Beto esteja definido como "América/Nova York." Da mesma forma, a perfuração sempre assume como padrão o fuso horário com que a consulta foi criada.

Sempre que visualizarem uma consulta, os usuários poderão usar a lista suspensa para substituir o fuso horário, selecionando o fuso horário do leitor ou qualquer outro fuso horário para a consulta ou o conjunto de consultas correspondente ao painel.

Considerações sobre fusos horários específicos do usuário

Quando você ativa os fusos horários específicos do usuário, os usuários em fusos horários diferentes veem dados diferentes, de acordo com a forma como os filtros são aplicados a cada fuso horário. Por exemplo, a consulta a seguir tem um filtro de last month e foi executada no fuso horário de Nova York:

A mesma consulta executada no fuso horário de Seul retorna resultados diferentes:

Os dados subjacentes não são diferentes. As horas exatas que compõem o período last month são um pouco diferentes.

fuso horário do aplicativo

A configuração do Fuso horário do aplicativo está 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 o envio de conteúdo não afeta os dados baseados em tempo retornados por uma consulta, mas apenas o tempo de envio dos dados.

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 os 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 vai ficar visível apenas se você tiver desativado 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 o Fuso horário específico do usuário, todas as consultas de dados com base no tempo usarão o Fuso horário da consulta, e o Looker converterá todos os dados do Fuso horário do banco de dados para o Fuso horário da consulta.

Parâmetro LookML convert_tz

O Looker faz a conversão de fuso horário por padrão. Para desativar a conversão de fuso horário para um campo individual, use o parâmetro LookML convert_tz. 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.

Parâmetro LookML sql

Também é possível definir manualmente a conversão de fuso horário usando as funções do dialeto do seu banco de dados no parâmetro sql em uma dimensão 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') ;;
}

Observações do dialeto do MySQL

O MySQL requer uma tabela de fuso horário para que a função de conversão de fuso horário funcione. Ela pode ser executada por um administrador. Leia mais na documentação do MySQL.

Notas do dialeto 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 usará a data e hora atual no fuso horário selecionado.

Suporte ao dialeto do banco de dados para conversão de fuso horário

Para que o Looker converta fusos horários no seu projeto do Looker, o dialeto do banco de dados precisa ser compatível com a conversão de fuso horário. 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: