Partager via


Utiliser l’affichage des requêtes DAX

Avec la vue de requête DAX dans Power BI, vous pouvez afficher et utiliser des requêtes DAX (Data Analysis Expressions) sur des modèles sémantiques.

Requêtes DAX

Dans Power BI, les formules DAX sont utilisées pour définir différents types de calculs pour vos données et peuvent également être utilisées pour définir la sécurité des rôles. Les requêtes DAX, en revanche, peuvent être utilisées pour renvoyer des données du modèle.

Les requêtes DAX sont similaires aux requêtes SQL dans la mesure où elles peuvent vous montrer les données que vous possédez déjà. Les requêtes DAX ne créent pas d'éléments dans le modèle ni de visuels dans le rapport.

Les requêtes DAX comportent deux parties principales :

  • Une instruction EVALUATE, qui est obligatoire. Il spécifie quelles données et comment sont renvoyées dans la requête.
  • Une instruction DEFINE, qui est facultative. Elle vous permet de définir des formules DAX, telles qu'une mesure, à utiliser dans la requête. Les mesures créées ou mises à jour à l’aide de la requête DAX DEFINE MEASURE sont des mesures étendues aux requêtes DAX, en cours d’exécution uniquement dans le contexte de la requête DAX. Les mesures étendues aux requêtes DAX peuvent être ajoutées au modèle à l’aide des actions de modèle de mise à jour CodeLens ou du bouton Mettre à jour le modèle avec des modifications.

Pour en savoir plus sur la façon dont les requêtes sont utilisées, consultez Requêtes DAX dans la référence DAX.

Ouvrir la vue de requête DAX

Dans Power BI Desktop, sélectionnez l’icône Affichage des requêtes DAX sur le côté gauche.

Capture d’écran de l’icône d’affichage de requête DAX dans Power BI Desktop.

Dans l’espace de travail du service Power BI ou du portail Fabric, choisissez Écrire des requêtes DAX dans le menu contextuel.

Capture d’écran du point d’entrée « Écrire des requêtes DAX » dans le menu contextuel d’un modèle sémantique.

Sur la page des détails du modèle sémantique du service Power BI ou du portail Fabric, sélectionnez Écrire des requêtes DAX en haut de la page.

Capture d’écran du point d'entrée pour écrire des requêtes DAX dans la page de détails du modèle sémantique.

Disposition de la vue des requêtes DAX

Examinons de plus près la vue des requêtes DAX dans Power BI Desktop.

Diagramme montrant la disposition de la vue de requête DAX.

La vue de requête DAX contient les éléments suivants :

Ruban

Le ruban d’affichage des requêtes DAX comporte des actions courantes utilisées lors de l’écriture de requêtes DAX.

Capture d’écran du ruban d’affichage de requête DAX.

Examinons de plus près les éléments du ruban :

Mettre en forme la requête

Sélectionnez le bouton du ruban Mettre en forme la requête ou utilisez Maj+Alt+F pour mettre en forme la requête actuelle. La requête est mise en retrait avec des tabulations. Les fonctions DAX sont remplacées par UPPERCASE et des lignes supplémentaires sont ajoutées. Le formatage de votre requête DAX est considéré comme une bonne pratique et améliore la lisibilité de la requête DAX. La mise en forme est également mise en retrait pour vous permettre de réduire et de développer des sections de la requête.

Capture d’écran du bouton Formater la requête.

Commenter et supprimer les marques de commentaire

