Référence technique · Libre accès

Référence Power Query & DAX en français

L’essentiel des fonctions DAX et du langage M de Power Query, expliqué en français et orienté cas concrets. Cette page condense la méthode issue de nos missions depuis 2021, et renvoie vers nos fiches détaillées.

Mis à jour le

Power BI repose sur deux langages : DAX pour les mesures et calculs analytiques, M (Power Query) pour la préparation des données. Cette page de référence regroupe les fonctions les plus utilisées de chacun, classées par usage, avec pour chaque famille les cas où nous les employons en mission. Elle remplace nos anciennes fiches unitaires : si un ancien lien vous a conduit ici, la fonction que vous cherchiez figure dans l’une des sections ci-dessous, et la syntaxe complète reste documentée sur Microsoft Learn (DAX) et Microsoft Learn (Power Query M).

DAX

Fonctions DAX : mesures et calculs

Agrégations

Le socle de toute mesure. Les versions en X (SUMX, AVERAGEX, MAXX) itèrent ligne à ligne sur une table, ce qui permet de calculer une expression avant d’agréger.

FonctionCe qu’elle fait
SUM / SUMXSomme d’une colonne / somme d’une expression évaluée ligne à ligne (ex. quantité × prix).
AVERAGE / AVERAGEXMoyenne d’une colonne numérique / d’une expression par ligne.
COUNTROWS, COUNTA, DISTINCTCOUNTCompter des lignes, des valeurs non vides, des valeurs distinctes (clients uniques, commandes…).
MIN / MAX / MAXXValeur extrême d’une colonne ou d’une expression (dernière date de vente, panier maximum…).

Filtres et contexte : CALCULATE et sa famille

CALCULATE est la fonction la plus importante de DAX : elle évalue une expression dans un contexte de filtre modifié. C’est elle qui permet le « CA de l’an dernier », la « part du total » ou le « hors avoirs ».

CALCULATEÉvalue une mesure avec des filtres ajoutés, remplacés ou retirés.
FILTERFiltre une table ligne à ligne avec une condition libre. À réserver aux conditions complexes.
ALL, ALLEXCEPT, ALLSELECTED, ALLCROSSFILTEREDRetirent tout ou partie des filtres : indispensables pour les parts du total et les comparaisons.
REMOVEFILTERS, KEEPFILTERSVariantes explicites pour lever ou conserver des filtres dans un CALCULATE.
LOOKUPVALUE, RELATED, TREATASRécupérer une valeur d’une autre table, avec ou sans relation physique.

Time intelligence : comparer des périodes

Les fonctions temporelles exigent une table de dates continue marquée comme table de calendrier. Un exemple courant, le cumul annuel :

