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