Fonctions de date

Cet article présente les fonctions de date et leurs utilisations dans Tableau. Il explique également comment créer un calcul de date en s'appuyant sur un exemple.

Créer un calcul de date

Suivez les étapes ci-dessous pour apprendre à créer un calcul de date.

  1. Dans Tableau Desktop, connectez-vous à la source de données Sample - Superstore enregistrée qui est fournie avec Tableau.

  2. Accédez à une feuille de calcul.

  3. Dans le volet Données, sous Dimensions, faites glisser Order Date (Date de commande) sur l'étagère Lignes.

  4. Sur l'étagère Lignes, cliquez sur l'icône plus (+) dans le champ YEAR(Order Date).

    QUARTER(Order Date) est ajouté à l'étagère Lignes et la vue se met à jour.

  5. Dans l'étagère Lignes, cliquez sur l'icône plus (+) dans le champ QUARTER(Order Date) pour explorer en cascade jusqu'à MONTH(Order Date).

  6. Sélectionnez Analyse > Créer un champ calculé.

  7. Dans l'éditeur de calcul qui s'ouvre, procédez comme suit :

    • Nommez le champ calculé Date du trimestre.

    • Entrez la formule suivante :

      DATETRUNC('quarter', [Order Date])

    • Lorsque vous avez terminé, cliquez sur OK.

      Le nouveau champ calculé de date apparaît sous Dimensions dans le volet Données. Comme vos autres champs, vous pouvez l'utiliser dans une ou plusieurs visualisations.

  8. Dans le volet Données sous Dimensions, faites glisser Date du trimestre vers l'étagère Lignes et placez-le à droite de MONTH(Order Date).

    La visualisation se met à jour avec les valeurs d'année. Ceci se produit parce que Tableau récapitule les données jusqu'au plus haut niveau de détail.

  9. Sur l'étagère Lignes, faites un clic droit sur YEAR(Quarter Date) et sélectionnez Date exacte.

  10. Sur l'étagère Lignes, faites à nouveau un clic droit sur YEAR(Quarter Date) et sélectionnez Discret.

    La visualisation se met à jour avec la date exacte du trimestre pour chaque ligne de la table.

Pourquoi utiliser des fonctions de date

Les fonctions de date vous permettent de manipuler les dates dans votre source de données.

Par exemple, vous pouvez avoir un champ de date avec année, mois et jour pour chaque valeur (2004-04-15). À partir de ces valeurs existantes, vous pouvez créer de nouvelles valeurs de date avec une fonction de date, par exemple la fonction DATETRUNC. Par exemple, vous pouvez trouver la date du début du trimestre pour toute valeur de date existante.

Le calcul de date peut se présenter comme suit :

DATETRUNC('quarter', [Order Date])

Ainsi, si la date d'origine est '3/27/2011', le calcul ci-dessus renvoie '1/1/2011' pour indiquer que le 1er trimestre a commencé le 1er janvier. Si la date d'origine est « 5/3/2011 », le calcul renvoie « 4/1/2011 » pour indiquer que le 2nd trimestre a commencé le 1er avril, au bout de quatre mois dans l'année.

Consultez la section Créer un calcul de date ci-dessous pour un exemple.

Comparaison entre le calendrier grégorien et la norme ISO 8601

Si vous utilisez un extrait .hyper, les fonctions de date peuvent être calculées à l'aide du calendrier grégorien traditionnel ou de la norme ISO 8601. Pour plus d'informations sur la création d'un extrait .hyper, consultez Mise à niveau d'extraits vers le format .hyper(Le lien s’ouvre dans une nouvelle fenêtre)

Le format ISO 8601 est une norme internationale de calcul des dates et heures. Il diffère du calendrier grégorien en raison du mode de calcul du début de semaine de l'année (Semaine 1). Dans le calendrier grégorien, l'utilisateur peut définir le jour de début de la semaine. Dans la norme ISO 8601, la semaine commence toujours un lundi.

