Partage via


Enregistrement des diagnostics de requête dans Power BI

Le workflow de création de base dans Power Query consiste à se connecter à une source de données, à appliquer certaines transformations, à actualiser éventuellement vos données dans l’éditeur Power Query, puis à les charger dans le modèle Power BI. Une fois vos données dans le modèle Power BI, vous pouvez les actualiser de temps à autre dans Power BI Desktop (si vous utilisez Desktop pour afficher l’analytique), en plus des actualisations que vous effectuez dans le service.

Bien que vous puissiez obtenir un résultat similaire à la fin d’un workflow de création, d’une actualisation dans l’éditeur ou d’une actualisation dans Power BI, des évaluations très différentes sont exécutées par le logiciel pour les différentes expériences utilisateur fournies. Il est important de savoir à quoi s’attendre lors de l’exécution de diagnostics de requête dans ces différents workflows, car les données de diagnostic peuvent varier considérablement.

Pour démarrer Diagnostic de requête, accédez à l’onglet Outils dans le ruban de l’éditeur Power Query. Plusieurs options vous sont présentées.

Contrôle des diagnostics de requête.

Il existe deux options principales ici, « Diagnostiquer l’étape » et « Démarrer les diagnostics » (associée à « Arrêter les diagnostics »). La première vous donne des informations sur une requête jusqu’à une étape sélectionnée et est très utile pour comprendre les opérations exécutées localement ou à distance dans une requête. La deuxième vous donne plus d’insights sur une variété d’autres cas abordés ci-dessous.

Spécificités de connecteur

Il est important de mentionner qu’il n’existe aucun moyen de couvrir toutes les différentes permutations dans Diagnostic de requête. De nombreux éléments peuvent changer ce que vous voyez dans les résultats :

  • Connecteur
  • Transformations appliquées
  • Système actuellement utilisé
  • Configuration réseau
  • Choix de configuration avancés
  • Configuration ODBC

Pour maximiser la couverture, cette documentation porte sur les diagnostics de requête de la table Northwind Customers, à la fois sur SQL et OData. Les notes OData utilisent le point de terminaison public disponible sur le site web OData.org, mais vous devrez fournir un serveur SQL de votre côté. De nombreuses sources de données diffèrent considérablement de celles-ci, et une documentation spécifique au connecteur sera ajoutée au fur et à mesure.

Démarrer / arrêter les diagnostics

« Démarrer les diagnostics » et « Arrêter les diagnostics » ont un champ d’application plus étendu que « Diagnostiquer l’étape », mais génèrent également beaucoup plus d’informations que vous devrez trier. Par exemple, le démarrage des diagnostics, l’actualisation d’un aperçu, puis l’arrêt vous donneront des informations équivalentes à l’exécution de « Diagnostiquer l’étape » à chaque étape (en raison du mode de fonctionnement de Power Query dans l’éditeur pour actualiser chaque étape indépendamment).

Pour démarrer l’enregistrement, sélectionnez Démarrer les diagnostics, effectuez les évaluations souhaitées (création, actualisation de l’aperçu, actualisation complète), puis sélectionnez Arrêter les diagnostics.

Création

La principale différence du workflow de création est qu’il génère généralement plus d’évaluations individuelles que d’autres workflows. Comme indiqué dans l’article principal sur les diagnostics de requête, ces évaluations résultent du remplissage de diverses interfaces utilisateur comme les listes déroulantes de navigateurs ou de filtres.

Prenons un exemple. Nous utilisons le connecteur OData dans cet exemple, mais nous examinerons également la version SQL de la même base de données pour examiner la sortie. Pour les deux sources de données, nous allons nous connecter à la source de données en utilisant « Nouvelle source », « Sources récentes » ou « Obtenir des données ». Pour la connexion SQL, vous devrez indiquer les informations d’identification de votre serveur, mais pour le point de terminaison OData public, vous pouvez indiquer le point de terminaison lié ci-dessus.

Connexion OData.

Une fois la connexion établie et l’authentification choisie, sélectionnez la table Clients du service OData.

Navigation dans Northwind.

La table Customers vous est alors présentée dans l’interface Power Query. Disons que nous voulons savoir combien de représentants commerciaux il y a dans différents pays / régions. Tout d’abord, cliquez avec le bouton droit sur Représentants commerciaux dans la colonne Titre de contact, passez la souris sur Filtres de texte, et sélectionnez Égal à.

Appliquer un filtre de texte au titre du contact.

À présent, sélectionnez Regrouper par dans le ruban et effectuez un regroupement par Pays, votre agrégat étant comptage.

Appliquer Regrouper par.

Vous devriez voir les mêmes données que celles présentées ci-dessous.

Résultats.

Enfin, revenez à l’onglet Outils du ruban et sélectionnez Arrêter les diagnostics. Le traçage est alors arrêté et un fichier de diagnostic est créé pour vous. Des tableaux récapitulatifs et détaillés apparaissent côté gauche.

