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
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.
.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:
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:
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.