Scénarios d’optimisation de DirectQuery avec le ruban Optimiser
Dans cet article, nous allons passer en revue plusieurs scénarios de création de rapports DirectQuery montrant comment vous pouvez simplifier votre expérience avec le ruban Optimiser dans Power BI Desktop. Avec le ruban Optimiser, vous pouvez contrôler le moment où les visuels s’actualisent avec les fonctionnalités Suspendre les visuels et Actualiser les visuels, utiliser Présélections d’optimisation pour appliquer rapidement des paramètres prédéfinis et lancer facilement l’Analyseur de performances pour approfondir les requêtes proprement dites, y compris les requêtes SQL générées par DirectQuery. Nous allons également montrer comment modifier les relations directement dans le volet Propriétés de l’affichage modèle sans exécuter de requêtes pour prévisualiser ou valider les données.
Avant de passer par ces scénarios, veuillez d’abord consulter la rubrique Ruban Optimiser dans Power BI Desktop, qui fournit une excellente présentation de ces fonctionnalités passionnantes.
Modifier un rapport DirectQuery sans exécuter de requêtes
Examinons d’abord comment améliorer le niveau de performance de création de rapports en suspendant les visuels pour qu’ils n’envoient pas de requêtes à la source de données chaque fois que nous effectuons une modification. Dans le ruban Optimiser, nous sélectionnons Suspendre les visuels. Lorsqu’ils sont suspendus, les visuels se mettent à jour uniquement s’ils n’ont pas besoin d’envoyer une requête. Si le visuel a bel et bien besoin d’envoyer une requête, il passe à l’état en attente. En attente, le visuel présente toujours l’apparence d’avant la modification, juste pour le contexte, et les info-bulles sont également désactivées pour ne pas envoyer de requêtes, elles non plus. Nous pouvons maintenant ajouter ou supprimer plusieurs colonnes ou mesures dans le champ, réorganiser les champs et même filtrer le visuel à l’aide du volet Filtre, puis le système n’envoie aucune requête !
Après toutes ces modifications, nous sélectionnons Actualiser sur le visuel pour envoyer une requête une seule fois, sélectionnons Actualiser sur la bannière ou le ruban pour que tous les visuels de la page envoient une requête une seule fois ou sélectionnons Reprendre les requêtes visuelles sur la bannière ou Visuels suspendus dans le ruban Optimiser, pour que tous les visuels envoient une requête à mettre à jour maintenant, puis continuent à envoyer des requêtes avec toutes les autres modifications.
Examinons de plus près ce workflow Suspendre les visuels :
Conseil : parfois, les images d’une page sont difficiles à voir dans le détail. Veillez à utiliser la fonctionnalité de zoom de votre navigateur !
Dans l’animation suivante, nous montrons l’ajout de deux mesures, Tarif et Tarif moyen par voyage, à deux des info-bulles du visuel sur la page, en les réorganisant dans le champ, puis en reprenant les visuels depuis la bannière.
Sans suspendre les visuels, chaque fois qu’une mesure est ajoutée ou déplacée dans le puits Champs, une nouvelle requête visuelle est envoyée à la source de données DirectQuery. Il s’agit de trois requêtes pour chaque visuel. Dans ce cas, six requêtes sont envoyées. À l’aide de Suspendre les visuels, chaque fois qu’une mesure est ajoutée ou déplacée, le système n’envoie aucune requête. Seules deux requêtes sont envoyées lors de la reprise du rapport. Pour ce simple changement de rapport, l’absence d’exécution des quatre requêtes supplémentaires entraîne un gain de temps et évite le gaspillage de précieuses ressources de source de données.
Créer des visuels sans exécuter de requête
Dans le ruban Optimiser, nous sélectionnons Suspendre les visuels. Nous ajoutons ensuite un nouveau visuel Matrice depuis le volet Visualisation, puis nous ajoutons Voyages, Jour de la semaine et Heure du jour à notre nouveau visuel Matrice. Lorsqu’il est suspendu, le visuel Matrice passe à l’état en attente : le système n’envoie aucune requête. Maintenant, nous réorganisons les champs, mais là encore, le système n’envoie aucune requête. Nous allons ouvrir le volet Filtre, afficher l’année, puis filtrer sur l’année 2013. À ce stade, l’affichage du visuel sera utile avant d’apporter d’autres modifications. Nous pouvons sélectionner Actualiser dans la bannière des visuels en attente ou ouvrir le volet Sélection pour actualiser le visuel. Nous n’avons envoyé qu’une seule requête, et la requête a été préfiltrée, ce qui accélère le temps de retour et réduit l’impact sur la source de données. Nous pouvons apporter des modifications de mise en forme au visuel et, même quand le rapport est à l’état suspendu, ces modifications s’affichent, car aucune requête DAX n’est nécessaire. Toutefois, l’ajout d’une modification de mise en forme de couleur d’arrière-plan nécessite une requête pour que le visuel passe à l’état en attente. Une fois l’action terminée, nous pouvons actualiser ou reprendre les requêtes visuelles pour voir le visuel Matrice final.
Utilisation de Suspendre les visuels lors de la création de visuels
Sans utiliser Suspendre les visuels, chaque fois qu’une mesure ou colonne est ajoutée ou déplacée dans le puits Champs, une nouvelle requête visuelle est envoyée à la source de données DirectQuery. Cela signifie six requêtes avant le début de la mise en forme. Cinq d’entre elles sont envoyées avant notre filtrage du visuel sur une seule année. Maintenant, avec Suspendre les visuels, chaque fois que la mesure ou la colonne est ajoutée ou déplacée, le système n’envoie aucune requête. Seules deux requêtes sont envoyées lors de l’actualisation du visuel ou d’une reprise du rapport. Il s’agit de requêtes filtrées. Pour ce nouvel ajout visuel, non seulement le fait d’éviter les requêtes supplémentaires a permis de gagner du temps et d’éviter le gaspillage de précieuses ressources de source de données, mais nous avons également exécuté une requête plus petite et ciblée, puis mis en forme le visuel avec une perturbation minimale.
Créer des mesures sans actualisation des visuels
Tout comme dans le scénario précédent, dans le ruban Optimiser, nous sélectionnons Suspendre les visuels pour que le rapport passe à un état suspendu. Normalement, dans un rapport DirectQuery, chaque fois qu’une nouvelle mesure est créée, tous les visuels de la page de rapport s’actualisent. Toutefois, avec le rapport à l’état suspendu, nous pouvons créer des mesures sans envoyer de requêtes. Au lieu de cela, les visuels sont à l’état en attente. Nous pouvons ajouter les mesures aux visuels en attente. Nous pouvons ensuite actualiser un visuel individuel pour afficher les résultats avec les nouvelles mesures ou simplement reprendre les requêtes visuelles une fois la tâche terminée.
Utilisation de Suspendre les visuels lors de la création de mesures
Si vous n’utilisez pas Suspendre les visuels, chaque fois qu’une mesure est créée, tous les visuels envoient des requêtes à la source de données DirectQuery. Ce sont cinq visuels sur la page qui envoient cinq requêtes à chaque modification de modèle. Cela représente beaucoup de requêtes lors de la création de deux mesures seulement et de l’ajout de ces mesures à un seul visuel ! Si vous utilisez Suspendre les visuels, chaque fois qu’une mesure est créée ou ajoutée à un visuel, le système n’envoie aucune requête. Seules six requêtes sont envoyées lorsque le visuel unique est actualisé, puis l’exécution du rapport reprend. Pour ces modifications de modélisation, nous constatons une réduction significative des requêtes et du temps d’attente pour que ces requêtes renvoient des données. Nous avons aussi considérablement réduit la charge de travail sur la source de données.
Modifier des relations entre les tables DirectQuery
Pour modifier une relation entre deux tables DirectQuery dans la vue Modèle dans Power BI Desktop, nous pouvons maintenant simplement sélectionner la ligne de relation entre ces tables pour la modifier dans le volet Propriétés ! Nous pouvons modifier la table, la colonne, la cardinalité, la direction, la rendre active ou inactive, et même activer l’intégrité référentielle si nous sommes convaincus que chaque table n’a pas de valeurs manquantes mais présentes dans l’autre table. Après avoir terminé, nous sélectionnons Appliquer les modifications. Nous pouvons également maintenir la touche Ctrl enfoncée pour sélectionner plusieurs relations, puis apporter des modifications en bloc dans le volet de propriétés ou les supprimer à l’aide de la touche Supprimer.
Modifier les relations dans le volet Propriétés
Sans possibilité de modification des relations dans le volet Propriétés, chaque fois qu’une relation est modifiée, le système envoie des requêtes lors de l’ouverture de la boîte de dialogue pour afficher la préversion des données. À chaque modification de table ou de colonne, le système envoie des requêtes pour valider la cardinalité et la direction de la relation. Maintenant, avec l’optimisation, lors de la modification des relations dans le volet Propriétés, nous n’envoyons aucune requête, puis la relation n’est validée que quand elle est prête et nous avons sélectionné le bouton Appliquer les modifications.
Appliquer les paramètres de réduction des requêtes
Si nous sélectionnons la liste déroulante Présélections d’optimisation dans le ruban Optimiser, puis sélectionnons Réduction des requêtes pour notre rapport, une boîte de dialogue affiche les paramètres appliqués.
La sélection croisée et le filtrage croisé constituent le mode d’interaction des visuels entre eux lorsqu’un point de données est sélectionné. La valeur par défaut de Power BI Desktop est la sélection croisée. Nous pouvons redéfinir la valeur par défaut sur le filtrage croisé en accédant à Fichier>Options et paramètres>Options>Paramètres du rapport, puis en sélectionnant Remplacer l’interaction visuelle par défaut « sélection croisée » par « filtrage croisé ».
Les présélections d’optimisation désactivent uniquement la sélection croisée et le filtrage croisé par défaut, de sorte que les personnalisations effectuées au niveau visuel avec Modifier les interactions ne sont pas affectées. Si nous sélectionnons un visuel (1) pour afficher le ruban Format, puis sélectionnons Modifier les interactions(2), les options s’affichent ensuite pour les autres visuels du rapport (3). Nous pouvons ensuite décider de la façon dont ils changeront lorsqu’un point de données sera sélectionné dans le visuel. Dans ce cas, nous passerons du filtrage croisé ou de la sélection croisée à l’absence totale d’interaction. Examinons le workflow :
Si nous avions personnalisé l’une des interactions à modifier, la présélection Optimisation qui désactive la sélection croisée et le filtrage croisé par défaut ne modifierait pas cette personnalisation. Toute interaction à modifier personnalisée entre les visuels fonctionne toujours comme auparavant.
Nous ajoutons ensuite les boutons Appliquer aux tranches. Chaque tranche de notre rapport dispose à présent d’un bouton Appliquer et les utilisateurs peuvent sélectionner ou désélectionner plusieurs options dans chaque tranche sans qu’aucun autre visuel du rapport n’envoie de requête jusqu’à ce que le bouton Appliquer soit sélectionné. Les tranches étant toujours indépendants les unes des autres, si nous avons deux segments avec des boutons Appliquer, chaque bouton Appliquer doit être sélectionné pour appliquer les sélections des tranches.
Des boutons Appliquer sont ajoutés au volet Filtre. Le bouton du volet Filtre a ajouté des contrôles à toutes les sélections de filtres dans le volet, mais avec un seul bouton Appliquer. Si vous souhaitez en savoir plus, veuillez consultez la rubrique Mettre en forme les filtres dans les rapports Power BI - Bouton Appliquer des filtres.
Modifier les paramètres de réduction des requêtes
Dans le ruban Optimiser, nous sélectionnons Présélections d’optimisation, puis Personnaliser pour modifier l’un des paramètres. Dans notre rapport, les tranches sont destinées à une sélection unique et les boutons Appliquer sont plus utiles en cas de sélection multiple. Par conséquent, nous pouvons conserver les autres paramètres, puis retourner les tranches à appliquer instantanément avec Personnaliser.
Rétablir l’application instantanée des tranches
Rétablir l’interactivité complète après une modification d’une source de données
Dans le ruban Optimiser, nous sélectionnons Présélections d’optimisation, puis Interactivité pour notre rapport. Ce sont les paramètres par défaut dans Power BI Desktop. Par conséquent, si nous avons choisi Réduction des requêtes ou Personnalisé pour modifier les présélections d’optimisation, nous revenons ainsi à la valeur par défaut. Le dialogue confirme nos paramètres.
Définition de la présélection d’optimisation de l’interactivité.
Dans ce cas, nous appelons spécifiquement les scénarios de création de rapports DirectQuery, mais ils sont utilisables dans d’autres scénarios de création de rapports.
Pour un visuel spécifique, nous pouvons déterminer s’il utilise DirectQuery à l’aide de l’Analyseur de performances pour savoir si une ligne Requête directe existe. Comme vous pouvez le remarquer ici, DirectQuery sert à retourner des données pour notre visuel :
Communauté
Ces scénarios vous ont montré comment simplifier votre expérience de création dans Power BI Desktop avec le ruban Optimiser et la modification des relations dans le volet Propriétés. Veillez à les essayer tous avec vos propres rapports DirectQuery.
Vous souhaitez en savoir plus ou peut-être avoir votre propre scénario à partager ? Power BI a une communauté dynamique où des MVP, des professionnels BI et des pairs partagent leur expertise dans des groupes de discussion, des vidéos, des blogs et bien plus encore. Veuillez consulter la rubrique Communauté Power BI.
Vous pouvez aussi contribuer ! Avec Microsoft Learn, la documentation sur Power BI comme cet article est open source. Si vous souhaitez en savoir plus les modes de contribution possibles, veuillez consulter le guide des contributeurs de la documentation sur Microsoft Learn.