Récemment, un lecteur a posé une question sur le forum concernant Power Query. J’allais lui répondre en lui proposant une solution qui impliquait de manier le langage M et finalement, j’ai pensé à une solution qui n’implique pas d’écrire du code. La situation était la suivante. L’individu était en possession d’une table de données avec des clients existants. Chaque client possédait un numéro spécifique. Son souhait était maintenant d’attribuer un nouveau numéro de client à tous les nouveaux clients provenant d’une autre table. Cet article vise à décrire la solution proposée pour incrémenter des numéros de clients, simple comme bonjour. Comme quoi parfois, Power Query nous la fait trop facile ;).
Données de départ
Le lecteur n’a pas fourni de données, donc j’ai créé deux tables bien simples. D’abord, j’ai créé une table avec des numéros de clients existants. Évidemment, je suppose qu’en réalité, cette table comprend plusieurs colonnes mais ces colonnes ne seront pas nécessaires pour notre exemple.
Puis, j’ai créé une deuxième table pour représenter les nouvelles transactions. Encore une fois, dans la réalité, cette table posséderait davantage de colonnes mais ces colonnes ne seront pas requises pour notre exemple.
Récupérer le numéro de client max
Pour incrémenter des numéros de clients, il faut d’abord déterminer de quel numéro partir, soit le numéro de client le plus élevé, parmi les numéros de clients actuels. Pour ce faire, j’ai utilisé la fonctionnalité Regrouper par, sans niveau de regroupement, et j’ai demandé à effectuer une opération Max sur la colonne No Client.
Ça donne donc le résultat suivant.
Ajouter une colonne d’Index
J’ai ensuite ajouté une colonne d’Index dans ma deuxième table, soit celle avec les nouvelles transactions. J’ai fait débuter l’Index à 1.
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. |
---|
Et c’est ici que la magie opère simplement
Par la suite, j’ai ajouté la requête avec le numéro maximum de client au bout de ma requête avec les nouvelles transactions.
Ça m’a permis d’obtenir ce qui suit. Comme la colonne MaxClient n’existe pas dans la table de transaction, on voit que cela a créé une nouvelle colonne.
J’ai ensuite rempli la colonne vers le haut, afin d’obtenir le numéro maximum de client dans toute la colonne.
Puis, j’ai ajouté une colonne qui fait l’addition de ce numéro max à la colonne d’Index.
J’ai donc obtenu la colonne des numéros de clients séquentiels qui suivent le numéro max actuel. Autrement dit, pu incrémenter les numéros de clients comme le désirait la personne sur le forum.
Il n’y avait plus qu’à filtrer pour retirer la ligne vide.
Parfois, on cherche des réponses plus sophistiquées mais de simples approches comme celle-ci nous permettent d’arriver rapidement au résultat, sans grand effort.
Voyez le tout en action dans ce tutoriel
🎞️ Abonnez-vous à notre chaîne YouTube
Bon visionnement !
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
explore les principales fonctions et fonctionnalités de Power Query, suivez la formation Excel – Introduction à Power Query et au langage M qui vous permettra d’importer, de transformer et de fusionner des données de diverses sources, afin de pouvoir les analyser efficacement.