Horodatages

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

Par défaut, l'heure système pour Oracle Analytics Cloud dépend de l'heure UTC. Les fonctions suivantes renvoient des valeurs à l'aide de la date ou de l'heure UTC :
  • 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.

La description de GUID-8DB3356D-CD0C-471F-ACA2-9151598FAB51-default.jpg est la suivante
.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 :

La description de GUID-27A25D1D-56A1-4C02-9FC2-106F9BAFBE71-default.jpg est la suivante
.jpg

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 :

La description de GUID-49CFA011-ED91-477F-AE42-7CEE3D090E34-default.jpg est la suivante
.jpg

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.