Je me souviens encore du moment où j’ai découvert le Add-in Fuzzy Lookup pour Excel. On m’avait mise en charge d’un projet. En gros, l’entreprise utilisait un CRM dans lequel le nom des clients était entré manuellement par les préposés qui prenaient les appels. Il n’y avait pas de clé unique pour identifier un client. Ce faisant, chaque préposé entrait l’information de différentes façons dans le système. Comme l’entreprise a roulé sur l’or pendant des années, ce n’était pas problématique, mais quand les activités ont commencé à sérieusement ralentir, les dirigeants se sont soudainement intéressés aux chiffres.
Il était alors impossible de répondre à une question aussi simple que: Combien le client x a-t-il dépensé chez nous en 2017?…
Évidemment, ce genre de situation devrait toujours être réglée à la base, i.e. en corrigeant les informations à la source et en structurant ensuite le système pour utiliser une clé unique par client. Ici, l’entreprise m’avait mandatée non seulement pour créer des clés uniques pour chaque client mais en plus, pour comparer les dépenses de ces clients au sein de l’entreprise vs des statistiques concernant les investissements totaux de chacun de ces clients (non seulement au sein de l’entreprise mais aussi chez les compétiteurs). Au final, on souhaitait comprendre quelle portion du portefeuille de chaque client l’entreprise allait chercher.
Et on souhaitait aussi voir la part de marché à laquelle l’entreprise ne touchait pas encore. Donc, en résumé, dans ce projet, j’avais 2 tâches colossales. D’abord, je devais créer une clé unique par client (on parlait de dizaines de milliers de clients) et ensuite créer une table de correspondances pour jumeler tous ces noms de clients uniques à ceux de l’institut statistique. On est venu vers moi à l’époque, à cause de mes compétences Excel. J’avais beau expliquer que dans la situation, ça prenait plus que des compétences Excel, l’entreprise persistait. J’ai donc pris en charge le projet…
Défis de mon mandat
Tel que précisé en introduction, je faisais fasse à 2 problématiques majeures dans ce projet:
- Je devais m’assurer que chaque client du CRM réponde à une clé unique individuelle. Par exemple, Bombardier et Bombardier inc. sont un seul et même client et devaient être regroupés sous la même clé unique.
- Je devais construire une table de correspondances entre ces clients uniques et les clients de l’institut statistique.
Algorythmes personnalisés dans Excel
Au départ, j’ai entamé ce projet en créant mes propres algorythmes dans Excel, à l’aide de fonctions variées. Je regardais par exemple, les correspondances entre les 5 premières lettes de chaque nom de clients, etc. Mais à chaque fois, même si je trouvais beaucoup de correspondances, je devais faire le ménage manuellement. À l’époque, j’utilisais Excel 2007. Je m’en souviens encore. C’était l’ordinateur de l’entreprise. Au bout de 3 semaines à travailler 12 heures par jour sur ce projet, mon ordinateur a rendu l’âme! Je l’avais sursollicité!!!
Revirement de situation
Ne baissant les bras devant rien, j’ai fouillé les forums et c’est là que j’ai entendu parler du add-in Fuzzy Lookup. Cet add-in m’a permis d’accomplir la tâche colossale qui m’avait été confiée de façon beaucoup plus efficace même s’il restait une portion importante de travail à effectuer manuellement.
Vous devez analyser de grandes quantités de données et les présenter dans des rapports et tableaux de bord, avec des indicateurs de performance pertinents ? Développez vos compétences avec nos formations en Power BI en français ou en anglais. |
---|
Fuzzy lookup pour Power Query
Quelle ne fût pas ma surprise lorsque j’ai découvert l’introduction du Fuzzy Lookup dans la mise à jour Power BI d’octobre! Cette fonctionnalité est accessible à travers l’éditeur de requêtes Power Query, au moment de fusionner deux tables entre elles. Il est donc raisonnable de penser que cette fonctionnalité, une fois bien intégrée dans Power BI, sera aussi disponible dans l’éditeur de requêtes Power Query d’Excel et viendra donc remplacer l’ancien add-in Fuzzy Lookup.
Fonctionnement du Fuzzy Lookup
Pour illustrer le fonctionnement du Fuzzy Lookup, je vais utiliser un exemple qui ressemble beaucoup à ce que j’ai vécu dans mon mandat. D’abord, on retrouve une table avec différentes façons d’entregistrer la compagnie Bombardier. Ensuite, on retrouve le nom de l’entreprise, tel qu’il aurait dû être rédigé. Ce faisant, on cherche à faire une recherche fuzzy ou approximative du mot Bombardier dans la liste de clients.
J’ai fait quelques essais pour bien comprendre la portée des options offertes.
Par exemple, ci-dessous, je définis le seuil de similarité à 80% (seuil par défaut) et je demande d’ignorer la casse.
J’obtiens 3 résultats sur 7.
Au deuxième essai, je baisse le seuil de similarité à 40% (pour avoir plus de chances d’attraper d’autres noms) et je ne demande pas d’ignorer les espaces.
J’obtiens un résultat de plus, soit Bombardier inc.
Au troisième essai, je demande un seuil de similarité de 100%, simplement par curiosité.
On me retourne la ligne où Bombardier est écrit exactement de la même façon. Pas de surprise ici.
Forte de ces connaissances, j’y vais le tout pour le tout et je définis le seuil de similarité à 0 puis je demande de ne pas ignorer les espaces.
J’obtiens ainsi 7 résultats sur 7.
Je me suis donc demandé ce qui se passerait si j’ajoutais des noms d’autres clients. J’ai donc fait le même Fuzzy Lookup que celui ci-dessus mais à partir de la table suivante:
J’ai obtenu le même résultat que ci-dessus, ce qui signifie que 0% de similarité n’est pas tout à fait 0. Il est difficile de bien comprendre ce qui se cache derrière le Fuzzy Lookup mais chose certaine, gageons que plusieurs entreprises seront fort reconnaissantes de son arrivée dans Power BI et on l’espère aussi, bientôt dans Excel, via Power Query.
Voyez le tout en action dans ce tutoriel
🎞️ Abonnez-vous à notre chaîne YouTube
Bon visionnement !
Le Fuzzy Lookup ne fera pas tout le travail pour vous. Je continue d’affirmer qu’il faut corriger les données à la source. Mais dans le cas où vous devez justement faire ces corrections, le Fuzzy Lookup vous sera d’un très grand support.
Fin de mon histoire
Après avoir finalement abouti à un résultat impeccable avec le Fuzzy Lookup, beaucoup de jus de bras et un début de tendinite et de folie, l’entreprise a décidé qu’il n’était pas nécessaire de changer les informations de son CRM pour inclure les clés uniques de clients. Je crois qu’elle pensait que je referais le même travail chaque année. Mais l’année suivante, lorsqu’elle m’a demandé si je souhaitais refaire cette analyse à contrat, j’ai gentiment refusé…
Fichier d’accompagnement VIP à télécharger
Pour télécharger le fichier utilisé dans ce tutoriel, devenez membre VIP du CFO masqué.
Formations Power BI recommandées
Voici la liste de formations Power BI que je vous recommande pour partir sur des bases solides avec Power BI:
- Power BI – Niveau 1
- Power BI – Niveau 2
- Power BI – Niveau 3
- Introduction à Power BI Service et Power BI Mobile
- Introduction au langage DAX
- Recettes magiques pour transformer vos données
- Créer des visualisations de données percutantes
- Atelier – Visualisations de données dans Power BI
- Décupler les possibilités de Power BI avec Power Apps et Power Automate
- Power BI: Aller plus loin avec le langage R
Voici quelques commentaires d’apprenants ayant suivi la formation Power BI – Niveau 1 :
Bonjour Sophie,
Excellent article comme d’habitude. J’avoue que j’ai souri à la lecture de votre émotion en découvrant cette fonction pour avoir même été face à un mur similaire que Fuzzy m’a permis de percer assez facilement (même sinavec encore ine bonne dose de manualités). Il s’aggissait dans mon cas de 2 bases d’employés avec des noms, des codes d’employé, des filiales et des sites différents. Je pense qu’il serait interessant de mentionner la recherche fuzzy sur plusieurs champs croisés avec une définition du “fuzzy” paramétrable pour chaque champs (par exemple : pays1 exact avec pays2, nom1 80% avec nom2 etc…)
Avec mes félicitations pour l’ensemble de votre travail.
Cdlmt,
Nico B
Merci beaucoup pour ce retour d’expérience passionnante !
Quand j’ai lu ” l’entreprise a décidé qu’il n’était pas nécessaire de changer les informations de son CRM pour inclure les clés uniques de clients Je crois qu’elle pensait que je referais le même travail chaque année. Mais l’année suivante, lorsqu’elle m’a demandé si je souhaitais refaire cette analyse à contrat, j’ai gentiment refusé…”, j’ai bien rigolé
Merci et Bravo Sophie pour votre travail !
Julien