Dans Oracle Analytics, les administrateurs définissent le fuseau horaire par défaut utilisé pour les calculs de la date et de l'heure dans les paramètres système. Ce paramètre global s'applique à tous les calculs. Pour utiliser un autre horodatage dans un calcul spécifique, vous pouvez utiliser la fonction TIMESTAMPADD
afin d'indiquer le fuseau horaire de votre choix.
Définition du fuseau horaire par défaut pour les calculs dans les paramètres système
CURRENT_DATE
CURRENT_TIME()
CURRENT_TIMESTAMP()
NOW()
Les administrateurs peuvent modifier l'horodatage utilisé dans les calculs à l'aide de l'option Fuseau horaire par défaut pour les calculs de date de la console qui se trouve sous Paramètres système. Sélectionnez le fuseau horaire de votre choix dans la liste déroulante et appliquez les modifications pour que la nouvelle valeur soit prise en compte.
.jpg
Pour plus d'informations sur les paramètres de fuseau horaire standard, reportez-vous à Paramètres système - Options de format.
Utilisation d'un fuseau horaire spécifique pour les horodatages dans les calculs
Pour générer dans vos calculs un horodatage différent de celui défini par le paramètre système, utilisez la fonction TIMESTAMPADD
avec CURRENT_TIMESTAMP()
ou NOW()
. Le calcul TIMESTAMPADD
de base est le suivant :
TIMESTAMPADD(SQL_TSI_<<intervalle>>, <<expression d'entier>>, <<expression d'horodatage>>)
Pour les calculs d'horodatage, HOUR sera l'intervalle, et le décalage horaire sera la différence (en heures) entre l'heure UTC et le fuseau horaire à inclure dans le rapport. Par exemple :
TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP(5))
Ce calcul renvoie l'horodatage en cours avec le fuseau horaire Rocheuses (Etats-Unis). La colonne d'horodatage peut être créée en tant que colonne dérivée dans la source de table logique ou directement mise en correspondance avec la base de données. La différence réside dans l'emplacement d'exécution du calcul : Oracle Analytics ou la base de données. Dans notre exemple, le calcul est directement mis en correspondance avec la base de données :
Dans un autre cas, lorsque le fuseau horaire par défaut est défini sur UTC, la fonction CURRENT_DATE
ne renvoie pas la date correcte pour certaines heures de la journée correspondant au fuseau horaire d'un utilisateur. Par exemple, lorsqu'il est minuit (heure UTC), la date locale ne correspond pas à la date UTC pour la durée du décalage horaire.
La conversion du calcul d'horodatage en date résout le problème. Par exemple :
cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)
Le calcul est créé en tant que colonne dérivée, comme illustré ci-dessous :
Pour les rapports ponctuels, vous pouvez créer des calculs d'horodatage au niveau du rapport dans une visualisation de données ou dans une analyse classique. Si vous envisagez de réutiliser les calculs, il est souvent plus facile de les définir en tant que colonnes dans le modèle sémantique (ou fichier RPD).
Pour plus d'informations sur les fonctions mentionnées dans cette rubrique, reportez-vous à Fonctions de date et d'heure et à Fonctions de séries temporelles.