Les fonctions de date et d'heure permettent de manipuler des données d'après DATE
et DATETIME
.
Fonction | Exemple | Description | Syntaxe |
---|---|---|---|
CONVERT_TZ | CONVERT_TZ(Order Date, 'UTC', 'America/Denver') |
Convertit une valeur de date et d'heure expr à partir du fuseau horaire indiqué par Old time zone vers le fuseau horaire indiqué par New time zone , et renvoie la valeur résultante. |
CONVERT_TZ(expr, 'Old time zone', 'New time zone') |
CURRENT_Date |
|
Renvoie la date actuelle. Celle-ci est déterminée par le système sur lequel Oracle BI est exécuté. |
|
CURRENT_TIME |
|
Renvoie l'heure actuelle au nombre de chiffres de précision indiqué, par exemple : HH:MM:SS.SSS En l'absence d'argument, la fonction renvoie la précision par défaut. |
|
CURRENT_TIMESTAMP |
|
Renvoie la date/l'horodatage actuel au nombre de chiffres de précision indiqué. |
|
DAYNAME |
|
Renvoie le nom du jour de la semaine pour l'expression de date indiquée. |
|
DAYOFMONTH |
|
Renvoie le numéro correspondant au jour du mois pour l'expression de date indiquée. |
|
DAYOFWEEK |
|
Renvoie le numéro, compris entre 1 et 7, correspondant au jour de la semaine pour l'expression de date indiquée. Par exemple, 1 correspond toujours au dimanche, 2 au lundi, et ainsi de suite jusqu'au chiffre 7 qui correspond au samedi. |
|
DAYOFYEAR |
|
Renvoie le numéro (compris entre 1 et 366) correspondant au jour de l'année pour l'expression de date indiquée. |
|
DAY_OF_QUARTER |
|
Renvoie le numéro (compris entre 1 et 92) correspondant au jour du trimestre pour l'expression de date indiquée. |
|
HOUR |
|
Renvoie le numéro (compris entre 0 et 23) correspondant à l'heure pour l'expression d'heure indiquée. Par exemple, 0 correspond à minuit et 23 correspond à 23 heures. |
|
MINUTE |
|
Renvoie le numéro (compris entre 0 et 59) correspondant à la minute pour l'expression d'heure indiquée. |
|
MONTH |
|
Renvoie le numéro (compris entre 1 et 12) correspondant au mois pour l'expression de date indiquée. |
|
MONTHNAME |
|
Renvoie le nom du mois pour l'expression de date indiquée. |
|
MONTH_OF_QUARTER |
|
Renvoie le numéro (compris entre 1 et 3) correspondant au mois du trimestre pour l'expression de date indiquée. |
|
NOW |
|
Renvoie l'horodatage actuel. La fonction |
|
QUARTER_OF_YEAR |
|
Renvoie le numéro (compris entre 1 et 4) correspondant au trimestre de l'année pour l'expression de date indiquée. |
|
SECOND |
|
Renvoie le numéro (compris entre 0 et 59) correspondant aux secondes pour l'expression d'heure indiquée. |
|
TIMESTAMPADD |
|
Ajoute un nombre donné d'intervalles à un horodatage et renvoie un horodatage unique. Les options d'intervalle suivantes sont disponibles : SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_YEAR |
|
TIMESTAMPDIFF |
|
Renvoie le nombre total d'intervalles indiqués entre deux horodatages. Utilisez les mêmes intervalles que TIMESTAMPADD. |
|
WEEK_OF_QUARTER |
|
Renvoie le numéro (compris entre 1 et 13) correspondant à la semaine du trimestre pour l'expression de date indiquée. |
|
WEEK_OF_YEAR |
|
Renvoie le numéro (compris entre 1 et 53) correspondant à la semaine de l'année pour l'expression de date indiquée. |
|
YEAR |
|
Renvoie l'année pour l'expression de date indiquée. |
|
Voici quelques conseils pour obtenir les meilleurs résultats lorsque vous utilisez des fonctions de date dans vos classeurs afin de calculer des périodes fiscales, de convertir des chaînes en dates, d'afficher une date et une heure dans un fuseau horaire spécifique, et de calculer les différences dans le temps.
Calcul de l'année, du trimestre et du mois fiscaux :
Les domaines ont généralement une dimension Temps. Vous pouvez donc utiliser les périodes préconfigurées, telles que le trimestre fiscal, le mois fiscal et la semaine fiscale. Si vous avez uniquement un champ de date, vous pouvez calculer ces périodes vous-même à l'aide des fonctions de date.
Dans cet exemple, le trimestre fiscal est calculé :
'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||'Q'||cast(QUARTER(TIMESTAMPADD(SQL_TSI_MONTH, 7,<same date field>)) as char)
Dans cet exemple, l'exercice et le mois fiscal sont calculés :
'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||cast(MONTHNAME(<same date field>) as char)
Remarques :
||
valeurs concaténées.cast (xxx(date) as char)
extrait une partie d'un champ de date.TIMESTAMPADD
ajoute (ou soustrait) des périodes à partir d'une date. Cet exemple utilise la valeur de paramètre SQL_TSI_MONTH pour ajouter des mois.Les calculs ci-dessus fonctionnent bien dans les tables. En revanche, lorsqu'ils sont utilisés dans des filtres, l'espacement entre les valeurs renvoyées peut être étrange. Dans ce cas, utilisez un calcul plus clair mais plus complexe en vous aidant de ces exemples :
'FY'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<date field>,7)),'YY')||'-Q'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<same date field>,7)),'Q')
'FY'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<date field>,7)),'YY')||'-'||evaluate ('to_char(%1,%2)'as char,<same date field>,'MON')
Conversion d'une chaîne en date :
Dans la zone de texte contenant le nom de votre colonne en bleu, insérez To_DateTime(
avant le nom de la colonne, puis ajoutez le format de date à utiliser après le nom de la colonne, suivi de )
. Ensuite, cliquez sur Ajouter une étape.
.png
Lorsque vous utilisez l'option Modifier pour créer votre fonction de conversion de date, vous pouvez également utiliser Allow_Variable_Digits
afin de traiter les valeurs de colonne à un ou deux chiffres, et les arguments Null_On_Error
en vue d'annuler les lignes qui ne correspondent pas au modèle requis. Reportez-vous également à REPLACE et à CAST pour découvrir d'autres méthodes de traitement des données ne correspondant pas au modèle requis.
A la place de To_DateTime()
, vous pouvez utiliser CAST() pour modifier le type de données d'une valeur. Par exemple : CAST(SalesDate AS DATE)
.
Vous pouvez également utiliser l'option Remplacer. Dans le concepteur de classeur, naviguez dans le panneau de données vers la colonne à convertir. Cliquez ensuite avec le bouton droit de la souris et choisissez Remplacer. Configurez le type de remplacement de votre choix, puis cliquez sur Ajouter une étape.
Affichage d'un champ de date/heure dans un fuseau horaire spécifique :
Utilisez la fonction NEW_TIME dans la base de données avec EVALUATE. Par exemple :
evaluate ('new_time(%1,%2,%3)' as char, "DV - Pipeline and Forecast"."Opportunity"."Last Updated Date",'GMT','AST')
Assurez-vous que le champ de date inclut le composant d'heure.
Calcul de la différence dans le temps :
filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
Measure - filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
1-(filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))/Measure display as percentage
Remarques :
SQL_TSI_DAY
. Vous pouvez toutefois utiliser WEEK et MONTH semaine après semaine et mois après mois.