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
let Etape1 = ..., Etape2 = Fonction(Etape1, ...)in Etape2Exemple
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
- 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.
- each [Montant] > 0 est un raccourci pour la fonction (_) => _[Montant] > 0, appliquée à chaque ligne.
- 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.
- Accueil > Éditeur avancé affiche tout le code ; chaque étape créée dans l'interface y apparaît comme une ligne nommée.
Voir aussi
- Power Query (importer / transformer)Power Query importe des données (fichiers, dossiers, bases, web), les nettoie par étapes enregistrées et les charge dans Excel. Une actualisation rejoue tout le nettoyage sur les nouvelles données.
- DAX (mesures, CALCULATE)DAX est le langage des mesures du modèle de données : une mesure se recalcule selon les filtres du TCD. CALCULATE en est la clé, car elle évalue une expression sous des filtres modifiés.
- Power Pivot & modèle de donnéesPower Pivot charge plusieurs tables dans un modèle de données et les relie comme une base relationnelle. Un seul TCD croise alors ventes, clients et calendrier sans aucune RECHERCHEV.