Fonctions de date/heure

Les fonctions de date/heure traitent les données en fonction de DATE et DATETIME.

Fonction Exemple Description Syntaxe

CURRENT_Date

CURRENT_DATE

Retourne la date courante.

La date est déterminée par le système dans lequel Oracle BI est exécuté.

CURRENT_DATE

CURRENT_TIME

CURRENT_TIME(3)

Retourne l'heure courante avec le niveau de précision donné, par exemple : HH:MM:SS.SSS

Si aucun argument n'est spécifié, la fonction retourne le niveau de précision par défaut.

CURRENT_TIME(expr)

CURRENT_TIMESTAMP

CURRENT_TIMESTAMP(3)

Retourne la date/l'horodatage au niveau de précision spécifié.

CURRENT_TIMESTAMP(expr)

DAYNAME

DAYNAME(Order_Date)

Retourne le nom de la journée de la semaine pour une expression de date spécifiée.

DAYNAME(expr)

DAYOFMONTH

DAYOFMONTH(Order_Date)

Retourne le numéro du jour dans le mois pour l'expression de date spécifiée.

DAYOFMONTH(expr)

DAYOFWEEK

DAYOFWEEK(Order_Date)

Retourne un numéro entre 1 et 7 correspondant au jour dans l'année pour une expression de date spécifiée. Par exemple, 1 correspond toujours à dimanche, 2 à lundi, etc.

DAYOFWEEK(expr)

DAYOFYEAR

DAYOFYEAR(Order_Date)

Retourne un numéro entre 1 et 366 correspondant au jour dans l'année pour une expression de date spécifiée.

DAYOFYEAR(expr)

DAY_OF_QUARTER

DAY_OF_QUARTER(Order_Date)

Retourne un numéro entre 1 et 92 correspondant au jour dans le trimestre pour une expression de date donnée.

DAY_OF_QUARTER(expr)

HOUR

HOUR(Order_Time)

Retourne un numéro entre 0 et 23 correspondant à l'heure pour une expression d'heure donnée. Par exemple, 0 correspond à 0 h et 23 correspond à 23 h.

HOUR(expr)

MINUTE

MINUTE(Order_Time)

Retourne un numéro entre 0 et 59 correspondant aux minutes pour une expression d'heure spécifiée.

MINUTE(expr)

MONTH

MONTH(Order_Time)

Retourne un numéro entre 1 et 12 correspondant au mois pour une expression de date spécifiée.

MONTH(expr)

MONTHNAME

MONTHNAME(Order_Time)

Retourne le nom du mois pour une expression de date spécifiée.

MONTHNAME(expr)

MONTH_OF_QUARTER

MONTH_OF_QUARTER(Order_Date)

Retourne un numéro entre 1 et 3 correspondant au mois dans le trimestre pour l'expression de date spécifiée.

MONTH_OF_QUARTER(expr)

NOW

NOW()

Retourne l'horodatage courant. La fonction NOW est identique à la fonction CURRENT_TIMESTAMP.

NOW()

QUARTER_OF_YEAR

QUARTER_OF_YEAR(Order_Date)

Retourne un numéro entre 1 et 4 correspondant au trimestre dans l'année pour l'expression de date spécifiée.

QUARTER_OF_YEAR(expr)

SECOND

SECOND(Order_Time)

Retourne le nombre de secondes entre 0 et 59 pour l'expression d'heure spécifiée.

SECOND(expr)

TIMESTAMPADD

TIMESTAMPADD(SQL_TSI_MONTH, 12,Time."Order Date")

Ajoute le nombre spécifié d'intervalles à l'horodatage indiqué et retourne un horodatage unique.

Les options d'intervalle sont les suivantes : SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_YEAR

TIMESTAMPADD(interval, expr, timestamp)

TIMESTAMPDIFF

TIMESTAMPDIFF(SQL_TSI_MONTH, Time."Order Date",CURRENT_DATE)

Retourne le nombre total d'intervalles spécifiés entre deux horodatages.

Utilisez les mêmes intervalles que ceux de TIMESTAMPADD.

TIMESTAMPDIFF(interval, expr, timestamp2)

WEEK_OF_QUARTER

WEEK_OF_QUARTER(Order_Date)

Retourne un numéro entre 1 et 13 correspondant à la semaine dans le trimestre pour l'expression de date spécifiée.

WEEK_OF_QUARTER(expr)

WEEK_OF_YEAR

WEEK_OF_YEAR(Order_Date)

Retourne un numéro entre 1 et 53 correspondant à la semaine dans l'année pour l'expression de date spécifiée.

WEEK_OF_YEAR(expr)

YEAR

YEAR(Order_Date)

Retourne l'année pour l'expression de date spécifiée.

