Comment faire une correspondance entre un mots contenus dans une colonne et une liste de valeurs?

Supposons que nous disposons une table de GL avec une colonne libellée qui contient le nom du Client et une autre table avec deux colonnes, clients et type de client.

Données de départ

A partir d’une table de GL, on veut créer une recherche approximative du nom du client depuis la table des clients. le problème est que le nom du client est dans la colonne Libelle du GL, on ne peut pas n’est utilisé recherchev ni de fusionner les requêtes dans power query.

La solution est de définir une fonction personnalisée dans power query. On utilise Text.Contains pour chercher le nom du client depuis la table client et itérer sur l’ensemble des lignes de la table de GL avec Table.SelectRows()

Ajouter une colonne personnalisée et passer le code ci-dessous :

Table.SelectRows(Client, (x) => Text.Contains([libelles], x[Client]))

Et voila le résultat final :)

Certes, on peut améliorer la performance en introduisant la fonction Table.buffer ()