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 nas Definições do Sistema e esta definição global é aplicada a todos os cálculos. Se pretender utilizar uma indicação de data/hora diferente num determinado cálculo, pode utilizar a função TIMESTAMPADD para especificar o fuso horário pretendido.

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()

Os administradores podem 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 do Sistema. Selecione o fuso horário pretendido na lista pendente e aplique as alterações para que o novo valor produza efeito.

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

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 será o intervalo e a diferença horária será a diferença em horas entre UTC e o fuso horário 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. A nova coluna de indicação de data/hora pode ser criada como uma coluna derivada na origem da tabela lógica ou com correspondência direta com a base de dados, sendo a diferença onde o cálculo será executado, isto é, o Oracle Analytics ou a base de dados. Aqui, o cálculo tem correspondência direta com a base de dados:

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

Noutro caso, 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)

Aqui, o cálculo é criado como uma coluna derivada:

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

Para relatórios únicos, 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 Hora e Data e Funções de Séries de Tempo.