Power BI : remplacer les accents et caractères spéciaux dans Power Query
Power Query est sensible à la casse, aux accents et caractères spéciaux. Lorsque je souhaite croiser des données, il m’est souvent très utile de remplacer ces caractères dans une colonnes texte. J’ai donc toujours près de moi une petite fonction qui me permet de le faire rapidement.
Utiliser une fonction
Pour être efficace, j’ai donc créé ma fonction que je vous partage. Pour l’installer au niveau de votre rapport Power BI, il faut tout d’abord créer une requête vide.
Une fois l’éditeur Power Query ouvert, aller dans Accueil > Editeur avancé pour copier le code suivant :
(chaine as text) =>
let
ListeRemplacements = { {"à","a"}, {"á","a"}, {"â","a"}, {"ã","a"}, {"ä","a"}, {"è","e"}, {"é","e"}, {"ê","e"}, {"ë","e"}, {"ì","i"}, {"í","i"}, {"î","i"}, {"ï","i"}, {"ò","o"}, {"ô","o"}, {"O","o"}, {"õ","o"}, {"ö","o"}, {"ù","u"}, {"ú","u"}, {"û","u"}, {"ü","u"}, {"À","A"}, {"Á","A"}, {"Â","A"}, {"Ã","A"}, {"Ä","A"}, {"Ë","E"}, {"Ì","I"}, {"Í","I"}, {"Î","I"}, {"Ò","O"}, {"Ô","O"}, {"Õ","O"}, {"Ö","O"}, {"Ù","U"}, {"Ú","U"}, {"Û","U"}, {"Ü","U"}, {"ç","c"}, {"Ç","C"}, {"ñ","n"}, {"Ñ","N"}, {"Æ","AE"}, {"æ","ae"} } in Text.Combine(List.ReplaceMatchingItems(Text.ToList(chaine), ListeRemplacements))
Si vous souhaitez ajouter des caractères, cela est tout à fait possible. Par exemple, vous ne souhaitez plus d’espace entre les mots mais plutôt mettre un « _ », il suffit de le rajouter dans la fonction.
Pour terminer, vous validez en cliquant sur OK et la fonction est créée. Bien sûr, il faudrait la renommer en remplaçant « Requête1 » par « RemplacerAccents » par exemple.
Il ne vous reste plus qu’à la tester en ajoutant une colonne personnalisée.
Ici la fonction permet de corriger colonne par colonne. Vous pourriez également avoir besoin de modifier toutes les colonnes d’un coup. Dans l’article Exporter des données Dataverse dans un fichier CSV depuis Power Apps, j’explique comment faire car j’avais justement besoin de changer toutes les colonnes.
Et si vous souhaitez le faire avec le R, voici un article qui décrit comment faire : How to convert accented characters to unaccented in R or Power BI (datacornering.com)