Vue de requête DAX
En bref
- Objectifs : écrire et exécuter une requête DAX ; tester, modifier et enregistrer des mesures dans le modèle ; utiliser les requêtes rapides ; demander à Copilot d'écrire ou d'expliquer une requête.
- Prérequis : « Découvrir DAX ».
- Niveau : intermédiaire.
- Licence : Copilot exige un espace de travail sur une capacité Fabric.
Pourquoi ?
Une mesure posée dans un visuel ne montre que son résultat. La vue de requête DAX montre ce qui se passe derrière : vous pouvez afficher une table virtuelle, comparer plusieurs versions d'une mesure côte à côte, documenter toutes les mesures du modèle en une page, puis enregistrer dans le modèle la version retenue. C'est l'atelier de mise au point des formules.
Notions clés
Structure d'une requête
- EVALUATE (obligatoire) : la table à renvoyer.
- DEFINE (facultatif) : des mesures, variables ou fonctions qui n'existent que le temps de la requête (
DEFINE MEASURE). - ORDER BY (facultatif) : le tri du résultat.
DEFINE
MEASURE Ventes[Montant moyen par pays] =
AVERAGEX ( VALUES ( Geographie[Pays] ), [Montant vente] )
EVALUATE
SUMMARIZECOLUMNS (
Produit[Categorie],
"Montant", [Montant vente],
"Moyenne par pays", [Montant moyen par pays]
)
ORDER BY [Montant] DESCLes zones de l'écran

- (1) Accès à la vue de requête DAX, par l'icône à gauche de Power BI Desktop.
- (2) Zone de saisie du code DAX, avec IntelliSense et info-bulle au survol d'une mesure.
- (3) Bouton Exécuter : les résultats s'affichent dans la grille Résultats (4) ; une liste déroulante permet de choisir le résultat quand la requête contient plusieurs EVALUATE.
- (5) Les mesures peuvent être modifiées dans la zone de saisie, puis mises à jour dans le modèle.
- (6) Clic droit sur une mesure, une table ou une colonne du volet Données > Requêtes rapides.
Les requêtes rapides
| Objet | Requêtes rapides |
| N'importe où | Définir toutes les mesures dans le modèle (avec un résumé) ; Définir une nouvelle mesure (squelette à personnaliser) |
| Table | Afficher les 100 premières lignes ; Afficher les statistiques des colonnes ; Définir toutes les mesures de cette table |
| Colonne | Afficher l'aperçu des données ; Afficher les statistiques de la colonne |
| Mesure | Évaluer (une seule mesure, encadrée par SUMMARIZECOLUMNS) ; Définir et évaluer ; Définir avec des références et évaluer (la mesure et les mesures qu'elle utilise) |
Enregistrer dans le modèle
- Au-dessus de chaque bloc
DEFINE MEASURE, un lien cliquable apparaît : Mettre à jour le modèle : Ajouter une nouvelle mesure si la mesure n'existe pas, Mettre à jour le modèle : Remplacer la mesure si sa formule diffère de celle du modèle. - Le bouton Mettre à jour le modèle avec les modifications enregistre toutes les mesures de l'onglet en une fois.
- Les lignes
///placées au-dessus d'une mesure sont enregistrées comme sa description. - Les onglets de requête sont conservés dans le fichier : vous pouvez garder une page de tests par thème.
Pas à pas
1. Ouvrez la vue de requête DAX, puis, dans le volet Données, faites un clic droit sur la mesure Montant vente ALLSELECTED du PBIP FonctionsFiltre > Requêtes rapides > Définir avec des références et évaluer.
[Capture : vue de requête DAX, menu contextuel d'une mesure avec Requêtes rapides > Définir avec des références et évaluer]
2. Cliquez sur Exécuter : la grille affiche le résultat de la mesure.
3. Modifiez la formule dans le bloc DEFINE (par exemple remplacez ALLSELECTED par ALL), exécutez de nouveau et comparez.
4. Si la nouvelle version vous convient, cliquez sur Mettre à jour le modèle : Remplacer la mesure ; sinon, fermez l'onglet sans enregistrer.
Écrire avec Copilot
1. Activez, si nécessaire, la fonctionnalité en préversion de Copilot dans la vue de requête DAX (Options > Fonctionnalités en préversion), puis rattachez Power BI Desktop à un espace de travail sur une capacité Fabric.
2. Dans un onglet de requête, ouvrez Copilot (bouton Copilot ou Ctrl+I) et décrivez la requête souhaitée, par exemple « Écrire une requête DAX pour afficher le montant des ventes par pays et par catégorie ».
3. Exécutez la requête proposée, affinez-la par de nouvelles demandes, puis choisissez Conserver la requête.
4. Pour comprendre une requête existante, sélectionnez-la et choisissez Expliquer cette requête ; pour une notion, utilisez Expliquer un sujet DAX.
[Capture : vue de requête DAX avec le volet Copilot ouvert, une requête générée et le bouton Conserver la requête]
Exemple
Pour documenter un modèle, utilisez la requête rapide Définir toutes les mesures dans le modèle : toutes les formules s'affichent dans un seul onglet, prêtes à être relues ou copiées. Pour tester une table virtuelle avant de l'utiliser dans une mesure, évaluez-la directement :
EVALUATE
TOPN ( 2, ADDCOLUMNS ( VALUES ( Produit[Produit] ), "@Montant", [Montant vente] ), [@Montant], DESC )Les fonctions INFO permettent aussi d'interroger les métadonnées du modèle, par exemple la liste des mesures et de leurs expressions :
EVALUATE
INFO.VIEW.MEASURES ()Pièges et bonnes pratiques
- Une mesure définie dans DEFINE n'existe que dans la requête tant que vous n'avez pas mis à jour le modèle.
- La grille ne respecte pas les formats (devise, séparateur de milliers) : comparez les valeurs, pas leur présentation.
- Limites : au plus 15 Mo et 1 000 000 de valeurs par requête ; « Définir toutes les mesures » n'est pas disponible au-delà de 500 mesures.
- Service Power BI : la vue existe aussi dans le service (Écrire des requêtes DAX dans le menu du modèle sémantique), avec une autorisation d'écriture sur le modèle ; les requêtes n'y sont pas conservées à la fermeture du navigateur.
- Copilot se fonde sur les métadonnées du modèle (noms de tables, colonnes, mesures) : des noms clairs améliorent ses propositions. Relisez toujours le code proposé.
- Raccourcis utiles : Maj+Alt+F met en forme la requête, Ctrl+/ commente ou décommente, Ctrl+Maj+L sélectionne toutes les occurrences de la sélection, Ctrl+Alt+P ouvre la palette de commandes.
À retenir
- Une requête DAX renvoie une table : EVALUATE est obligatoire, DEFINE facultatif.
- Les requêtes rapides génèrent le code de départ : évaluer une mesure, définir toutes les mesures, afficher un aperçu.
- Le lien « Mettre à jour le modèle » enregistre une mesure testée dans le modèle.
- Copilot peut écrire et expliquer des requêtes, sur une capacité Fabric.
Pour aller plus loin
- Source (Microsoft Learn, vue de requête DAX)
- Source (Microsoft Learn, requêtes DAX)
- Source (Microsoft Learn, écrire des requêtes DAX avec Copilot)
- Source (Microsoft Learn, fonctions INFO)
Exercice
Utilisez la vue de requête DAX pendant toute la Mise en pratique DAX : après chaque thème, exécutez la requête rapide « Définir toutes les mesures de cette table » sur la table Ventes pour relire vos formules.