Maîtrisez le 4e paramètre de Table.Group dans Power Query

Publié le 11 septembre 2024
par Kim Leblanc BAA
Maîtrisez le 4e paramètre de Table.Group dans Power Query

Power Query : Tout sur GroupKind pour des groupements pertinents

Le paramètre GroupKind dans la fonction Table.Group permet de contrôler comment les données sont regroupées, ce qui peut être crucial pour certaines analyses ou transformations de données.

 

Dans l’exemple suivant, je vous démontre comment utiliser ce 4e paramètre de Table.Group

Dans le cas présent, nous voulons transformer le tableau de gauche qui liste, par jour, le nombre de rendez-vous comblés pour une clinique.

Le nombre maximal de rendez-vous pouvant être de 5, nous voulons savoir pendant combien de jours consécutifs l’on a affiché Complet. Puis appliquer le même concept pour les journées où seulement une partie des rendez-vous a été octroyée.

Maîtrisez le 4e paramètre de Table.Group dans Power Query

 

Nous pouvons voir dans le tableau de droite qu’il y a eu au départ 3 journées où la clinique a affiché complet, soit du 1er février au 3 février. Et que les 2 jours suivants, les 4 et 5 février, la clinique n’a pas comblé tous ses rendez-vous.

 

Voici les 3 étapes pour y arriver

1. Ajouter une colonne conditionnelle

En premier, il faut ajouter une colonne conditionnelle pour identifier l’atteinte de la capacité pour chacune des journées en indiquant « Complet » ou « Partiel » selon le cas. Nous avons nommé la nouvelle colonne « Capacité ».

Table.Group dans Power Query

 

2. Regrouper les données

Il faut ensuite sélectionner la nouvelle colonne Capacité dans le jeu de données et puis se diriger dans le menu Transformer puis cliquer sur Regrouper par.

Maîtrisez le 4e paramètre de Table.Group dans Power Query

 

Il faut alors inscrire les éléments suivants dans la fenêtre du Regrouper par, et ainsi obtenir le nombre de jours par capacité avec la date de début et la date de fin.

Table.Group dans Power Query

 

Nous obtenons maintenant les données suivantes :

Maîtrisez le 4e paramètre de Table.Group dans Power Query

 

Vous remarquez que présentement,il y a 2 lignes, une pour Complet et une autre pour Partiel. Par contre nous voulons comparer chacun des groupes de jours consécutifs où c’est Complet, puis les groupes de jours consécutifs où c’est Partiel.

Ce comportement est expliqué par le 4e paramètre qui est facultatif. Nous n’avons rien spécifié pour l’instant et donc par défaut l’option GroupKind.Global a été utilisée.

 

Avant d’aller plus loin, voici les options que nous avons pour ce 4e paramètre

Maîtrisez le 4e paramètre de Table.Group dans Power Query

 

Si vous regardez l’image ci-dessus, qui montre les paramètres de la fonction Table.Group au niveau du 4e paramètre, nous retrouvons l’inscription groupKind as nullable number.

Il faut donc ajouter la propriété GroupKind qui permet de spécifier le type de regroupement et qui possède 2 options :

  1. Local
    • Ce type de regroupement forme des groupes à partir d’une séquence consécutive de lignes d’une table d’entrée.
    • Cela implique que deux lignes ayant la même valeur seront réparties dans des groupes distincts si une ligne avec une valeur différente se trouve entre elles.
    • L’ordre dans lequel s’affichent les données est alors très important. Il faut donc trier nos données adéquatement.
  1. Global
    • Ce type de regroupement forme des groupes à partir de toutes les lignes d’une table d’entrée.
    • Le résultat est indépendant de la position des données dans la table.
    • C’est l’option par défaut de ce paramètre.

 

3. Modification du code M de la fonction Table.Group

Reprenons maintenant le code M du regroupement que nous avons fait plus tôt :

J’ai identifié par couleur les 3 différents paramètres présentement utilisés dans la fonction Table.Group.

Table.Group dans Power Query

 

