Le 9 novembre dernier, j’ai animé un webinaire d’une heure portant sur quelques recettes gagnantes avec Power Query. Lors de ce webinaire gratuit, j’ai mis l’accent sur 2 types de recettes. D’abord, celles qui permettent de répliquer des fonctions bien connues d’Excel dans Power Query et ensuite, celles utilisant des listes et ou des tables. Cette deuxième catégorie est plus difficile à appréhender pour de nombreux usagers Excel mais regorge pourtant d’un potentiel infini. En guise d’introduction à ce webinaire, je vous partage donc une “recette” basée sur les tables et les listes, plus précisément, une recette basée sur l’usage de la fonction Table.ToList, qui permet de créer une liste à partir des éléments d’une table.
Contenu du webinaire
À noter que tous nos membres VIP peuvent écouter ce webinaire en différé gratuitement
Recettes répliquant les fonctions connues d’Excel dans Power Query
Lors de ce webinaire, nous passerons en révision plusieurs exemples servant à répliquer des fonctions usuelles d’Excel dans Power Query, comme :
- RECHERCHEV
- SI/ET/OU
- SI.CONDITIONS/SI.MULTIPLES
- SIERREUR
- SOMME.SI.ENS/NB.SI.ENS
- DATE/DATEVAL
- NBVAL
Recettes basées sur des listes et des tables
Lors de ce webinaire, nous tâcherons également de nous intéresser aux listes et aux tables dans Power Query. En guise d’introduction à cette section, je partage ci-dessous un exemple basé sur la fonction Table.ToList. De même, voici d’autres articles qui présentent des recettes Power Query basées sur des listes et/ou des tables :
- [Excel] Créer une liste d’index à chaque changement de dates (lecfomasque.com)
- Créer des fonctions de calendrier dans Power Query (lecfomasque.com)
- Analyse de fichiers PDF dans [Excel] (lecfomasque.com)
- [Power Query] repousse les limites d’Excel ✨ (lecfomasque.com)
- [Power Query] Créer une table avec le nombre de jours actifs par mois (lecfomasque.com)
Vous avez des sources de données volumineuses à rassembler et analyser dans Excel ? Apprenez à automatiser tout le processus d’importation, de transformation et de modélisation des données avec nos formations sur Power Query et Power Pivot dans Excel. |
---|
La fonction Table.ToList expliquée
Données sous étude
Les données ci-dessous sont des données que nous obtenons lorsqu’une entreprise nous demande de gérer pour elle les inscriptions de ses employés à nos différentes formations. Plus précisément, on reçoit de nos clients des tableaux qui comprennent le courriel de l’apprenant, son prénom, son nom et le nom de la ou des formation(s) à laquelle (auxquelles) il souhaite s’inscrire. De notre côté, vous créons des “groupes” de formation pour l’entreprise. Chaque formation possède son propre groupe. Avec des tables d’équivalence, on arrive ainsi à produire une table comme celle présentée ci-dessous. Elle comprend le courriel, le prénom et le nom de l’apprenant. On y ajoute le nom complet de l’apprenant qui est requis dans notre système pour savoir quel nom afficher dans le haut de l’écran et on y ajoute aussi le numéro (ID) du groupe de formation concernée.
Toutefois, notre système demande plutôt une ligne unique par apprenant. Il faut ainsi regrouper ensemble tous les numéros de groupes des formations que chaque individu désire suivre et les séparer par des “;” tel que présenté dans le tableau ci-dessous.
Transformations dans Power Query
Convertir la colonne en type texte
La première transformation que nous effectuons dans Power Query, c’est d’obtenir les numéros de groupes en type “texte”. Ceci est essentiel au bon fonctionnement de la fonction Table.ToList.
Regrouper les lignes
La deuxième transformation que nous effectuons dans Power Query, c’est de regrouper les données par apprenant. Nous demandons de regrouper “toutes les lignes”, par apprenant.
On obtient ainsi ce qui suit. Notez que chaque ligne comprend une “table” avec toutes les inscriptions de l’individu.
Utiliser la fonction Table.ToList dans une colonne personnalisée
La troisième transformation que nous effectuons dans Power Query, c’est l’ajout d’une colonne personnalisée pour regrouper tous les groupes des formations suivies par apprenant. Nous utilisons la fonction Table.SelectColumns pour créer une table qui ne comprendra uniquement que la colonne “group” et on l’imbrique ensuite dans une fonction Table. ToList pour la transformer en liste.
On obtient ainsi une liste des numéros de groupes de formations par individu.
Créer la liste de valeurs combinées
Il ne reste plus qu’à exraire les valeurs de la liste et à demander de séparer les différents éléments à l’aide d’un séparateur sous format “;”.
Écoutez notre webinaire en différé
Pour écouter ce webinaire en différé devenez membre VIP du CFO masqué.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’approfondir vos connaissances avec Power Query, nous vous recommandons de débuter avec notre formation Excel – Introduction à Power Query et au langage M.
Voici quelques commentaires d’apprenants ayant suivi cette formation :
Bonjour,
J’aurais souhaité faire exactement l’inverse, soit partir de deux colonnes pour les développer en deux enregistrements avec les autres colonnes identiques.
J’imagine combiner les deux colonnes en liste, puis transformer ces listes en table à développer, mais je parviens pas à le faire.
Auriez-vous une solution?
Cordialement
Bonjour Dereck,
Je vous suggère de poser votre question sur notre forum avec un exemple dans un fichier Excel des données à partir desquelles vous voulez faire votre transformation et le résultat souhaité.
Un membre de la communauté pourra certainement vous aider.
https://www.lecfomasque.com/forums/
Au plaisir,
Kim
Bonjour Kim,
Je vous remercie de votre réponse. C’est compris pour les prochaines questions.
En attendant, j’ai trouvé la réponse :
– Fusionner les colonnes avec un séparateur quelconque (par exemple point-virgule) ;
– Fractionner la colonne créée selon le même délimiteur en choisissant “En ligne” dans les options avancées.
Tout simple ! 🙂
À bientôt,
Dereck