In Oracle Analytics, gli amministratori impostano il fuso orario predefinito utilizzato per i calcoli di data e ora in Impostazioni di sistema. Questa impostazione globale si applica a tutti i calcoli. In questo argomento viene descritto come utilizzare la funzione TIMESTAMPADD
per specificare un altro fuso orario nel caso si desideri usare un fuso orario diverso in un determinato calcolo.
Impostare il fuso orario predefinito per i calcoli in Impostazioni di sistema
CURRENT_DATE
CURRENT_TIME()
CURRENT_TIMESTAMP()
NOW()
L'amministratore può modificare l'indicatore orario utilizzato nei calcoli mediante l'opzione Fuso orario predefinito per i calcoli della data nella console in Impostazioni di sistema avanzate. Selezionare il fuso orario desiderato dall'elenco a discesa e applicare le modifiche per rendere effettivo il nuovo valore.
.png
Per ulteriori informazioni sulle impostazioni del fuso orario globale, vedere Impostazioni di sistema - Opzioni di formato.
Usare un fuso orario specifico per gli indicatori orario nei calcoli
Per generare un indicatore orario diverso dall'impostazione di sistema nei calcoli, usare la funzione TIMESTAMPADD
insieme a CURRENT_TIMESTAMP()
o NOW()
. Il calcolo TIMESTAMPADD
di base è il seguente:
TIMESTAMPADD(SQL_TSI_<<interval>>, <<integer expression>>, <<timestamp expression>>)
Per i calcoli dell'indicatore orario, HOUR
è l'intervallo, mentre l'offset temporale è la differenza in ore tra l'ora UTC e il fuso orario di riferimento. Ad esempio:
TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP(5))
Questo calcolo restituisce l'indicatore orario corrente nell'ora degli stati montuosi degli Stati Uniti. È possibile creare la nuova colonna dell'indicatore orario come colonna derivata nell'origine della tabella logica o mapparla direttamente al database. La differenza è data dalla posizione in cui deve essere eseguito il calcolo, ovvero Oracle Analytics o il database. Nella figura riportata di seguito viene mostrato un calcolo mappato direttamente al database nella finestra di dialogo Costruzione guidata dell'espressione - Espressione.
Quando il fuso orario predefinito è impostato su UTC, la funzione CURRENT_DATE
non restituisce la data corretta per determinate ore del giorno rispetto al fuso orario di un utente. Ad esempio, quando è mezzanotte nel fuso orario UTC, la data locale non corrisponde alla data UTC per la durata dell'offset temporale.
La conversione del calcolo dell'indicatore orario in data risolve questo problema. Ad esempio:
cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)
Nella figura riportata di seguito viene mostrato un calcolo creato come colonna derivata nella finestra di dialogo Costruzione guidata dell'espressione - Colonna logica derivata.
Per i report unici o singoli, è possibile creare i calcoli dell'indicatore orario a livello di report in una visualizzazione dati o in un'analisi classica. Se si prevede di riutilizzare i calcoli, spesso è più semplice definirli come colonne nel modello semantico (o file RPD).
Per ulteriori informazioni sulle funzioni menzionate in questo argomento, vedere Funzioni di data e ora e Funzioni di serie temporali.