Comme le 4e paramètre n’est pas spécifié, l’option GroupKind.Global a été utilisée par défaut.

Pour modifier ce 4e paramètre et utiliser GroupKind.Local, nous devons modifier le code M.

Maîtrisez le 4e paramètre de Table.Group dans Power Query

 

Il faut ajouter, avant la dernière parenthèse, une virgule pour passer au 4e paramètre puis inscrire GroupKind.Local.

Table.Group dans Power Query

 

Ceci a pour effet de passer à travers les lignes de la colonne Capacité et grouper les lignes avec la même valeur jusqu’au moment où cette valeur devient différente.

Si l’on reprend les données avant le regroupement (ci-dessous), les 3 premières lignes de la colonne Capacité contiennent la valeur « Complet ». Mais cette valeur change à la ligne 4,

Les 3 premières lignes sont donc groupées. Et un 2e groupe est alors formé avec les 2 autres lignes qui contiennent la valeur « Partiel », et ainsi de suite.

Maîtrisez le 4e paramètre de Table.Group dans Power Query

 

C’est pour cette raison que les données doivent être triées en ordre croissant de date, sinon le résultat ne sera pas celui escompté.

Par exemple, si je trie les données par Nb de rendez-vous comblés comme ceci :

Table.Group dans Power Query

 

Le résultat avec l’option GroupKind.Local donnera alors le résultat suivant, puisque toutes les journées avec la valeur « Partiel » dans la colonne Capacité se trouve au début et les valeurs « Complet » se trouvent à la fin :

Table.Group dans Power Query

 

Petite astuce pour vous aider dans vos regroupements

Dans la fenêtre de paramètres de Regrouper Par, pour vous aider à comprendre le comportement de vos groupements, vous pouvez ajouter un regroupement avec l’opération Toutes les lignes. Ici, j’ai nommé la nouvelle colonne « Détails ».

Maîtrisez le 4e paramètre de Table.Group dans Power Query

 

Dans la nouvelle colonne Détails, vous pouvez cliquer à côté du mot Table dans la ligne de votre choix pour voir ce que contient ce groupement. Ici, ça nous permet de voir les lignes qui sont contenues dans le 1er groupement.

Table.Group dans Power Query

 

N’oubliez pas qu’il faudra enlever cette transformation de votre code une fois que vous aurez testé le tout et que vous aurez obtenu le bon résultat.

 

Conclusion sur le 4e paramètre de Table.Group dans Power Query

En maîtrisant le 4e paramètre de la fonction Table.Group dans Power Query, vous pouvez optimiser vos analyses de données et obtenir des résultats plus précis et pertinents. Que vous choisissiez l’option GroupKind.Local ou GroupKind.Global, chaque méthode offre des avantages uniques selon vos besoins spécifiques.

Nous espérons que cet article vous a été utile et vous a permis de mieux comprendre l’importance de ce paramètre !

N’hésitez pas à partager vos expériences et à poser vos questions dans les commentaires ci-dessous.

 


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

Afin d'explorer les principales fonctions et fonctionnalités de Power Query, qui permet d’importer, de transformer et de fusionner des données de diverses sources et de pouvoir les analyser efficacement, suivez la formation Excel – Introduction à Power Query et au langage M.

Voici quelques commentaires d'apprenants ayant suivi la formation

 
Excel – Introduction à Power Query et au langage M
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 “Maîtrisez le 4e paramètre de Table.Group dans Power Query”

  1. J.ignorais complètement l’existence de ce paramètre et le potentiel d’usage est super intéressant même si je pense que cela doit concerner des configurations très spécifiques.
    En revanche pour moi l’énorme take-away de l’article, c’est l’excellent truc du « détail » (toutes lignes) qui me semble a contrario utilisable presque tout le temps.
    Cela faisait longtemps que je n’etais pas repassé sur votre blog mais la qualité des sujets et de leur traitement est toujours aussi satisfaisante.
    Merci et bravo!

Laisser un commentaire

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

Retour en haut