CA cumul annuel =
TOTALYTD ( [Chiffre d'affaires], 'Calendrier'[Date] )
TOTALYTD, DATESYTDCumul depuis le début de l’année (fiscal possible via le paramètre de fin d’exercice).
SAMEPERIODLASTYEAR, DATEADDMême période l’an dernier, ou décalage libre (mois, trimestre, année) pour les variations N-1.
DATESINPERIODFenêtre glissante (12 derniers mois, 90 derniers jours) pour les moyennes mobiles.
EOMONTH, DATEVALUEFin de mois et conversion texte → date, utiles pour construire les bornes de période.
CALENDAR, CALENDARAUTOGénérer la table de dates. Nous créons systématiquement un calendrier dédié dans chaque modèle, construit en Power Query plutôt qu’en DAX.

Tables et modélisation

SUMMARIZE, ADDCOLUMNSConstruire des tables d’agrégats ou enrichies, pour les mesures avancées et les tables calculées.
VALUES, DISTINCTListe des valeurs uniques visibles dans le contexte courant.
RELATEDTABLEDepuis le côté « 1 » d’une relation, récupérer les lignes liées côté « plusieurs ».
Power Query · Langage M

Power Query : préparer les données

Tout ce qui se passe avant le modèle : connexion aux sources, nettoyage, transformation. L’éditeur graphique génère du M ; connaître les fonctions sous-jacentes permet d’aller plus loin que l’interface.

Manipuler les tables

Table.SelectRowsFiltrer les lignes selon une condition (l’équivalent du filtre de l’interface, en plus puissant).
Table.Combine, Table.NestedJoinEmpiler plusieurs tables, ou les joindre sur une clé (fusion de requêtes).
Table.FuzzyNestedJoin, Table.AddFuzzyClusterColumnJointures et regroupements approximatifs : précieux pour rapprocher des libellés saisis à la main.
Table.FirstN, Table.AlternateRows, Table.SplitÉchantillonner, garder une ligne sur deux, découper une table en lots.
Table.Profile, Table.Schema, Table.RowCountAuditer une table : profil statistique, types de colonnes, volumétrie.
Excel.WorkbookLire un classeur Excel entier, y compris récupérer tous les onglets d’un coup.

Texte et dates

Text.Proper, Text.Lower, Text.UpperCasse des libellés : majuscule à chaque mot, tout en minuscules ou en capitales.
Text.Trim, Text.Clean, Text.Replace, Text.SplitNettoyer espaces et caractères invisibles, remplacer, découper : le quotidien du nettoyage de données.
Date.AddDays / AddWeeks / AddMonths / AddQuartersDécaler une date de n jours, semaines, mois ou trimestres.
Date.EndOfWeek / Month / Quarter / YearBornes de période, pour rattacher chaque ligne à sa fin de semaine, de mois ou d’exercice.
Date.DayOfWeek, Date.DayOfYear, Date.IsInCurrentMonth…Attributs calendaires et tests de période courante (jour, semaine, mois, trimestre).
DateTime.LocalNow, Date.From, DateTime.FromHorodatage courant et conversions texte/nombre vers date ou datetime.

Gérer les erreurs

Une requête robuste anticipe les valeurs impossibles : try … otherwise intercepte l’erreur au niveau d’une expression, Table.RemoveRowsWithErrors purge les lignes fautives, et Error.Record permet de créer des messages d’erreur explicites pour les utilisateurs de vos requêtes.

Recette la plus demandée

Connecter Google Sheets à Power BI

C’est la question qu’on nous pose le plus, en France comme à l’international. Depuis Power BI Desktop : Obtenir les données → Google Sheets, collez l’URL complète du classeur, authentifiez-vous avec le compte Google qui a accès au document, puis choisissez les feuilles à charger. Deux points de vigilance : le connecteur lit le classeur entier (pas une plage nommée), et l’actualisation planifiée dans le service Power BI nécessite de re-saisir l’identifiant Google dans les paramètres de la source de données. Pour un partage en lecture seule sans compte Google, l’alternative consiste à publier la feuille au format CSV et à utiliser le connecteur Web. Le pas-à-pas complet, avec l’actualisation automatique et les erreurs classiques, est dans notre guide Google Sheets × Power BI.

Questions fréquentes

DAX ou Power Query : les questions qui reviennent

Quelle différence entre DAX et Power Query (M) ?

Power Query prépare les données avant leur chargement : connexion, nettoyage, mise en forme. DAX calcule après le chargement : mesures, KPI, comparaisons de périodes. Règle pratique : ce qui peut être fait en amont dans Power Query doit l’être, DAX se concentre sur ce qui dépend du contexte d’analyse.

Faut-il une colonne calculée ou une mesure ?

Une mesure, dans la grande majorité des cas. Elle se recalcule selon les filtres et n’alourdit pas le modèle. La colonne calculée se justifie quand la valeur doit servir d’axe d’analyse ou de filtre (une tranche d’âge, une catégorie dérivée).

Où trouver la syntaxe complète d’une fonction ?

La documentation Microsoft Learn reste la référence exhaustive, en français, pour DAX comme pour le langage M. Cette page vous oriente vers la bonne fonction ; Microsoft Learn en donne tous les paramètres.

Vos rapports Power BI méritent un second regard ?

Modèle lent, mesures fragiles, actualisations qui échouent : notre auto-diagnostic Power BI vous fait cocher dix critères et situe votre déploiement en quelques minutes. C’est un point de départ, pas un audit. Et pour le reste de votre stack, voyez notre expertise Power BI.

Parler à un consultant

Sources — documentation officielle de l’éditeur, consultée le 22 août 2026 : référence du langage M, référence DAX.

01 83 64 60 25 Réserver un appel