YEAR(expr)

Conseils sur l'utilisation de fonctions de date

Les conseils ci-après vous aideront à optimiser l'utilisation des fonctions de date dans vos classeurs pour le calcul des périodes fiscales, la conversion de chaînes en dates, l'affichage d'une date/heure dans un fuseau horaire spécifique et le calcul des écarts sur une période.

Calculer l'exercice financier, le trimestre et le mois d'exercice :

Les domaines possèdent généralement une dimension temporelle, ce qui permet d'utiliser les périodes préconfigurées telles que le trimestre, le mois et la semaine d'exercice. Avec seulement un champ de date, vous pouvez calculer ces périodes vous-même à l'aide de fonctions de date.

Cet exemple calcule le trimestre d'exercice :

'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)

Cet exemple calcule l'exercice financier et le mois d'exercice :

'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||cast(MONTHNAME(<same date field>) as char)

Notes :

  • || concatène les valeurs.
  • cast (xxx(date) as char) extrait une partie d'un champ de date.
  • TIMESTAMPADD ajoute des périodes à une date (ou les soustrait). Cet exemple utilise la valeur de paramètre SQL_TSI_MONTH pour ajouter des mois.

Les calculs ci-dessus fonctionnent bien dans les tableaux mais, lorsqu'ils sont utilisés dans des filtres, l'espacement entre les valeurs retournées peut sembler incorrect. Si tel est le cas, utilisez un calcul plus précis, mais plus complexe, basé sur les exemples suivants :

'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')

Convertir une chaîne en date :

Oracle Analytics profile vos données et fournit des recommandations d'enrichissement pour l'extraction et la conversion des dates. Si vous devez convertir vous-même une chaîne en date, tenez compte des conseils ci-dessous.
  • Dans le concepteur de classeur, à partir du panneau de données, naviguez jusqu'à la colonne à convertir, puis cliquez dessus avec le bouton droit de la souris et sélectionnez Convertir en date. Configurez la date et cliquez sur Ajouter une étape.

  • Dans le concepteur de classeur, à partir du panneau de données, naviguez jusqu'à la colonne à convertir, puis cliquez dessus avec le bouton droit de la souris et sélectionnez Modifier. Configurez la date et cliquez sur Ajouter une étape.

    Dans la zone de texte contenant le nom de la 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 ), puis cliquez sur Ajouter une étape.
    Description de GUID-ADBD035B-A62A-4DED-8768-553365BAABFE-default.png ci-après
    .png

    Lorsque vous utilisez l'option Modifier pour créer la fonction de conversion de date, vous pouvez également utiliser Allow_Variable_Digits pour traiter les valeurs de colonne à un ou deux chiffres, ainsi que des arguments Null_On_Error pour supprimer les rangées ne correspondant pas au modèle voulu. Voir également REPLACE et CAST pour découvrir d'autres moyens de traiter les données qui ne correspondent pas au modèle voulu.

    Au lieu de To_DateTime(), vous pouvez utiliser CAST() pour modifier le type de données d'une valeur. Par exemple, CAST(SalesDate AS DATE).

    Utilisez également l'option Remplacer. Dans le concepteur de classeur, à partir du panneau de données, naviguez jusqu'à la colonne à convertir, puis cliquez dessus avec le bouton droit de la souris et sélectionnez Remplacer. Configurez le type de remplacement voulu, puis cliquez sur Ajouter une étape.

Afficher un champ de date/heure dans un fuseau horaire spécifique :

Utilisez la fonction NEW_TIME de 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 de temps.

Calculer l'écart sur une période :

Pour afficher l'écart sous forme de nombre et de pourcentage entre maintenant et hier, créez des calculs basés sur les exemples suivants :
  • Calculer une mesure jusqu'à hier : filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
  • Calculer l'écart : Measure - filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
  • Calculer l'écart en pourcentage : 1-(filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))/Measure display as percentage

Notes :

  • Ces exemples utilisent SQL_TSI_DAY, mais vous pouvez également utiliser WEEK et MONTH d'une semaine à l'autre et d'un mois à l'autre.
  • Ces exemples utilisent un calendrier normal ou naturel. Si vous avez besoin de mois et de trimestres d'exercice, utilisez des variables de référentiel dans vos calculs à la place de TIMESTAMPADD. Vous pouvez également associer ce conseil à Calculer l'exercice financier, le trimestre et le mois d'exercice.
  • Certains domaines incluent des mesures précalculées "X précédent" telles que PY (exercice précédent), PQ (trimestre précédent) que vous pouvez utiliser pour calculer les écarts sur une période.
  • Vous pouvez également utiliser les fonctions de série chronologique : AGO, PERIODROLLING et TODATE. Voir Fonctions de série chronologique.