Power Query : fusion de colonnes et opérations
La qualité des informations est un enjeu majeur pour les entreprises comme pour les particuliers. Avant toute exploitation des données, il est essentiel de s’assurer qu'elles sont propres et cohérentes. Power Query, intégré à Excel et à Power BI, est un outil puissant qui facilite leur nettoyage et leurs transformations, et qui permet aussi l’automatisation de cette tâche fastidieuse.
Nous verrons ici deux types d’opérations sur les colonnes. Elles peuvent être réalisées facilement avec Excel mais, pour une raison ou une autre (taille du fichier, traitement répétitif, besoin de traçabilité, sources multiples, intégration à d’autres opérations de nettoyage), on peut préférer Power Query.
Fusion de colonnes
Soit les données suivantes, importées d’Excel :

Nous souhaitons fusionner les deux premières colonnes, avec une espace entre le nom et le prénom.

Clic sur l’entête de la colonne Nom puis, avec la touche Ctrl enfoncée, sur l’entête Prénom. Les deux colonnes sont alors en surbrillance. Clic droit puis sélection Fusionner les colonnes.

Dans le menu qui apparaît, sélection du séparateur Espace. On peut renommer la colonne créée.

Si l’on avait voulu que le prénom précède le nom, il aurait suffi de sélectionner la colonne Prénom en premier puis, avec la touche Ctrl enfoncée, cliquer sur l’entête des noms.
Opération sur colonnes
Nous souhaitons à présent indiquer l’âge des individus lors de leur embauche dans une nouvelle colonne.
Pour simplifier, nous calculerons la différence entre les deux dernières colonnes et nous la diviserons par 365,25.
Nous vérifions que les données sont bien au format date (voir plus haut la première capture d’écran).
Onglet Ajouter une colonne puis Colonne personnalisée.

Un nouveau menu apparaît. Il permet de nommer la nouvelle colonne et d’écrire la formule. On utilise la fonction Duration.Days (les noms de fonctions de Power Query sont toujours en anglais, même si Excel est en français). Comme avec Excel, les noms des fonctions disponibles apparaissent au fur et à mesure que vous écrivez. De même, il n’est pas nécessaire de réécrire les noms des colonnes puisqu’ils sont proposés à droite :

Nous obtenons les âges avec de nombreuses décimales superflues. Cela ne nous convient pas et nous souhaitons arrondir les âges par défaut. Un énorme intérêt de Power Query est de pouvoir supprimer n’importe quelle étape du projet (pas forcément la dernière).

Par conséquent, nous décochons Personnalisée ajoutée (ce qui fait disparaître notre nouvelle colonne) et nous recommençons le processus, cette fois avec la formule Number.RoundDown.

Nous obtenons bien une liste d’entiers.
Pour information, la création d’une telle colonne avec Excel s’obtient avec la formule suivante (les colonnes étant ici nommées) :
=ENT(([@[Date entrée]]-[@[Date naissance]])/365,25)
Et si l’on ne veut pas que les colonnes qui ont servi au calcul apparaissent ?
Avec Power Query, il suffit de les supprimer (clic droit sur l’entête puis Supprimer). La colonne des âges calculés ne disparaît pas, comme elle l’aurait fait sur Excel. Cependant la suppression se constate sur la feuille de calcul d’Excel ! Et si ces colonnes ont servi à calculer quelque chose sur cette feuille, le calcul deviendra un message d’erreur #REF! Bien sûr, on peut annuler la suppression sur Power Query (annulation d’une étape, voir plus haut) et la feuille d’Excel retrouve alors ses colonnes. Mais les formules sont à réécrire. Ce n’est pas plus mal : ceci rappelle aux utilisateurs les plus brouillons qu’il ne faut pas tout mélanger avec des calculs par-ci par-là. Si l’on utilise Power Query, c’est avec cet éditeur et lui seul que l’on procède aux opérations sur les données.
