BASE DE CONNAISSANCES

Création de calculs de date pour des plages de dates spécifiques


Date de publication : 31 Jan 2013
Date de dernière modification : 25 Aug 2023

Question

Comment créer des champs calculés qui peuvent être utilisés pour filtrer des plages de dates spécifiques, par exemple les n derniers jours, la semaine précédente ou une plage de dates spécifiques.

Environnement

Tableau Desktop

Réponse

Utilisez les formules suivantes comme modèles à partir desquels créer des champs calculés. Dans les formules ci-dessous, la Date est le nom de la dimension de date.
 
CLIQUER POUR DÉVELOPPER LA SOLUTION

Filtrage d'une plage de jours

Utilisez la formule suivante pour créer un champ calculé filtrant les n derniers jours :

IF [Date] < (today() - <n> + 1) OR [Date] > today() THEN NULL ELSE [Date] END
Par exemple, un champ calculé filtrant les données sur les 90 derniers jours présenterait la formule suivante :
IF [Date] < (today() - 90 + 1) OR [Date] > today() THEN NULL ELSE [Date] END
Formule pour les 7 derniers jours :
IF [Date] < (today() - 7 + 1) OR [Date] > today() THEN NULL ELSE [Date] END
 
CLIQUER POUR DÉVELOPPER LA SOLUTION

Filtrage des semaines

Utilisez la formule suivante pour filtrer les données de l'avant-dernière semaine :
IF [Date] > (today() - 8 + 1) OR [Date] <= (today() - 15 + 1)
THEN NULL ELSE [Date] END
Utilisez la formule suivante pour filtrer les huit dernières semaines :
IF 
DATEPART('week', [Date]) <DATEPART('week', TODAY()) - 8 
OR 
DATEPART('week', [Date]) > DATEPART('week', TODAY()) -1 
THEN NULL 
ELSE [Date]
END

Informations supplémentaires

  • Vous pouvez utiliser un paramètre de date, un autre champ ou une date fixe au lieu de TODAY() pour baser le calcul sur une date d'amorce différente.
  • Les calculs peuvent être modifiés avec n'importe quelle valeur date_part référencée dans Fonctions de dates pour filtrer différents niveaux de dates.

Pour afficher les exemples ci-dessus en action, visionnez la vidéo ci-dessous.

Remarque : l'exemple de source de données Superstore a pour date maximum le 6 janvier 2016 comme dimension de date d'expédition. Cela signifie que, dans ce cas, nous ne pouvons pas utiliser TODAY() mais que nous utilisons un substitut à la place.


Cet article vous a-t-il permis de résoudre le problème ?