Données groupées par semaine débutant à une journée choisie

Publié le 08 mai 2023
par Kim Leblanc BAA

Suite à la publication d’un article concernant la fonction pour grouper des données dans Power BI, une personne demandait si c’était possible de grouper les données par semaine en utilisant le jeudi comme début de semaine.

Dans ce cas, la fonction de regroupement, indiqué dans l’article mentionné, n’est pas vraiment indiquée. Je suggère plutôt d’utiliser une table de dates pour arriver au résultat souhaité.

Maintenant, comment faire pour grouper des dates avec des semaines débutant le jeudi ?

 

Création de la table de dates

Premièrement, vous devriez toujours avoir une table de dates dans vos modèles de données. Pour ma part, je préfère construite cette table dans Power Query au lieu d’utiliser une fonction DAX (CALENDAR ou CALENDARAUTO).

En effet, il est plus facile d’ajouter différents éléments personnalisés à notre table dans Power Query. C’est le cas pour avoir des données groupées par semaine débutant le jeudi.

Il y a différentes méthodes pour créer une table de dates dans Power Query. Dans le cas présent, je vais utiliser la fonction List.Dates.

Il faut passer dans cette fonction 3 paramètres :

  • une date de début
  • un nombre d’occurrences
  • un pas à utiliser pour chaque changement de lignes

Pour indiquer la date de début, idéalement l’on utiliserait la date minimale de notre table de fait, mais pour y aller simplement ici, je vais utiliser la fonction #date(2023,1,1) pour identifier la date du 1er janvier 2023.

Pour le nombre d’occurrences, je vais indiquer 90 (mais encore une fois, il serait possible d’aller chercher la date maximale de notre table de fait afin de calculer le nombre d’occurences.)

Finalement comme je veux une table de dates avec une ligne par journée, je vais utiliser la fonction #duration(1,0,0,0). Les 4 paramètres de #duration étant respectivement : jour, heure, minute, seconde.

Le CFO Masqué - Grouper des données par semaine

 

Ensuite, pour ajouter des colonnes à la table de dates, il faut modifier la liste en table. Pour ce fait, il faut aller dans le menu Outils liste, puis sélectionner l’option Vers la table. Ensuite, il faut changer le format de notre colonne pour mettre un type de donnée date.

Le CFO Masqué - Grouper des données par semaine

 

Ajouter différents éléments à notre table de dates

On pourra maintenant choisir les différentes colonnes à ajouter à notre table de dates qui nous serviront pour faire différentes analyses par période : une colonne année, mois, trimestre, semaine, etc.

Sachez que lorsque vous sélectionnez votre colonne de dates, vous avez la possibilité d’ajouter plusieurs colonnes relatives à des périodes. Il faut aller dans le menu Ajouter une colonne et sélectionner dans le menu Date l’option qui nous convient.

Le CFO Masqué - Grouper des données par semaine

 

1. Ajouter le nom du jour

Commençons par ajouter le nom du jour, ce qui nous permettra de vérifier que notre début de semaine va bien concorder avec le jeudi.

Pour se faire, il faut aller dans le menu Jour et choisir Nom du jour.

Le CFO Masqué - Grouper des données par semaine

 

2. Ajouter le numéro de la semaine

Ajoutons ensuite le numéro de la semaine correspondant à chacune des dates.

Toujours par le menu Jour, sélectionner l’option Jour de la semaine.

Note : il ne faut pas oublier de sélectionner la colonne date avant chacun des ajouts de colonnes, sinon, le menu Date sera grisé et non disponible.

Voici le résultat à ce stade-ci :

Le CFO Masqué - Grouper des données par semaine

 

Remarquez que par défaut, le premier jour de la semaine (Jour de la semaine = 0) est le dimanche. Pour y remédier, il faut modifier le code M de cette étape comme ceci.

Code M original :

 

Le CFO Masqué - Grouper des données par semaine

 

Il faut aller modifier la fonction Date.DayOfWeek et ajouter un 2e paramètre qui est optionnel et qui indique quelle journée sera considérée comme le 1er jour de la semaine.

Le CFO Masqué - Grouper des données par semaine

 

Nous avons vu dans le résultat de l’étape précédente que le jeudi était considéré comme 4, c’est donc ce que l’on insère comme 2e paramètre. À noter que vous pourriez aussi utiliser la fonction Day.Thursday qui serait l’équivalent d’utiliser un 4.

Le CFO Masqué - Grouper des données par semaine

 

3. Ajouter la date de début

Finalement, ajoutons la date de début de semaine en sélectionnant la colonne Date de nouveau, puis dans le menu Date, Semaine, puis Début de semaine.

Le CFO Masqué - Grouper des données par semaine

 

Nous avons maintenant la même situation qui se produit, la fonction Date.StartOfWeek utilise par défaut le dimanche comme première journée de la semaine. Vous aurez compris qu’il faut faire le même ajustement.

Le code M par défaut :

Le CFO Masqué - Grouper des données par semaine

 

En ajoutant un 2e paramètre (4) à la fonction Date.StartOfWeek

Le CFO Masqué - Grouper des données par semaine

 

Voici le résultat final dans Power Query :

Le CFO Masqué - Grouper des données par semaine

 

En utilisant la colonne Début de semaine de la table de dates dans les visuels, l’on pourra grouper les données par semaine. À vous d’ajuster le tout pour le début de semaine qui vous convient.

Voici deux exemples de visuels que l’on pourrait créer:
Visualisation SemaineLe CFO Masqué - Grouper des données par semaine

Visualisation SemaineLe CFO Masqué - Grouper des données par semaine

 


Fichier d’accompagnement VIP à télécharger

Pour télécharger le fichier utilisé dans ce tutoriel, devenez membre VIP du CFO masqué.

 

Formation complémentaire

Vous devez manipuler et analyser beaucoup de données et êtes à la recherche d’un outil BI (Business Intelligence) performant, en mode libre-service ? Suivez la formation Power BI – Niveau 1.

Voici quelques commentaires d’apprenants ayant suivi cette formation :

Le CFO masqué - Commentaires d'apprenants ayant suivi la formation : Power BI - Niveau 1
CFO-Masque_Formations-en-ligne_FBLa mission du CFO masqué est de développer les compétences techniques des analystes et des contrôleurs de gestion en informatique décisionnelle avec Excel et Power BI et favoriser l’atteinte de leur plein potentiel, en stimulant leur autonomie, leur curiosité, leur raisonnement logique, leur esprit critique et leur créativité.

2 réflexions sur “Données groupées par semaine débutant à une journée choisie”

  1. Jacques Bruneau

    Cet article est super utile. je vais m’en servir. Merci.
    Cependant il vise la création plutôt que le regroupement dont la procedure manque à la fin selon moi.
    Merci pour les excellents aeticles qui nous aident à améliorer nos compétences !

    1. Merci Jacques pour votre commentaire.
      J’ai ajouté 2 captures d’écrans pour montrer les éléments à placer dans les axes des 2 visuels. En espérant que ça vous aide.
      Au plaisir,

      Kim

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut