Qu’est-ce que le Fuzzy Lookup?

Publié le 25 octobre 2018
par Sophie Marchand M.Sc.
Jointure Power Query

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:

  1. 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.
  2. Je devais construire une table de correspondances entre ces clients uniques et les clients de l’institut statistique.

Réconciliation de données

 

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é!!!

Ordinateur 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.

Fuzzy lookup for Excel

 

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.

À réconcilier

 

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.

Fuzzy lookup - Power Query

J’obtiens 3 résultats sur 7.

Fuzzy lookup - Power Query

 

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.

Fuzzy lookup - Power Query

 

J’obtiens un résultat de plus, soit Bombardier inc.

Fuzzy lookup - Power Query

 

Au troisième essai, je demande un seuil de similarité de 100%, simplement par curiosité.

Fuzzy lookup - Power Query

On me retourne la ligne où Bombardier est écrit exactement de la même façon. Pas de surprise ici.

Fuzzy lookup - Power Query

 

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.

Fuzzy lookup - Power Query

J’obtiens ainsi 7 résultats sur 7.

Fuzzy lookup - Power Query

 

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:

Table de données

 

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:

 

Voici quelques commentaires d’apprenants ayant suivi la formation Power BI – Niveau 1 :

Power BI (niveau 1)

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 “Qu’est-ce que le Fuzzy Lookup?”

  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

  2. 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

Laisser un commentaire

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

Retour en haut