Configurer les horodatages

Dans Oracle Analytics, les administrateurs définissent le fuseau horaire par défaut pour les calculs de date et d'heure dans Paramètres de système. Ce paramètre global s'applique à tous les calculs. Cette rubrique explique comment utiliser la fonction TIMESTAMPADD pour spécifier un autre fuseau horaire si vous voulez utiliser un autre horodatage pour un calcul particulier.

Définir le fuseau horaire par défaut pour les calculs dans les paramètres de système

Par défaut, l'heure système pour Oracle Analytics Cloud est basée sur l'heure UTC. Les fonctions suivantes retournent des valeurs à l'aide de l'heure ou de la date UTC :
  • CURRENT_DATE
  • CURRENT_TIME()
  • CURRENT_TIMESTAMP()
  • NOW()

En tant qu'administrateur, vous pouvez modifier l'horodatage utilisé dans les calculs à l'aide de l'option Fuseau horaire par défaut pour le calcul des dates dans la console, sous Paramètres système avancés. Sélectionnez le fuseau horaire souhaité dans la liste déroulante et appliquez les modifications pour que la nouvelle valeur soit prise en compte.

Description de GUID-8DB3356D-CD0C-471F-ACA2-9151598FAB51-default.png ci-après
.png

Pour plus d'informations sur les paramètres de fuseau horaire global, voir Paramètres de système - Options de format.

Utiliser un fuseau horaire spécifique pour des horodatages dans des calculs

Pour générer un horodatage autre que celui du paramètre de système dans vos calculs, utilisez la fonction TIMESTAMPADD avec CURRENT_TIMESTAMP() ou NOW(). Le calcul de base pour TIMESTAMPADD est :

TIMESTAMPADD(SQL_TSI_<<intervalle>>, <<expression d'entier>>, <<expression d'horodatage>>)

Pour les calculs d'horodatage, la valeur HOUR est l'intervalle et le décalage horaire est la différence en heures entre le temps UTC et le fuseau horaire à utiliser. Par exemple :

TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP(5))

Ce calcul retourne l'horodatage courant en heure des Rocheuses (É.-U.) Vous pouvez créer la nouvelle colonne d'horodatage en tant que colonne dérivée dans la source de table logique ou la mapper directement à la base de données. La différence est l'endroit où le calcul doit être effectué : Oracle Analytics ou la base de données. L'illustration suivante présente un calcul mappé directement à la base de données dans la boîte de dialogue Générateur d'expressions - Expression.

Description de GUID-27A25D1D-56A1-4C02-9FC2-106F9BAFBE71-default.jpg ci-après
.jpg

Lorsque le fuseau horaire par défaut est réglé à UTC, la fonction CURRENT_DATE ne retourne pas la date correcte pour certaines heures de la journée par rapport au fuseau horaire d'un utilisateur. Par exemple, lorsqu'il est minuit UTC, la date locale ne correspond pas à la date UTC pendant la durée du décalage horaire.

La présentation du calcul d'horodatage en tant que date permet de résoudre ce problème. Par exemple :

cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)

L'illustration suivante présente un calcul qui est créé en tant que colonne dérivée dans la boîte de dialogue Générateur d'expressions - Colonne logique dérivée.

Description de GUID-49CFA011-ED91-477F-AE42-7CEE3D090E34-default.jpg ci-après
.jpg

Pour les rapports uniques ou singuliers, vous pouvez créer des calculs d'horodatage au niveau du rapport dans une visualisation de données ou une analyse classique. Si vous prévoyez 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, voir Fonctions de date/heure et Fonctions de série chronologique.