L'éditeur Power Query et le langage M

Première leçon du cours Power Query : importer et transformer, en accès libre : environ 15 minutes, 3 exercices et 3 questions de quiz. C'est la leçon de base du catalogue ; dans l'espace étudiant, elle est réécrite pour ton profil.

Objectifs

  • Ouvrir l'éditeur Power Query et en identifier les zones
  • Lire la liste des étapes appliquées et la barre de formule
  • Comprendre la structure let ... in d'une requête M

Éditeur Power QueryÉtapes appliquéesLangage M

Qu’est-ce que Power Query ?

Power Query est le moteur de préparation des données intégré à Power BI (et à Excel). Il permet d’importer, nettoyer et remodeler des données sans écrire de code, puis de rejouer automatiquement toutes ces opérations à chaque actualisation. Vos fichiers sources ne sont jamais modifiés : Power Query lit la source et applique ses transformations à la volée.

On l’ouvre depuis Power BI Desktop avec Accueil > Transformer les données.

Les zones de l’éditeur

  • Le volet Requêtes (à gauche) : la liste des requêtes ; chacune deviendra une table du modèle si son chargement est activé.
  • L’aperçu des données (au centre) : quelques lignes de la requête sélectionnée. L’icône à gauche de chaque en-tête indique le type (ABC pour texte, 123 pour entier, 1.2 pour décimal, calendrier pour date).
  • Les paramètres de la requête (à droite) : son nom et surtout la liste des étapes appliquées.
  • Le ruban : onglets Accueil, Transformer, Ajouter une colonne, Affichage.
  • La barre de formule : affiche le code de l’étape sélectionnée. Si elle n’est pas visible, activez-la dans l’onglet Affichage.

Dans l’onglet Affichage, activez aussi Qualité de la colonne, Distribution de la colonne et Profil de la colonne : vous voyez immédiatement le pourcentage de valeurs valides, d’erreurs et de vides. Par défaut, ce profil porte sur les 1 000 premières lignes ; on peut l’étendre à tout le jeu de données dans la barre d’état.

Une action = une étape

Chaque clic crée une étape. Par exemple, supprimer une colonne ajoute l’étape Colonnes supprimées. Cliquer sur une étape montre les données à ce stade : c’est un excellent moyen de déboguer. Vous pouvez :

  • renommer une étape (clic droit > Renommer) pour documenter votre travail ;
  • supprimer une étape (croix) ;
  • modifier ses paramètres (icône engrenage).

Attention : les étapes s’enchaînent. Supprimer ou modifier une étape au milieu peut casser les suivantes (par exemple si elles utilisent une colonne disparue).

Le langage M

Derrière l’interface, chaque requête est un programme en langage M. Ouvrez Accueil > Éditeur avancé pour le voir en entier :

let
    Source = Csv.Document(File.Contents("C:\Formation\ventes.csv"),
        [Delimiter = ",", Encoding = 65001, QuoteStyle = QuoteStyle.Csv]),
    #"En-têtes promus" = Table.PromoteHeaders(Source, [PromoteAllScalars = true]),
    #"Type modifié" = Table.TransformColumnTypes(#"En-têtes promus",
        {{"Date", type date}, {"Quantite", Int64.Type}, {"PrixUnitaire", Int64.Type}})
in
    #"Type modifié"

À retenir :

  • let ouvre la liste des étapes, séparées par des virgules ;
  • chaque étape a un nom ; les noms avec espaces ou accents s’écrivent #"..." ;
  • chaque étape utilise généralement le résultat de la précédente ;
  • in indique l’étape renvoyée comme résultat ;
  • le M est sensible à la casse : Table.RowCount fonctionne, table.rowcount non.

Vous n’avez pas besoin d’écrire du M pour bien utiliser Power Query, mais savoir le lire vous permettra de comprendre et de corriger vos requêtes.

Fermer et appliquer

