Aller au contenu
Power Query, DAX & automatisation

Langage M

Le langage M est le code que Power Query écrit pour chaque requête. Le lire permet de corriger une étape, de paramétrer un chemin ou d'écrire une transformation absente de l'interface.

  • M
  • power query
  • let
  • code
  • éditeur avancé

Syntaxe

Modèle
let    Etape1 = ...,    Etape2 = Fonction(Etape1, ...)in    Etape2

Exemple

Exemple concret
let    Source = Csv.Document(File.Contents("C:\Donnees\ventes.csv"), [Delimiter = ";", Encoding = 65001]),    Entetes = Table.PromoteHeaders(Source, [PromoteAllScalars = true]),    Types = Table.TransformColumnTypes(Entetes, {{"Date", type date}, {"Montant", type number}}),    Positifs = Table.SelectRows(Types, each [Montant] > 0)in    Positifs// → table des ventes typées, sans les avoirs (montants négatifs ou nuls)

À retenir

  1. M est sensible à la casse : Table.SelectRows fonctionne, table.selectrows renvoie une erreur. Les arguments se séparent toujours par une virgule, quelle que soit la langue d'Excel.
  2. each [Montant] > 0 est un raccourci pour la fonction (_) => _[Montant] > 0, appliquée à chaque ligne.
  3. Piège : un chemin écrit en dur (C:\Donnees\…) casse la requête sur le poste d'un collègue. Créez un paramètre (Accueil > Gérer les paramètres) pour le dossier source.
  4. Accueil > Éditeur avancé affiche tout le code ; chaque étape créée dans l'interface y apparaît comme une ligne nommée.

Voir aussi