Power BI a une salle de préparation, et elle s’appelle Power Query. C’est là que la donnée brute est découpée, typée, redressée, avant d’entrer dans le modèle. Les débutants la traversent en courant pour arriver aux visuels ; les bons analysts y passent la moitié de leur temps. La bonne nouvelle : cinq transformations couvrent l’essentiel des situations réelles. Les voici, avec leurs pièges.
Sélectionner
Garder les colonnes utiles, renommer métier, poser les types avec la bonne locale.
Structurer
Dépivoter, fusionner, ajouter, séparer les concepts pour préparer le modèle.
Documenter
Nommer les étapes, isoler les paramètres et rendre la requête relisible dans six mois.
Power Query ne sert pas à tout corriger. Il sert à faire entrer dans le modèle une donnée stable, typée et compréhensible.
Pourquoi nettoyer avant le modèle, pas après
Une étape Power Query s’exécute une fois, à l’actualisation. Une rustine DAX s’évalue à chaque interaction, dans chaque visuel, pour chaque utilisateur. Corriger en aval ce qui aurait dû l’être en amont, c’est payer la même dette à chaque clic, et éparpiller la logique de nettoyage dans des mesures que personne ne relira. La frontière est nette : Power Query prépare la donnée, le modèle la structure, DAX l’interroge. Chaque chose à sa place, et dans cet ordre.
1. Choisir et renommer les colonnes, dès la source
Le réflexe « je garde tout, au cas où » est le premier à corriger : chaque colonne inutile coûte de la mémoire, du temps d’actualisation et de la lisibilité. Préférez « Choisir les colonnes » à la suppression une par une : vous déclarez ce que vous gardez, et les colonnes que la source ajoutera un jour n’entreront pas en douce dans le modèle. Renommez dans la foulée, « MNT_HT_2 » devient « Montant HT », parce qu’un modèle est lu par des humains. Et si la source est une base de données, ce tri remonte jusqu’à elle : Power Query délègue ce qu’il peut à la source, c'est le query folding, et moins de colonnes, c’est moins de données qui voyagent.
2. Des types de données explicites, et le piège des dates FR/US
Power Query devine les types et insère une étape « Type modifié » automatique. Ne lui confiez pas cette décision : vérifiez chaque colonne, choisissez chaque type. Le piège le plus coûteux se cache dans les dates : « 03/04/2025 » est le 3 avril dans un fichier français, le 4 mars dans un export américain. Et le pire n’est pas l’erreur visible : les jours au-delà de 12 provoqueront des erreurs, celles-là se voient, mais tous les autres seront convertis sans bruit, et faux. La parade : clic droit sur la colonne, « Modifier le type », puis « Utiliser les paramètres régionaux », en choisissant la locale du fichier source, pas la vôtre. Même mécanique pour les décimales : 1,5 et 1.5 ne deviennent le même nombre que si la locale est la bonne.
3. Dépivoter : le classique du budget en colonnes
Le budget arrive toujours dans le même format : une ligne par service, douze colonnes de mois. Parfait pour un œil humain, inutilisable pour un modèle, impossible de filtrer sur « mars », impossible de tracer une tendance, et la colonne de janvier prochain cassera tout. La solution : sélectionnez les colonnes fixes (service, compte), puis « Dépivoter les autres colonnes ». Vous obtenez une colonne Mois et une colonne Montant, une observation par ligne, le format qu’un modèle attend. Le choix de « Dépivoter les autres colonnes » plutôt que « Dépivoter les colonnes » n’est pas un détail : les colonnes de mois à venir seront dépivotées automatiquement, sans rouvrir la requête.
| Format large | Format long |
|---|---|
| Une ligne Marketing porte Janvier = 12 000 € et Février = 13 500 € | Deux lignes Marketing : Mois = Janvier / Montant = 12 000 €, puis Mois = Février / Montant = 13 500 € |
| Les mois sont des noms de colonnes | Le mois devient une valeur dans une colonne Mois |
| Une nouvelle colonne Mars fragilise la requête | Mars arrive comme une nouvelle ligne au même format |
= Table.UnpivotOtherColumns(
Source,
{"Service", "Compte"},
"Mois",
"Montant"
)4. Fusionner ou ajouter : merge et append, chacun son travail
Deux opérations, deux gestes opposés, une confusion permanente. Fusionner (merge) enrichit en colonnes : vous ramenez le segment du client sur chaque ligne de vente via une clé commune, le RECHERCHEV de Power Query, le choix du type de jointure en plus (par défaut : externe gauche, toutes les lignes de la première table, enrichies quand la clé correspond). Ajouter (append) empile en lignes : douze exports mensuels de structure identique deviennent une seule table. La règle qui tranche : mêmes individus, informations en plus → fusionner ; mêmes colonnes, individus en plus → ajouter. Un détail qui fâche : l’ajout aligne les colonnes par leur nom exact, si un fichier dit « Montant » et l’autre « montant_ht », vous récoltez deux colonnes à moitié vides.
| Question | Transformation | Erreur fréquente |
|---|---|---|
| Je veux ajouter le segment client aux ventes | Fusionner | Ajouter les deux tables et créer des lignes sans montant |
| Je veux empiler 12 fichiers mensuels identiques | Ajouter | Fusionner les fichiers un par un et multiplier les colonnes |
| Je veux comparer ventes et objectifs | Souvent modèle + dimensions communes | Forcer une jointure directe entre deux tables de faits |
5. Les étapes appliquées sont votre documentation
Le volet « Étapes appliquées » n’est pas un historique d’annulation : c’est une recette, rejouée à chaque actualisation, et relue un jour par quelqu’un d’autre, souvent vous, dans six mois. « Type modifié3 » et « Colonnes supprimées1 » ne racontent rien. Renommez chaque étape au moment où vous la créez (clic droit, « Renommer ») : « Suppression des colonnes techniques », « Types de dates en locale US », « Dépivot des mois ». Une requête bien nommée se lit comme une procédure. C’est la seule documentation qui ne peut pas mentir : c’est le code qui s’exécute.
Les réflexes à installer
- Premier geste sur toute nouvelle source : « Choisir les colonnes », puis renommage métier. Tout de suite, pas « à la fin ».
- Aucune confiance dans le « Type modifié » automatique : reprenez chaque colonne, locale comprise pour les dates et les montants.
- Des mois ou des années en colonnes ? Dépivotez. Une colonne par concept, une ligne par observation.
- Fusionner pour enrichir, ajouter pour empiler, et harmonisez les noms de colonnes avant tout ajout.
- Renommez l’étape au moment où vous la créez : « Type modifié3 » ne sera jamais renommé plus tard.
- 1Tester une nouvelle colonne dans la sourceSi la requête l'importe sans contrôle, remplacez les suppressions par un choix explicite des colonnes à garder.
- 2Tester une date ambiguë03/04/2026 doit être interprété selon la locale de la source. Sinon, l'erreur peut rester invisible.
- 3Tester un fichier mensuel supplémentaireUn append robuste accepte mars sans créer une colonne vide ou une étape manuelle.
À retenir
Power Query est la salle de préparation : ce qui y entre sale ressort faux dans les visuels. Choisir, typer, dépivoter, assembler, documenter, cinq gestes qui font 80 % du travail, et la totalité de la confiance.
Les 20 % restants, colonnes conditionnelles, regroupements, paramètres, s’apprennent vite une fois ces fondations posées. Et la suite logique vous attend déjà : une donnée propre mérite un vrai modèle, c’est l’objet de notre article sur le schéma en étoile. En attendant, ouvrez une de vos requêtes existantes : si les étapes s’appellent encore « Type modifié3 », vous savez par où commencer.
Écrit par Dylan Arnaud, fondateur de Datafuji. Les exemples techniques sont conçus pour être relus, testés et adaptés dans un modèle Power BI réel.