Dans un calendrier grégorien, lorsque la nouvelle année commence, la semaine 1 de l'année est comptée comme commençant le 1er janvier, quel que soit le jour de la semaine sur lequel tombe le 1er janvier. Si le 1er janvier tombe un samedi, la semaine 1 aura un jour, et la semaine 2 commencera le dimanche suivant.

Dans le format ISO 8601, la semaine 1 d'une nouvelle année commence un lundi et a quatre jours ou plus en janvier. Par exemple, si le 1er janvier tombe un samedi, la semaine 1 ne commencera pas avant le lundi 3 janvier suivant. Ce mode de calcul des dates garantit un nombre cohérent de jours dans la semaine 1 d'une nouvelle année.

Pour plus d'informations sur l'utilisation des dates ISO 8601, consultez Calendrier ISO-8601 basé sur les semaines(Le lien s’ouvre dans une nouvelle fenêtre).

Fonctions de date disponibles dans Tableau :

Fonction

Syntaxe

Description

DATEADD

DATEADD(date_part, interval, date)

Retourne la date spécifiée avec le numéro spécifié interval ajouté à l'élément date_part spécifié de cette date.

Prend en charge les dates ISO 8601.

Exemple :

DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM

Cette expression permet d'ajouter trois mois à la date #2004-04-15#.

DATEDIFF

DATEDIFF(date_part, date1, date2, [start_of_week])

Renvoie la différence entre date1 et date2 exprimée en unités de date_part.

Le paramètre start_of_week, que vous pouvez utiliser pour spécifier le jour à considérer comme le premier jour de la semaine, est facultatif. Les valeurs possibles sont « lundi », « mardi », etc. S'il est omis, le début de la semaine est déterminé par la source de données. Consultez Propriétés de date pour une source de données.

Prend en charge les dates ISO 8601.

Exemples :