Sélectionnez le bouton du ruban Commentaire pour ajouter une double barre oblique inverse (//) au début de la ligne où se trouve le curseur ou de toutes les lignes sélectionnées. Cette action commente les lignes et, quand la requête DAX est exécutée, ces lignes sont ignorées.

Sélectionnez le bouton du ruban Ne pas commenter pour supprimer // au début de la ligne où se trouve le curseur ou de toutes les lignes sélectionnées. Cela ne fonctionne pas sur les lignes sur lesquelles une notation de commentaire sur plusieurs lignes est ajoutée.

Vous pouvez également utiliser CTRL+/ pour basculer entre les actions commenter et supprimer les marques de commentaire.

Capture d’écran des boutons Commentaire et Décommenter dans le ruban d'affichage requête DAX.

Rechercher et remplacer

Sélectionnez le bouton du ruban Rechercher ou utilisez Ctrl+F pour rechercher du texte dans l’éditeur de requête DAX. L’action Rechercher inclut des options pour faire correspondre la casse, faire correspondre un mot entier, utiliser une expression régulière et parcourir toutes les correspondances pour la requête en cours. Vous pouvez également sélectionner le chevron à gauche de la zone Rechercher pour accéder à Remplacer.

Capture d’écran du bouton Rechercher dans le ruban de la vue de requête DAX.

Sélectionnez le bouton Remplacer dans le ruban ou utilisez Ctrl+H pour rechercher et remplacer du texte dans l’éditeur de requête DAX. L’action Remplacer inclut des options permettant de conserver la casse, et d’effectuer un remplacement à la fois ou tous en même temps.

Capture d’écran de la fonctionnalité Remplacer dans le ruban de la vue de requête DAX.

Palette de commandes

Sélectionnez le bouton du ruban Palette de commandes ou utilisez Ctrl+Alt+P pour ouvrir la boîte de la palette de commandes. Vous pouvez rechercher d’autres actions de l’éditeur de requête DAX et voir leurs raccourcis clavier associés.

Capture d’écran de la palette de commandes d’affichage de requêtes DAX.

Barre de commandes

La barre de commandes de la vue de requête DAX inclut les actions les plus importantes lors de l'utilisation de la vue de requête DAX.

Exécuter et annuler

Le bouton Exécuter exécute la requête DAX ou les lignes sélectionnées d'une requête. L'état d'une requête après son exécution s’affiche dans la barre d’état inférieure.

Capture d’écran de la barre de commandes d’affichage de requête DAX.

Lorsqu'une requête est en cours d'exécution, le bouton devient un bouton Annuler, qui peut être utilisé pour arrêter une requête en cours d'exécution.

Capture d’écran du bouton Annuler dans l’affichage des requêtes DAX.

Mettre à jour le modèle avec des modifications

Le bouton Mettre à jour le modèle avec les changements ajoute ou remplace les mesures de modèle par les formules DAX des mesures étendues aux requêtes DAX. Les mesures étendues aux requêtes DAX sont les formules DAX du bloc DEFINE MEASURE. Vous pouvez également choisir d’ajouter ou de remplacer des mesures de modèle individuellement à l’aide du texte CodeLens qui apparaît au-dessus de chacun d’eux.

Éditeur de requêtes DAX

La vue des requêtes DAX comprend un éditeur de requêtes dans lequel vous pouvez écrire et modifier des requêtes. C'est bien plus qu'une simple barre de formule DAX plus grande. Il est plus puissant et présente de nombreuses similitudes avec l'éditeur DAX disponible dans VS Code.

L'éditeur de requêtes DAX contient les éléments suivants :

Suggestions et IntelliSense

Tapez votre requête et obtenez de l'aide avec des suggestions et Intellisense lors de l'édition.

Capture d’écran de l’éditeur de requête DAX intellisense.

Utilisez ENTRÉE ou TAB pour ajouter l’intelliSense en surbrillance, ou MAJ+ENTRÉE ou ALT+ENTRÉE pour passer à une autre ligne sans ajouter l’option intelliSense. Quand vous sélectionnez Échap, toutes les superpositions sont fermées.

Pointez pour afficher les formules de mesure

Lorsqu'une mesure est incluse dans la requête DAX, vous pouvez la survoler pour voir la formule, le nom et la description.

Capture d’écran du survol pour afficher la formule de mesure.

Sélectionner pour afficher les actions rapides de l'ampoule de mesure

Quand vous sélectionnez une mesure dans une instruction EVALUATE d’une requête sans instruction DEFINE, l’ampoule des actions rapides s’affiche. Sélectionnez Définir ou Définir avec des références pour créer une instruction DEFINE avec la formule de cette mesure, avec ou sans les formules DAX de la mesure de référence.

Mettre à jour les mesures du modèle à l'aide de CodeLens

L’utilisation de DEFINE MEASURE est utile lors de la création de mesures en vous permettant d’abord de les créer en tant que mesures étendues aux requêtes DAX. Vous pouvez modifier plusieurs mesures dans une seule fenêtre, puis exécuter la requête pour voir les résultats de toutes ou seulement de certaines d'entre elles avec des colonnes de regroupement spécifiques. Vous n'avez pas besoin de créer un visuel de tableau dans la vue Rapport et de basculer entre les formules de mesure. CodeLens va encore plus loin en fournissant des invites quand la mesure existe déjà dans le modèle. Ces invites offrent des liens rapides pour ajouter la mesure ou remplacer celle du modèle.

CodeLens est le texte cliquable qui s’affiche au-dessus d’un bloc DEFINE MEASURE. Pour les mesures de requête DAX qui ne sont pas encore présentes dans le modèle, l'option Mettre à jour le modèle : Ajouter une nouvelle mesure CodeLens apparaît. En cliquant dessus, elle ajoute la mesure au modèle. Pour les mesures étendues aux requêtes DAX qui sont déjà présentes dans le modèle, et quand la formule DAX de la mesure étendue à DAX est différente, le CodeLens Mettre à jour le modèle : remplacer la mesure s’affiche, ce qui remplace la mesure du modèle par cette formule DAX quand vous cliquez dessus.

Vous pouvez également ajouter ou remplacer plusieurs mesures à la fois en cliquant sur le bouton Mettre à jour le modèle avec les modifications dans la barre Commande.

Capture d’écran du modèle de mise à jour avec le bouton modifications disponible en mode requête DAX.

Flux de travail de mise à jour des mesures

Les actions rapides de l'ampoule et CodeLens peuvent être utilisés ensemble dans un flux de travail complet :

  1. Dans le menu contextuel d'une mesure, choisissez Requêtes rapides, puis Évaluer pour que la requête soit créée pour vous dans un nouvel onglet Requête.
  2. Sélectionnez la mesure dans la requête pour Définir ou Définir avec des références, en ajoutant l’instruction DEFINE.
  3. Effectuez des mises à jour de formule DAX sur la mesure, puis exécutez la requête DAX pour afficher les résultats.
  4. Quand le changement s’affiche comme prévu, utilisez le CodeLens Mettre à jour le modèle : remplacer la mesure pour le réenregistrer dans le modèle.

Voici une manière plus visuelle de comprendre le flux de travail :

Diagramme du workflow.

Grille des résultats

Lorsqu'une requête est exécutée, les résultats sont affichés dans la grille Résultats.

Capture d’écran de la grille des résultats.

S'il existe plusieurs instructions EVALUATE dans l'éditeur de requête, plusieurs résultats peuvent être renvoyés. Vous pouvez utiliser la liste déroulante Résultat pour basculer entre eux. Le bouton Copier copie la grille entière sous forme de tableau délimité par des tabulations avec des en-têtes. Redimensionnez la grille en faisant glisser les flèches du coin supérieur droit ou la bordure entre la grille de résultats et l’éditeur de requête.

Si la requête génère une erreur, la grille des résultats l'affiche.

Capture d’écran du message d’erreur dans la grille des résultats.

Un bouton de copie transfère l'erreur dans votre presse-papiers. Le début de l'erreur indique où se trouve l'erreur dans la requête. Dans l'image ci-dessus, l'erreur est :

«Requête (4, 23) La valeur de « Sales 2 » ne peut pas être déterminée. La colonne n’existe pas ou il n’existe aucune ligne actuelle pour cette colonne."

Et "Query (4, 23)" indique que l'erreur se trouve à la ligne 4 et au caractère 23.

Onglets de requête

La vue des requêtes DAX peut comporter plusieurs onglets de requête, qui peuvent être renommés ou supprimés. Ils montrent également l'état actuel de la requête.

Capture d’écran des onglets Requêtes.

Chaque onglet comprend un indicateur d'état :

  • Aucun indicateur ne s’affiche avant d’exécuter la requête.
  • Une coche verte indique une exécution réussie de la requête.
  • Une croix rouge indique qu'une erreur s'est produite.
  • Un carré plein dans un cercle indique que la requête a été annulée.
  • Une horloge indique que la requête est en cours d'exécution.

Les requêtes peuvent s'exécuter en arrière-plan, vous permettant de continuer à travailler sur d'autres onglets de requête.

Enregistrement des requêtes DAX

Les onglets de requête de l’affichage des requêtes DAX sont enregistrés dans le fichier quand vous enregistrez à partir de Power BI Desktop. Vous pouvez donc reprendre là où vous en étiez quand vous ouvrez à nouveau le fichier. Si vous utilisez le mode développeur pour enregistrer un projet Power BI, chaque onglet de requête est inclus sous forme de fichier .dax dans le dossier DAXQueries du dossier du modèle sémantique, ou dossier de rapport s’ils sont créés dans un rapport connecté en direct. En savoir plus dans la documentation du mode développeur de Power BI.

Actuellement, vous ne pouvez pas afficher ou modifier les requêtes DAX précédemment ajoutées dans Power BI Desktop dans le service Power BI. Les utilisateurs du rapport ou du modèle sémantique ne voient pas les requêtes DAX enregistrées avec le modèle sémantique.

Les onglets de la vue de requêtes DAX sont supprimés lors de la fermeture lorsque vous écrivez des requêtes DAX depuis le service Power BI ou le portail Fabric.

Volet Données

Le volet Données affiche les éléments du modèle pour vous aider à rédiger des requêtes. Les chemins d'édition de la plupart de ces éléments sont bloqués dans la vue des requêtes.

Requêtes rapides

Le menu contextuel du volet Données inclut les requêtes rapides. Utilisez des requêtes rapides pour créer des requêtes dans un nouvel onglet de requête pour les tables, les colonnes et les mesures. Les requêtes rapides sont conçues pour augmenter la productivité des tâches courantes et conçues de manière à pouvoir être facilement modifiées davantage. Toutes les requêtes rapides sont créées dans un nouvel onglet de requête et sont exécutées automatiquement.

N’importe où
  • Définir toutes les mesures dans le modèle crée une requête avec toutes les formules de mesure affichées dans une requête. Recherchez facilement toutes vos formules de mesure.

  • Définir une nouvelle mesure crée une requête avec un bloc de mesure défini. Utilisez-la pour créer votre propre mesure en mode requête DAX, puis ajoutez-la à votre modèle lorsque vous êtes prêt.

Tableaux
  • Afficher les 100 premières lignes crée une requête en utilisant SELECTCOLUMNS() pour afficher les 100 premières lignes du tableau. Les colonnes sont répertoriées sur chaque ligne pour permettre une modification facile en commentant les lignes. Un ORDER BY est également inclus pour spécifier votre ordre de tri.

    Capture d’écran des 100 premières lignes.

  • Afficher les statistiques des colonnes crée une requête affichant des informations statistiques pour chaque colonne de votre table. Consultez de nombreuses formules expliquant comment agréger des colonnes sous la forme MIN, MAX, AVERAGE, COUNT, etc.

  • Définir toutes les mesures de cette table crée une requête avec les formules de mesure de cette table affichées dans une requête.

Colonnes
  • Afficher l'aperçu des données crée une requête à l'aide de DISTINCT() pour voir les valeurs d'une colonne.

    Capture d’écran de l’aperçu des données.

  • Afficher les statistiques de la colonne crée une requête affichant des informations statistiques pour cette colonne spécifique. Découvrez de nombreuses formules expliquant comment agréger la colonne sous la forme MIN, MAX, AVERAGE, COUNT, etc. La requête renvoyée varie en fonction du type de données de la colonne, affichant différentes statistiques pour les colonnes numériques, de texte et de date.

    Capture d’écran de l’aperçu d’affichage des colonnes.

Mesures
  • Evaluate crée une requête pour afficher le résultat de la mesure. SUMMARIZECOLUMNS() est utilisé pour que vous puissiez ajouter n'importe quel groupe par colonnes pour afficher la mesure par groupes spécifiques tels que Pays, Produit, etc.

    Capture d’écran de l’évaluation d’une mesure.

  • Définir et évaluer crée une requête pour afficher le résultat de la mesure et afficher la formule de la mesure dans une instruction DEFINE qui peut ensuite être modifiée.

    Capture d’écran de la définition et de l’évaluation d’une mesure.

  • Définir avec des références et évaluer crée une requête pour afficher le résultat de la mesure et afficher non seulement la formule de la mesure dans une instruction DEFINE qui peut être modifiée, mais également toutes les autres mesures référencées dans la formule de la mesure. Modifiez n'importe quelle partie dans le contexte complet de la mesure.

    Capture d’écran de la définition avec des références et de l’évaluation.

Obtention de requêtes DAX visuelles à partir d’Analyseur de Performances

Les visuels de la vue Rapport obtiennent les données du modèle en créant une requête DAX. La requête visuelle peut être consultée dans l’affichage des requêtes DAX avec l’Analyseur de performances. L’Analyseur de Performances peut vous donner un aperçu de la raison pour laquelle un visuel peut afficher une valeur inattendue ou simplement comme un moyen de démarrer rapidement une requête que vous pouvez modifier davantage.

Dans la vue Rapport, accédez au ruban Optimiser, puis cliquez sur Analyseur de performances. Sélectionnez Démarrer l’enregistrement, puis Actualiser les visuels. Dans le tableau ci-dessous, développez un visuel pour voir les options permettant de copier la requête ou de l’exécuter dans l’affichage des requêtes DAX. Le fait de sélectionner Exécuter dans la vue de requête DAX prend la requête visuelle, l’ajoute en tant que nouvel onglet Requête dans la vue de requête DAX, puis l’exécute.

Capture d’écran des requêtes DAX visuelles dans la fonctionnalité Analyseur de performances.

Affichage des requêtes DAX et connexion dynamique dans Power BI Desktop

Power BI Desktop peut se connecter en direct à un modèle sémantique Power BI publié en cliquant sur Connecter lorsqu’un modèle sémantique est sélectionné dans le hub de données OneLake. En bas à droite de la vue Rapport, s’affiche Connecté en direct au modèle sémantique Power BI. La vue des requêtes DAX peut être utilisée pour rédiger des requêtes DAX lors d'une connexion en direct.

Mesures de modèle

Lorsque vous êtes connecté en direct à un modèle sémantique Power BI publié, vous ne pouvez pas afficher ou modifier les mesures de modèle. Les options de requêtes rapides sont limitées uniquement à Évaluer.

Mesures de rapport

Quand vous êtes connecté en direct à un modèle sémantique Power BI publié, vous pouvez créer des mesures de rapport. Les mesures de rapport peuvent être créées à l’aide de l’action Nouvelle mesure dans la vue Rapport et Modèle, mais comme le nom l’indique, elles ne sont disponibles que dans le rapport actuel. Une fois créées, les Requêtes rapides dans l’affichage des requêtes DAX affichent l’option permettant de Définir avec des références et d’évaluer. Les requêtes DAX s’exécutent sur le modèle sémantique. Par conséquent, les mesures de rapport doivent toujours être converties en mesures étendues de requête DAX dans le bloc DEFINE MEASURE à exécuter, car elles n’existent pas dans le modèle lui-même.

Le bouton Mettre à jour le modèle avec les modifications et les options CodeLens pour Mettre à jour le modèle ne sont pas disponibles pour les mesures de rapport.

Affichage des requêtes DAX dans le web

Écrire des requêtes DAX à partir de modèles sémantiques publiés et utiliser l'affichage des requêtes DAX sur le web. L’affichage des requêtes DAX sur le web est la même expérience que dans Power BI Desktop, à quelques exceptions.

  • L’utilisateur peut modifier des modèles de données dans le service Power BI (préversion). Le paramètre d’espace de travail Power BI doit être activé pour écrire des requêtes DAX. En savoir plus sur Modifier des modèles de données dans le service Power BI.
  • Les requêtes DAX sont ignorées à la fermeture. Les requêtes DAX dans Power BI Desktop enregistrées dans le modèle et un modèle sémantique peuvent avoir des requêtes DAX déjà enregistrées dans le modèle. La vue de requête DAX sur le web n’affiche actuellement aucune requête DAX enregistrée précédemment qui peut exister dans le modèle sémantique, et les requêtes créées dans le web ne sont pas conservées une fois que vous fermez le navigateur.
  • Écrire des requêtes DAX nécessite une autorisation d’écriture sur le modèle sémantique. Les utilisateurs de l’espace de travail doivent utiliser Power BI Desktop avec une connexion directe au modèle sémantique pour écrire des requêtes DAX.

Une requête DAX ajoutée en tant que paramètre à l’aide de ?query= après la liaison d’URL à la vue de requête DAX dans le web n’est plus prise en charge.

Observations et limitations

Considérations à prendre en compte :

  • Plus de 500 lignes dans l'éditeur de requêtes DAX présentent un décalage notable lors de la saisie.
  • Les actions rapides Lightbulb pour les mesures s’affichent uniquement lorsqu’aucune instruction DEFINE ne figure dans l’onglet de requête.
  • La palette de commandes affiche certaines commandes qui ne fonctionnent pas encore.
  • La grille de résultats n’affiche pas les colonnes et les mesures avec un format spécifié, comme Devise, Nombre entier avec des milliers, etc.
  • La configuration de l’intégration Git initialeà partir de l’espace de travail n’inclut pas les requêtes DAX enregistrées dans le modèle sémantique publié. En savoir plus sur l’intégration Fabric Git.

Et il y a certaines limites à garder à l’esprit :

  • Maximum de 15 Mo de données par requête. Une fois que 15 Mo sont dépassés, la ligne actuelle se termine mais aucune ligne supplémentaire n'est écrite.
  • Maximum de 1 000 000 de valeurs par requête. Si vous effectuez une requête sur 20 colonnes, vous pouvez récupérer un maximum de 50 000 lignes (1 million divisé par 20).
  • Définir toutes les mesures dans ce tableau ou ce modèle n'est pas disponible lorsqu'il y a plus de 500 mesures.

L’exécution de requêtes DAX sur le web comporte des limites supplémentaires :

  • Au maximum 99 999 lignes sont retournées par requête.
  • Autorisation d’écriture sur le modèle sémantique. ** Les utilisateurs disposant d'une autorisation de création peuvent utiliser Power BI Desktop pour se connecter en direct et utiliser l'affichage DAX pour exécuter des requêtes DAX.
  • Disponible uniquement pour les modèles sémantiques non par défaut. Vous pouvez utiliser Power BI Desktop pour vous connecter en direct au modèle sémantique par défaut et utiliser la vue de requête DAX pour exécuter des requêtes DAX.
  • L’utilisateur peut modifier des modèles de données dans le service Power BI (préversion). Le paramètre d’espace de travail Power BI doit être activé pour écrire des requêtes DAX. En savoir plus sur Modifier les modèles de données dans le service Power BI