Configurar Indicações de Data/Hora

No Oracle Analytics, os administradores definem o fuso horário por omissão utilizado para os cálculos de data e hora em Definições do Sistema. Esta definição global é aplicada a todos os cálculos. Este tópico explica como utilizar a função TIMESTAMPADD para especificar outro fuso horário se pretender utilizar uma indicação de data/hora diferente num determinado cálculo.

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

Por omissão, a hora do sistema para o Oracle Analytics Cloud baseia-se na hora UTC. As seguintes funções devolvem valores com a hora ou data UTC:
  • CURRENT_DATE
  • CURRENT_TIME()
  • CURRENT_TIMESTAMP()
  • NOW()

Como administrador, pode alterar a indicação de data/hora utilizada nos cálculos com a opção Fuso Horário Por Omissão para Cálculos de Datas na Consola, em Definições Avançadas do Sistema. Selecione o fuso horário pretendido na lista pendente e aplique as alterações para que o novo valor entre em vigor.

Segue-se a descrição de GUID-8DB3356D-CD0C-471F-ACA2-9151598FAB51-default.png
.png

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

Utilizar o Fuso Horário Específico para Indicações de Data/Hora nos Cálculos

Para gerar uma indicação de data/hora diferente da definição do sistema nos seus cálculos, utilize 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 os cálculos de indicação de data/hora, HOUR é o intervalo e a diferença horária é a diferença em horas entre UTC e o fuso horário para geração do relatório. Por exemplo:

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

Este cálculo devolve a indicação de data/hora atual na hora dos E.U.A./Regiões Montanhosas. Pode criar a nova coluna de indicação de data/hora como uma coluna derivada na origem da tabela lógica ou efetuar a respetiva correspondência diretamente para a base de dados. A diferença é onde o cálculo deve ser executado; isto é, no Oracle Analytics ou na base de dados. A figura seguinte mostra um cálculo com correspondência direta para a base de dados na caixa de diálogo Criador de Expressões - Expressão.

Segue-se a descrição de GUID-27A25D1D-56A1-4C02-9FC2-106F9BAFBE71-default.jpg
.jpg

Quando o fuso horário por omissão é definido como UTC, a função CURRENT_DATE não devolve a data correta para determinadas horas do dia em relação ao fuso horário de um utilizador. Por exemplo, quando é meia-noite em UTC, a data local não corresponde à data de UTC durante a diferença horária.

Converter o cálculo da indicação de data/hora como uma data resolve este problema. Por exemplo:

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

A figura seguinte mostra um cálculo criado como uma coluna derivada na caixa de diálogo Criador de Expressões - Coluna lógica derivada.

Segue-se a descrição de GUID-49CFA011-ED91-477F-AE42-7CEE3D090E34-default.jpg
.jpg

Para relatórios exclusivos ou singulares, pode criar cálculos de indicação de data/hora ao nível do relatório numa visualização de dados ou numa análise clássica. Se planeia reutilizar os cálculos, é mais fácil defini-los como colunas no modelo semântico (ou ficheiro RPD).

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