Personnaliser une table de dates

13 février 2024

Pourquoi ?

Comme déjà dit, avoir sa propre table du temps est un gage de qualité. Alors pourquoi ne pas en profiter pour ajouter les colonnes utiles à notre rapport ?

Ajout de colonnes

Selon les segments que l’on voudra ajouter au rapport, il faut ajouter les colonnes nécessaires. Sans être exhaustif, on ajoutera par exemple : Année, Mois, le numéro de la semaine, etc.

La plupart de ces fonctions prennent un argument qui correspond à la colonne Date créée automatiquement par le fonction CALENDAR vue précédemment.

Année

Fonction YEAR

Année = YEAR(Dates[Date])

Mois

Fonction MONTH

Mois = MONTH(Dates[Date])

Mois en lettre

Fonction FORMAT

Mois en lettre = 
	FORMAT(
		Dates[Date],
		"mmmm"
	)

Explications

La fonction FORMAT prend 3 paramètres dont 1 facultatif :

  • le texte que l’on souhaite formaté, ici la colonne Date
  • le motif ou pattern que l’on souhaite. Il va définir la valeur retournée. Il faut se référer à la documentation et ses exemples pour connaitre les éléments à utiliser. Ici, la lettre “m” permet de récupérer le mois. Pour l’avoir en lettres, il en faut 4, d’où le “mmmm”.

Ce principe de pattern est très puissant et permet de réaliser des retours sur mesure. Par exemple, le pattern “dddd dd mmmm yyyy” retournera quelques chose comme “Jeudi 20 janvier 2020”

  • Dernière élément (optionnel) : la langue de sortie. Par défaut, le DAX retourne dans la langue de la machine, le français pour nous. Mais vous pouvez forcer un autre retour comme l’anglais par exemple en utilisant “EN” comme troisième argument.

Puisque l’on a le mois en lettres, on peut se demander quel est l’intérêt d’avoir une colonne avec le mois en chiffre (1-12).

Il s’agit ici de résoudre un problème que l’on rencontrera lors de la création du rapport : si vous utilisez la colonne “Mois en lettres” dans un visuel, l’échelle de valeur sera classée par ordre alphabétique et non par ordre chronologique et commencera par le mois d’août.

Pour commencer par janvier, on va indiquer à Power BI de trier la colonne “Mois en lettre” en utilisant la colonne “Mois” qui contient les valeurs chiffrées :

  • depuis l’onglet “Affichage Table”, sélectionner la table de dates dans le volet de droite.
  • sélectionner la colonne “Mois en lettre”
  • cliquer dans le ruban sur “Trier la colonne par” et choisir la colonne “Mois”

Désormais, chaque fois que vous utiliserez la colonne “Mois en lettre” dans un visuel, le tri sera bien par ordre chronologique.