Si vous tracez une session de création entière, vous vous attendez généralement à voir une évaluation de la requête source, des évaluations liées au navigateur approprié et au moins une requête émise pour chaque étape que vous appliquez (voire plus selon les actions exactes effectuées dans le cadre de l’expérience utilisateur). Dans certains connecteurs, des évaluations parallèles se produisent pour des raisons de performances qui produisent des jeux de données très similaires.

Actualiser l'aperçu

Quand vous avez terminé de transformer vos données, vous disposez d’une séquence d’étapes dans une requête. Quand vous appuyez sur « Actualiser l’aperçu » ou « Actualiser tout » dans l’éditeur Power Query, vous ne voyez pas qu’une seule étape dans les diagnostics de votre requête. Cela s’explique par le fait que l’actualisation dans l’Éditeur Power Query actualise explicitement la requête se terminant par la dernière étape appliquée, puis revient en arrière dans les étapes appliquées et actualise la requête de ce point jusqu’à la source.

Cela signifie que si vous avez cinq étapes dans votre requête, y compris Source et Navigateur, vous vous attendez à voir cinq évaluations différentes dans vos diagnostics. La première, chronologiquement, prend souvent (mais pas toujours) le plus de temps. Il y a deux raisons à ceci :

  • Elle peut potentiellement mettre en cache les données d’entrée auxquelles les requêtes exécutées par la suite (représentant les étapes précédentes dans la requête utilisateur) peuvent accéder plus rapidement localement.
  • Des transformations peuvent être appliquées qui tronquent considérablement la quantité de données à retourner.

Notez que l’option « Tout actualiser » actualise toutes les requêtes. Comme vous pouvez vous en douter, vous devez appliquer un filtre pour voir celles qui vous intéressent.

Actualisation complète

Vous pouvez utiliser Diagnostic de requête pour diagnostiquer la soi-disant « requête finale » qui est émise durant l’actualisation dans Power BI, et non simplement l’expérience dans l’éditeur Power Query. Pour ce faire, vous devez d’abord charger les données dans le modèle une fois. Si vous envisagez de le faire, assurez-vous de réaliser que si vous sélectionnez Fermer et appliquer que la fenêtre de l’éditeur se fermera (interrompant le suivi) et vous devrez donc soit le faire lors de la deuxième actualisation, soit sélectionner l’icône déroulante sous Fermer et appliquer et sélectionnez Appliquer à la place.

Appliquer les modifications de requête.

Dans les deux cas, assurez-vous de sélectionner Démarrer les diagnostics dans la section Diagnostics de l'onglet Outils de l’éditeur. Une fois que vous avez fait cela, actualisez votre modèle ou simplement la table qui vous intéresse.

Actualiser la table.

Une fois le chargement des données à modéliser terminé, sélectionnez Arrêter les diagnostics.

Vous pouvez vous attendre à voir une combinaison de métadonnées et de requêtes de données. Les appels de métadonnées récupèrent les informations possibles sur la source de données. L’extraction de données consiste à accéder à la source de données, à émettre la requête de source de données finale générée avec des opérations pliées, puis à effectuer les évaluations manquantes en haut, localement.

Il est important de noter que ce n’est pas parce que vous voyez une ressource (base de données, point de terminaison web, etc.) ou une requête de source de données dans vos diagnostics qu’elle effectue nécessairement une activité réseau. Power Query peut récupérer ces informations à partir de son cache. Dans les prochaines mises à jour, nous indiquerons si des informations sont récupérées à partir du cache pour faciliter le diagnostic.

Étape de diagnostic

« Diagnostiquer l’étape » est utile pour obtenir des insights sur les évaluations exécutées jusqu’à une étape, ce qui peut vous aider à identifier, jusqu’à cette étape, à quoi ressemble le niveau de performance ainsi que les parties de votre requête qui sont effectuées localement ou à distance.

Si vous avez utilisé « Diagnostiquer l’étape » sur la requête que nous avons générée ci-dessus, vous constaterez qu’elle ne retourne qu’environ 10 lignes. En examinant la dernière ligne avec une requête de source de données, nous pouvons avoir une assez bonne idée de la requête finale qui sera émise à la source de données. Dans ce cas, nous pouvons voir que Sales Representative a été filtré à distance, mais que le regroupement (par processus d’élimination) s’est produit localement.

Diagnostic de la table Customers filtrée et regroupée.

Si vous démarrez et arrêtez les diagnostics et actualisez la même requête, nous obtenons 40 lignes. En effet, comme mentionné ci-dessus, Power Query obtient des informations sur chaque étape, pas seulement sur la dernière. Cela rend les choses difficiles quand vous essayez simplement d’obtenir des insights sur une partie particulière de votre requête.

Documentation supplémentaire

Présentation de la fonctionnalité

En savoir plus sur la lecture et la visualisation de vos traces enregistrées

Comprendre le pliage des opérations de requête avec Diagnostic de requête