Quand vos transformations sont prêtes, Fermer et appliquer charge le résultat dans le modèle. Appliquer charge sans fermer l’éditeur.

Exercices

Les solutions et les tests restent sur le serveur. Dans l'espace étudiant, ton code est exécuté et corrigé, et le tuteur donne des indices avant la solution.

  1. TâcheDifficulté 12 indices

    Explorer une requête

    Créez avec le Bloc-notes le fichier C:\Formation\ventes.csv (encodage UTF-8) :

    Date,Magasin,Categorie,Produit,Quantite,PrixUnitaire
    2026-01-03,Lyon,Boissons,Jus d'orange,10,3
    2026-01-03,Lille,Epicerie,Pates,20,2
    2026-01-10,Nantes,Frais,Yaourt,30,1
    2026-01-17,Lyon,Epicerie,Riz,15,2
    2026-01-24,Lille,Boissons,Eau,50,1
    2026-02-02,Nantes,Boissons,Jus d'orange,12,3
    2026-02-07,Lyon,Frais,Fromage,8,6
    2026-02-14,Lille,Frais,Yaourt,25,1
    2026-02-21,Nantes,Epicerie,Pates,18,2
    2026-02-28,Lyon,Boissons,Eau,40,1
    2026-03-06,Lille,Epicerie,Riz,10,2
    2026-03-13,Nantes,Frais,Fromage,5,6
    1. Importez ce fichier avec Obtenir les données > Texte/CSV, puis cliquez sur Transformer les données.
    2. Activez la barre de formule et les options Qualité de la colonne et Profil de la colonne (onglet Affichage).
    3. Cliquez sur chacune des étapes appliquées et observez la barre de formule.
    4. Supprimez la colonne Categorie, puis renommez l’étape créée en SansCategorie.
    5. Ouvrez l’éditeur avancé et repérez votre étape dans le code.
    • La requête comporte au moins les étapes Source, En-têtes promus, Type modifié et SansCategorie
    • La qualité de colonne affiche 100 % de valeurs valides pour Quantite
    • L'éditeur avancé montre l'étape SansCategorie utilisant Table.RemoveColumns
  2. CodeDifficulté 22 indices

    Compléter une requête M

    Complétez la requête pour qu’elle promeuve les en-têtes puis type les colonnes Date (date) et Quantite (nombre entier). La requête doit renvoyer la dernière étape.

    let
        Source = Csv.Document(File.Contents("C:\Formation\ventes.csv"), [Delimiter = ",", Encoding = 65001]),
        // Étape 1 : promouvoir les en-têtes
        Entetes = ...,
        // Étape 2 : typer Date et Quantite
        Types = ...
    in
        ...
  3. QCMDifficulté 11 indice

    Rôle de let ... in

    Dans une requête M, que désigne l’expression placée après in ?

    • La première étape
    • Le résultat renvoyé par la requête
    • Le chemin du fichier source
    • Un commentaire

Quiz de fin de leçon

  1. Que se passe-t-il pour le fichier source quand vous supprimez une colonne dans Power Query ?

    • La colonne est supprimée du fichier
    • Rien : la transformation s'applique seulement au résultat de la requête
    • Le fichier est renommé
  2. Comment écrit-on en M un nom d’étape contenant des espaces ?

    • #"Type modifié"
    • [Type modifié]
    • 'Type modifié'
  3. Que montre l’option Qualité de la colonne ?

    • Le pourcentage de valeurs valides, d'erreurs et de vides
    • La couleur de la colonne
    • La taille du fichier

La suite du cours

  1. Nettoyer les données : types, vides, doublons, texte20 min
  2. Ajouter des colonnes : personnalisées, conditionnelles, fractionnées15 min
  3. Combiner des requêtes : ajouter et fusionner20 min
  4. Remodeler (dépivoter, regrouper) et bonnes pratiques20 min

Power Query : importer et transformer · Débutant · 1 h 30