Configurar Timestamps

No Oracle Analytics, os administradores definem o fuso horário padrão usado para cálculos de data e horário nas Definições do Sistema. Essa definição global se aplica a todos os cálculos. Este tópico explica como usar a função TIMESTAMPADD para especificar outro fuso horário se você quiser usar um timestamp distinto em um cálculo específico.

Definir o Fuso Horário Padrão para Cálculos nas Definições do Sistema

Por padrão, o horário do sistema para o Oracle Analytics Cloud se baseia no horário UTC. As seguintes funções retornam valores usando o horário UTC ou data:
  • CURRENT_DATE
  • CURRENT_TIME()
  • CURRENT_TIMESTAMP()
  • NOW()

Como administrador, você pode alterar o timestamp usado nos cálculos usando a opção Fuso Horário Padrão para Cálculos de Data na Console, em Definições Avançadas do Sistema. Selecione o fuso horário desejado na lista drop-down e aplique as alterações para que o novo valor entre em vigor.

Descrição de GUID-8DB3356D-CD0C-471F-ACA2-9151598FAB51-default.png segue
.png

Para obter informações sobre definições globais de fuso horário, consulte Definições do Sistema - Opções de Formato.

Usar um Fuso Horário Específico para Timestamps em Cálculos

Para gerar um timestamp distinto da definição do sistema em seus cálculos, use a função TIMESTAMPADD em conjunto com CURRENT_TIMESTAMP() ou NOW(). O cálculo básico TIMESTAMPADD é:

TIMESTAMPADD(SQL_TSI_<<interval>>, <<integer expression>>, <<timestamp expression>>)

Para cálculos de timestamp, HOUR será o intervalo, e o deslocamento de tempo será a diferença em horas entre o UTC e o fuso horário sobre o qual haverá o relatório. Por exemplo:

TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP(5))

Esse cálculo retorna o timestamp atual no horário das Montanhas Rochosas. Você pode criar a nova coluna de timestamp como uma coluna derivada na origem da tabela lógica ou mapeá-la diretamente para o banco de dados. A diferença é onde o cálculo deve ser efetuado, ou seja, no Oracle Analytics ou no banco de dados. A figura a seguir mostra um cálculo mapeado diretamente para o banco de dados na caixa de diálogo Expression Builder - Expressão.

Descrição de GUID-27A25D1D-56A1-4C02-9FC2-106F9BAFBE71-default.jpg segue
.jpg

Quando o fuso horário padrão é definido como UTC, a função CURRENT_DATE não retorna a data correta para determinadas horas do dia com relação ao fuso horário de um usuário. Por exemplo, quando é meia-noite UTC, a data local não corresponde à data UTC durante o deslocamento de tempo.

Esse problema é resolvido moldando o cálculo do timestamp como uma data. Por exemplo:

cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)

A figura a seguir mostra um cálculo criado como uma coluna derivada na caixa de diálogo Expression Builder - Coluna lógica derivada.

Descrição de GUID-49CFA011-ED91-477F-AE42-7CEE3D090E34-default.jpg segue
.jpg

Para relatórios únicos ou singulares, você pode criar cálculos de timestamp no nível do relatório em uma visualização de dados ou uma análise clássica. Caso planeje reutilizar os cálculos, muitas vezes é mais fácil defini-los como colunas no modelo semântico (ou arquivo RPD).

Para obter mais informações sobre as funções mencionadas neste tópico, consulte Funções de Data e Hora e Funções de Série Temporal.