Lire l'article
Power Query est un outil impressionnant pour l'automatisation du traitement de données et du reporting. Il permet effectivement de se connecter à un dossier, de combiner les fichiers et de les exploiter pour en tirer des analyses. L'effort pour actualiser les données est minime, il suffit de glisser un fichier dans le dossier, de cliquer sur un bouton et les données sont à jour. On est loin des TCD avec des formules qui cassent et qui demandent des jours de travail pour les mettre à jour sur Excel.
Cependant, tout n'est pas parfait. On a tous eu le problème des fichiers qui viennent de différents logiciels métier ou des fichiers avec des fautes de frappe, des changements tous 2 mois... Dans ces cas-là, la structure des fichiers n'est pas cohérente et on se retrouve avec une automatisation quasi impossible si on ne maîtrise pas suffisamment Power Query.
Cet article vise à vous aider à traiter des fichiers qui n'ont pas les mêmes noms de colonne pour automatiser leur transformation.
On a 5 exports Excel tirés d'un logiciel RH. On souhaite faire des analyses en combinant les 5 fichiers grâce au connecteur dossier sur Power Query. Tout semble correct à l'exception de la colonne Nationalité qui affiche 18% de valeurs vides d'après la fonctionnalité Qualité de la colonne. Cela veut dire qu'on a perdu l'information de la nationalité pour quasiment 20% des données.

On remarque que le dernier fichier de la liste a une colonne nommée Nationality au lieu de Nationalité. Comme le fichier modèle comporte la colonne Nationalité et non Nationality, on perd les informations contenues dans Nationality lors de la combinaison des fichiers.

Il est facile de corriger l'erreur en renommant la colonne directement sur Excel mais cette solution n'est pas une solution automatisée et donc viable sur le long terme.
Que faire ? Nous allons maintenant aborder la solution.

On va sur "Transformer l'exemple de fichier" dans le panneau latéral à gauche.

On insère une nouvelle étape pour y insérer un script en M.

On remplace le nom de la colonne Nationality par Nationalité si on a le cas, sinon on ignore et on ne le fait pas.

On saisit la formule suivante comme sur la capture ci-dessus.
= Table.RenameColumns(#"En-têtes promus",{"Nationality","Nationalité"},MissingField.Ignore)

On a enfin toutes les données !
Nous avons vu comment mieux automatiser le traitement de plusieurs fichiers Excel sur Power Query. Le cas des colonnes aux noms qui varient est un cas d'école des subtilités que l'on retrouve dans cet outil. Avec cet article, vous pouvez maintenant gérer ce genre de cas sereinement.
Cet article vous a plu et vous souhaitez approfondir ces notions ? Nous formons les particuliers comme les entreprises.
[ Découvrir nos formations Power BI ]
