Magazine Informatique

Ce n’est pas de la magie, c’est Power Query!

Publié le 07 janvier 2019 par Sopmar01 @mon_cher_watson

Il y a quelques jours, Paul a posé une question sur notre forum et cet article vise à répondre à cette question. En somme, Paul voulait savoir comment faire pour transformer la première table ci-dessous en la deuxième table, par le biais de Power Query, dans Excel.

Ce n’est pas de la magie, c’est Power Query!

Ci-dessous, je réponds donc à cette question avec un tutoriel détaillé Mon but est toujours le même, soit celui d’utiliser le moins de code M possible afin d’arriver au résultat. Tout cela pour vous démontrer qu’en utilisant les fonctionnalités principales de Power Query, on peut transformer à peu près n’importe quelle source de données. N’oubliez pas qu’une fois les transformations effectuées, elles sont enregistrées à l’intérieur d’une requête et donc, du moment que des données seront ajoutées dans la première table et que l’on actualisera la requête, la deuxième table s’ajustera automatiquement, selon les règles établies.

1 – Importer les données

En guise de première étape, évidemment, j’ai importé la première table dans Power Query.

2 – Ajout de colonne personnalisée

J’ai ensuite ajouté une colonne personnalisée dans laquelle j’ai inséré une fonction List.Dates afin de générer une ligne pour chacune des dates de publication. L’idée est de pouvoir ensuite identifier les dates où les publications se chevauchent.

Ce n’est pas de la magie, c’est Power Query!

Le résultat obtenu a été le suivant:

Ce n’est pas de la magie, c’est Power Query!

Et une fois les listes développées, j’ai obtenu une table comprenant une ligne par date de publication, par publication. À noter que l’image ci-dessous ne montre qu’un extrait de cette table.

Ce n’est pas de la magie, c’est Power Query!

3 – Regrouper par

J’ai donc ensuite regroupé les données par date (colonne « Personnalisé ») et j’ai demandé de compter les lignes et d’obtenir l’ensemble des lignes.

Ce n’est pas de la magie, c’est Power Query!

Ceci m’a permis d’obtenir une colonne « Nombre » et une colonne de tables avec les données précisées ci-dessous:

Ce n’est pas de la magie, c’est Power Query!

Voici un extrait du résultat obtenu une fois les tables développées, en extrayant seulement la colonne Publication:

Développement des tables

Si on jette un coup d’oeil plus bas dans la table, on voit qu’en novembre, chaque date est répétée puisqu’il y a une publication Appro nov 2018 et Noël 2018. On voit aussi le chiffre 2 dans la colonne Nombre.

Ce n’est pas de la magie, c’est Power Query!

4 – Colonne personnalisée

J’ai ensuite ajouté une colonne pour fusionner le nom de la publication avec le nombre, question d’identifier les dates où il y a chevauchement.

Ce n’est pas de la magie, c’est Power Query!

Ceci m’a permis d’obtenir ce qui suit:

Ce n’est pas de la magie, c’est Power Query!

5 – Regrouper par

J’ai ensuite regroupé les données pour obtenir une ligne par fusion « publication et nombre » et j’ai demandé de calculer la date minimum et la date maximum.

Ce n’est pas de la magie, c’est Power Query!

Ceci m’a permis d’obtenir le résultat suivant:

Ce n’est pas de la magie, c’est Power Query!

Cette table comprend une ligne pour chacun des intervalles de dates souhaités dans la deuxième table de Paul Toutefois, Paul souhaite que les lignes 2 et 3 soient fusionnées. Il nous reste donc un peu de travail à faire.

6 – Colonne personnalisée

J’ai ensuite calculé un champ qui unit les dates minimum et maximum.

Ce n’est pas de la magie, c’est Power Query!

Ceci m’a permis d’obtenir ce qui suit:

Ce n’est pas de la magie, c’est Power Query!

