O Looker pode tornar os dados baseados em horário mais fáceis de entender convertendo-os para fusos horários diferentes. Os usuários podem conferir os resultados das consultas e criar filtros com dados baseados em horário que são convertidos para o fuso horário local. 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 suas consultas.
O Looker converte dados baseados em tempo quando gera SQL durante uma consulta para um Look, Explore ou painel. Os dados 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. Além disso, as consultas executadas com o SQL Runner não convertem dados baseados em tempo.
Várias configurações do 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 da consulta
convert_tz
Parâmetro do LookMLsql
Parâmetro do LookML
Fuso horário do sistema
O fuso horário do sistema é aquele configurado para o servidor que executa o Looker. O banco de dados interno do Looker, que armazena as informações disponíveis nas Análises de i__looker
e Atividade do sistema, armazena 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 do sistema diferente. Alterar 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 com ajuste de horário. Por exemplo, para converter de UTC para EST, você pode criar 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á localizado, que normalmente é o Tempo Universal Coordenado (UTC). Definir esse valor para qualquer lugar diferente do fuso horário em que seu banco de dados está pode levar a resultados inesperados.
Fusos horários específicos dos usuários
A configuração mais importante para a conversão de dados com base no tempo é a opção Fusos horários específicos do usuário, na página Configurações gerais da 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 a aparência dos resultados da consulta.
- Quando desativado, os usuários não têm fusos horários individuais atribuídos às contas deles. 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, 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, o padrão da conta vai ser a configuração 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 esses valores para o fuso horário do banco de dados.
Além disso, quando você habilita essa opção, o Looker mostra um menu suspenso Fuso horário em Análises e Looks.
As opções nessa lista suspensa são:
- Fuso horário de cada bloco (somente painéis): todas as consultas são executadas no fuso horário com 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 cada fuso horário, que os usuários podem escolher manualmente.
O padrão de todas as consultas é o fuso horário usado para criá-las. Em outras palavras, se Alice criar uma consulta com o fuso horário "América/Los Angeles" e enviá-la para Bob, Bob 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 usado para criar a consulta.
Sempre que visualizarem uma consulta, os usuários poderão usar o menu suspenso para substituir o fuso horário. Basta escolher o fuso horário do espectador ou qualquer outro fuso horário para a consulta ou o conjunto de consultas do painel.
Considerações importantes sobre os fusos horários específicos dos usuários
Quando você ativa Fusos horários específicos dos usuários, os usuários em fusos horários diferentes podem ver os dados de maneiras diferentes.
Por exemplo, as horas exatas que compõem o período last month
são diferentes entre os fusos horários. Por isso, os usuários poderão ver valores de dados diferentes se estiverem em fusos horários diferentes, mas ambos 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 fuso horário padrão para os envios de conteúdo. O fuso horário usado para envios 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 os usuários que não tiverem um valor de fuso horário definido para as contas.
fuso horário de consultas
A opção Fuso horário da consulta será exibida somente se você tiver desativado os Fusos horários específicos do usuário. Nesse caso, você definirá o valor do Fuso horário da consulta ao adicionar uma conexão com 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 com base em tempo usarão o fuso horário da consulta, e o Looker 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 do 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
.
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 seu 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 este LookML:
dimension_group: created {
type: time
timeframes: [time, date]
sql: CONVERT_TZ(${TABLE}.created_at,'UTC','PST') ;;
}
Notas do dialeto 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 executado 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 desejado. Isso pode afetar como as consultas são processadas no SQL Runner em comparação com o pgAdmin, porque o Looker vai usar a data e hora atual no fuso horário selecionado.
Suporte a dialeto de banco de dados para conversão de fuso horário
Para que o Looker converta os fusos horários no seu projeto, o dialeto do seu 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:
Dialeto | Compatível? |
---|---|
Avalanche | No |
Amazon Athena | Sim |
MySQL do Amazon Aurora | Sim |
Amazon Redshift | Sim |
Apache Druid | No |
Apache Druid 0.13 ou superior | Sim |
Apache Druid 0.18 ou superior | Sim |
Apache Hive 2.3 ou superior | Sim |
Apache Hive 3.1.2 ou superior | Sim |
Apache Spark 3 ou mais recente | Sim |
ClickHouse | No |
Cloudera Impala 3.1 ou mais recente | Sim |
Cloudera Impala 3.1+ com driver nativo | Sim |
Cloudera Impala com driver nativo | Sim |
DataVirtuality | No |
Databricks | Sim |
Denodo 7 | No |
Denodo 8 | No |
Dremio | Sim |
Dremio 11 ou mais recente | Sim |
Exasol | No |
Fio de fogo | No |
SQL legado do Google BigQuery | No |
SQL padrão do Google BigQuery | Sim |
PostgreSQL no Google Cloud | Sim |
Google Cloud SQL | Sim |
Google Spanner | Sim |
Verde ameixa | Sim |
HyperSQL | No |
IBM Netezza | Sim |
MariaDB | Sim |
PostgreSQL do Microsoft Azure | Sim |
Banco de dados SQL do Microsoft Azure | Sim |
Análise do Microsoft Azure Synapse | Sim |
Microsoft SQL Server 2008 ou mais recente | No |
Microsoft SQL Server 2012 ou mais recente | No |
Microsoft SQL Server 2016 | Sim |
Microsoft SQL Server 2017 ou mais recente | Sim |
MongoBI | No |
MySQL | Sim |
MySQL 8.0.12 ou superior | Sim |
Oracle | Sim |
ADWC do Oracle | Sim |
PostgreSQL 9.5 ou mais recente | Sim |
PostgreSQL anterior à versão 9.5 | Sim |
PrestoDB | Sim |
PrestoSQL | Sim |
SAP HANA | No |
SAP HANA 2 ou posterior | No |
SingleStore | Sim |
SingleStore 7 ou mais recente | Sim |
Snowflake | Sim |
Teradata | No |
Trino | Sim |
Vetor | No |
Vertica | Sim |