DATEDIFF('week', #2013-09-22#, #2013-09-24#, 'monday')= 1
DATEDIFF('week', #2013-09-22#, #2013-09-24#, 'sunday')= 0

La première expression renvoie 1, car lorsque start_of_week prend la valeur 'monday', le 22 septembre (un dimanche) et le 24 septembre (un mardi) ne sont pas deux jours de la même semaine. La seconde expression renvoie 0, car lorsque start_of_week prend la valeur 'sunday' , le 22 septembre (un dimanche) et le 24 septembre (un mardi) sont deux jours de la même semaine.

DATENAME

DATENAME(date_part, date, [start_of_week])

Renvoie date_part de date sous la forme d'une chaîne. Le paramètre start_of_week, que vous pouvez utiliser pour spécifier le jour à considérer comme le premier jour de la semaine, est facultatif. Les valeurs possibles sont « lundi », « mardi », etc. Si start_of_week est omis, le début de la semaine est déterminé par la source de données. Consultez Propriétés de date pour une source de données.

Prend en charge les dates ISO 8601.

Exemples :

DATENAME('year', #2004-04-15#) = "2004"
DATENAME('month', #2004-04-15#) = "April"

DATEPARSE DATEPARSE(date_format, [date_string])

Retourne [date_string] sous forme de date. L’argument date_format décrit comment le champ [chaîne] est disposé. Étant donné que le champ de type chaîne peut être disposé de multiples manières, date_format doit correspondre exactement. Pour une explication complète, consultez Convertir un champ en un champ de date.

Exemple :

DATEPARSE('yyyy-MM-dd', #2004-04-15#) = "April 4, 2004"

Remarque : cette fonction est disponible dans les connecteurs suivants : connexions aux fichiers Excel et texte non hérités, Amazon EMR Hadoop Hive, Cloudera Hadoop, Google Sheets, Hortonworks Hadoop Hive, MapR Hadoop Hive, MySQL, Oracle, PostgreSQL et extraits Tableau. Certains formats peuvent ne pas être disponibles pour toutes les connexions.

Remarque : DATEPARSE n’est pas pris en charge sur les variantes Hive. Seuls Denodo, Drill et Snowflake sont pris en charge.

DATEPART

DATEPART(date_part, date, [start_of_week])

Renvoie date_part de date sous la forme d'un nombre entier.

Le paramètre start_of_week, que vous pouvez utiliser pour spécifier le jour à considérer comme le premier jour de la semaine, est facultatif. Les valeurs possibles sont « lundi », « mardi », etc. Si start_of_week est omis, le début de la semaine est déterminé par la source de données. Consultez Propriétés de date pour une source de données.

Remarque : Lorsque date_part est un jour de la semaine, le paramètre start_of_week est ignoré. En effet, Tableau s'appuie sur un ordre fixe des jours de la semaine pour appliquer les décalages.

Prend en charge les dates ISO 8601.

Exemples :

DATEPART('year', #2004-04-15#) = 2004
DATEPART('month', #2004-04-15#) = 4

DATETRUNC

DATETRUNC(date_part, date, [start_of_week])

Tronque la date indiquée au niveau indiqué par la valeur date_part. Cette fonction renvoie une nouvelle date. Par exemple, lorsque vous tronquez une date qui se situe au milieu du mois au niveau mois, cette fonction renvoie le premier jour du mois. Le paramètre start_of_week, que vous pouvez utiliser pour spécifier le jour à considérer comme le premier jour de la semaine, est facultatif. Les valeurs possibles sont « lundi », « mardi », etc. Si start_of_week est omis, le début de la semaine est déterminé par la source de données. Consultez Propriétés de date pour une source de données.

Prend en charge les dates ISO 8601.

Exemples :

DATETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM
DATETRUNC('month', #2004-04-15#) = 2004-04-01 12:00:00 AM

DAY

DAY(date)

Renvoie le jour d'une date donnée sous la forme d'un entier.

Exemple :

DAY(#2004-04-12#) = 12

ISDATE

ISDATE(string)

Renvoie la valeur vrai si une chaîne donnée est une date valide.

Exemple :

ISDATE("April 15, 2004") = true

MAKEDATE

MAKEDATE(year, month, day)

Renvoie une valeur de date créée à partir de l'année, du mois et du jour spécifiés.

Disponible pour les extraits de données Tableau. Vérifiez la disponibilité dans d'autres sources de données.

Exemple :

MAKEDATE(2004, 4, 15) = #April 15, 2004#

MAKEDATETIME

MAKEDATETIME(date, time)

Renvoie des données date/heure composées d'une date et d'une heure. La date peut être une information de type date, date/heure ou chaîne. L'heure doit être une information de type date/heure.

Remarque : Cette fonction est disponible uniquement pour les connexions compatibles MySQL (pour Tableau, MySQL et Amazon Aurora).

Exemples :

MAKEDATETIME("1899-12-30", #07:59:00#) = #12/30/1899 7:59:00 AM#
MAKEDATETIME([Date], [Time]) = #1/1/2001 6:00:00 AM#

MAKETIME

MAKETIME(hour, minute, second)

Renvoie une valeur de date créée à partir de l'heure, des minutes et des secondes spécifiées.

Disponible pour les extraits de données Tableau. Vérifiez la disponibilité dans d'autres sources de données.

Exemple :

MAKETIME(14, 52, 40) = #14:52:40#

MAX

MAX(expression) or MAX(expr1, expr2)

S'applique généralement aux nombres, mais fonctionne également sur les dates. Renvoie la valeur maximale de a et b (a et b doivent être du même type). Renvoie la valeur Null si l'un des arguments est Null.

Exemples :

MAX(#2004-01-01# ,#2004-03-01#) = 2004-03-01 12:00:00 AM
MAX([ShipDate1], [ShipDate2])

MIN

MIN(expression) or MIN(expr1, expr2)

S'applique généralement aux nombres, mais fonctionne également sur les dates. Renvoie la valeur minimale de a et b (a et b doivent être du même type). Renvoie la valeur Null si l'un des arguments est Null.

Exemples :

MIN(#2004-01-01# ,#2004-03-01#) = 2004-01-01 12:00:00 AM
MIN([ShipDate1], [ShipDate2])

MONTH

MONTH(date)

Renvoie le mois d'une date donnée sous la forme d'un nombre entier.

Exemple :

MONTH(#2004-04-15#) = 4

NOW

NOW( )

Renvoie la date et l'heure actuelles du système local.

Exemple :

NOW( ) = 2004-04-15 1:08:21 PM

QUARTER QUARTER ( )

Renvoie le trimestre d'une date donnée sous la forme d'un nombre entier.

Exemple :

WEEK (#2004-04-15#) = 16

TODAY

TODAY( )

Renvoie la date actuelle.

Exemple :

TODAY( ) = 2004-04-15

WEEK WEEK( )

Renvoie la semaine d'une date donnée sous la forme d'un nombre entier.

Exemple :

WEEK (#2004-04-15#) = 16

YEAR

YEAR (date)

Renvoie l'année d'une date donnée sous la forme d'un nombre entier.

Exemple :

YEAR(#2004-04-15#) = 2004

ISOQUARTER ISOQUARTER (date)

Renvoie le trimestre ISO8601 basé sur les semaines d'une date donnée sous la forme d'un nombre entier.

Exemple :

ISOQUARTER (#2005-03-29#) = 2

ISOWEEK ISOWEEK (date)

Renvoie la semaine ISO8601 basée sur les semaines d'une date donnée sous la forme d'un nombre entier.

Exemple :

ISOWEEK (#2004-03-29#) = 14

ISOWEEKDAY ISOWEEKDAY (date)

Renvoie le jour ISO8601 basé sur les semaines d'une date donnée sous la forme d'un nombre entier.

Exemple :

ISOWEEKDAY (#2004-03-29#) = 1

ISOYEAR ISOYEAR (date)

Renvoie l’année ISO8601 basée sur les semaines d'une date donnée sous la forme d'un nombre entier.

Exemple :

ISOYEAR (#2003-12-29#) = 2004


Valeurs date_part

De nombreuses fonctions de date dans Tableau utilisent date_part, qui est un argument de type chaîne constante.

Les valeurs date_part valides que vous pouvez utiliser sont les suivantes :

date_part Valeurs
'year' Année exprimée à l'aide de quatre chiffres
'quarter' 1-4
'month' 1-12 ou "janvier", "février", etc.
'dayofyear' Jour de l'année ; 1 correspond au 1er janvier, 32 correspond au 1er février, etc.
'day' 1-31
'weekday' 1-7 ou "lundi, "mardi, etc.
'week' 1-52
'hour' 0-23
'minute' 0-59
'second' 0-60
'iso-year' Année ISO 8601 à quatre chiffres
'iso-quarter' 1-4
'iso-week' 1-52, le début de la semaine est toujours un lundi
'iso-weekday' 1-7, le début de la semaine est toujours un lundi

Pour plus d'informations sur la mise en forme des fonctions de date, consultez la section Expressions littérales du tableau Présentation générale de la syntaxe des calculs(Le lien s’ouvre dans une nouvelle fenêtre).

Remarque : Les fonctions de date ne prennent pas en considération le début de l'année fiscale configurée. Consultez Dates fiscales pour plus d'informations.

Remarque : date_part retourne un entier. Les valeurs ci-dessous sont des entrées que date_part accepte et le format de cette entrée.

Consultez également

Dates fiscales

Dates et heures

Propriétés de date pour une source de données

Dates personnalisées

Formats de date personnalisés

Fonctions de Tableau (par ordre alphabétique)

Fonctions de Tableau (par catégorie)

Mise en forme des calculs dans Tableau

Fonctions dans Tableau

Merci de vos commentaires !