J’ai ensuite supprimé les colonnes non nécessaires pour obtenir ce qui suit:

Ce n’est pas de la magie, c’est Power Query!

7 – Regrouper par

J’ai ensuite regroupé les données pour chaque intervalle de dates et j’ai demandé d’obtenir toutes les lignes.

Ce n’est pas de la magie, c’est Power Query!

Ceci m’a permis d’obtenir ce qui suit, soit la liste des intervalles de dates nécessaires à la création du deuxième tableau:

Ce n’est pas de la magie, c’est Power Query!

8 – Colonne personnalisée

De façon à pouvoir obtenir les informations de publication fusionnées, j’ai converti les tables ci-dessus en listes avec la fonction Table.ToList.

Ce n’est pas de la magie, c’est Power Query!

Ça m’a permis d’obtenir ce qui suit:

Ce n’est pas de la magie, c’est Power Query!

Et d’extraire ensuite les valeurs des listes:

Ce n’est pas de la magie, c’est Power Query!

En les fusionnant avec une virgule:

Ce n’est pas de la magie, c’est Power Query!

Ce qui a généré le résultat suivant:

Ce n’est pas de la magie, c’est Power Query!

Et après avoir supprimé une colonne et changé les types de données, j’ai obtenu ce qui suit:

Ce n’est pas de la magie, c’est Power Query!

9 – Remplacer les valeurs

L’étape suivante est plus difficile à réaliser sans s’approprier le moindrement le code M. Ce que l’on veut, c’est remplacer les dates et les guillemets par rien du tout, de façon à obtenir seulement la liste des publications. Pour faciliter les choses, ce que vous pouvez faire, c’est utiliser la fonctionnalité « Remplacer les valeurs » et par exemple, remplacer « ABC » par rien.

Ce n’est pas de la magie, c’est Power Query!

Ensuite, vous pouvez aller dans le code M pour remplacer le ABC. Dans ce cas-ci, on veut utiliser chacune des valeurs de la colonne Min-Max. Nous devons donc écrire ce qui suit:

Ce n’est pas de la magie, c’est Power Query!

Et pour remplacer les guillemets:

Ce n’est pas de la magie, c’est Power Query!

Et pour se débarrasser des doubles virgules (celles qui séparaient les publications et les dates):

Ce n’est pas de la magie, c’est Power Query!

Ça nous amène au résultat suivant. Il ne reste plus qu’une virgule à la toute fin.

Ce n’est pas de la magie, c’est Power Query!

On peut s’en débarrasser avec la fonctionnalité suivante:

Ce n’est pas de la magie, c’est Power Query!

On obtient donc ce qui suit:

Ce n’est pas de la magie, c’est Power Query!

10 – Résultat final

Il ne reste plus qu’à fractionner notre colonne de dates Min-Max pour obtenir la date de début et la date de fin:

Ce n’est pas de la magie, c’est Power Query!

Et voici le résultat final:

Ce n’est pas de la magie, c’est Power Query!

NOTRE OFFRE DE FORMATIONS


Microsoft Most Valuable Professional

Le CFO masqué vous offre un vaste choix de formations Excel et Power BI, réparties dans 8 catégories: Excel – Tableaux de bord, Excel – Modélisation financière, Excel – VBA, Excel – Power Tools, Excel – Ninja, Power BI, Analytique d’affaires et Finance corporative. Ces formations sont offertes en classe, en entreprise et en ligne. Nos formateurs sont des experts dans leur domaine et ils sont accrédités par Emploi-Québec et vous remettent un certificat, à la fin de chaque formation, que vous pouvez notamment utiliser pour faire reconnaître des heures de formation continue auprès de votre ordre professionnel. De plus, nos formations peuvent mener à l’obtention d’une accréditation.

Découvrez quelles formations vous conviennent

Pour info: 514-605-7112 ou [email protected]


Retour à La Une de Logo Paperblog

A propos de l’auteur


Sopmar01 3934 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte