Background Image
DONNÉES

Pourquoi vos rapports Power BI sont lents - et comment un connecteur personnalisé avec Query Folding peut y remédier

Steve Lord
Senior Staff Developer

April 30, 2025 | 4 Lecture minute

Vous est-il déjà arrivé de partir en vacances et de vous rendre compte que vous aviez emporté trop de choses ? Le genre de choses que vous prenez au cas où, mais dont vous savez que vous ne vous servirez jamais ?

Vous êtes arrivé à destination. Vous avez attendu longtemps avant que vos valises ne sortent du carrousel. Vous avez dû les trimballer à travers le parking jusqu'à votre moyen de transport, tandis que d'autres passaient avec leur bagage à main et obtenaient la meilleure place dans le bus. Après tout, ce ne sont que des vacances à la plage et non une croisière mondiale ! Vous arrivez ensuite à votre lieu de villégiature et essayez de retrouver votre maillot de bain et votre serviette, en vous souvenant qu'ils étaient entassés au fond de l'hôtel. Si seulement vous aviez été mieux organisé avant de quitter votre domicile !

Les problèmes d'emballage et de pliage existent dans Power BI et, de la même manière, ralentissent les choses.

Asset - Image 1 - Why Your Power BI Reports Are Slow — And How a Custom Connector with Query Folding Can Fix It

Solutions de pliage

La performance des requêtes Power BI peut s'apparenter à la recherche de ce qu'il faut emporter en vacances et de l'ordre dans lequel il faut tout placer dans le sac. Le concept de Power BI consistant à ne prendre que ce dont vous avez besoin s'appelle Query Folding. C'est l'art de réduire la taille des données. Le repliement des requêtes permet d'améliorer les performances et de réduire les coûts.

Pourquoi ? Parce que le repliement des requêtes repousse les transformations, les agrégations et les jointures vers la source de données, où elles peuvent être exécutées plus efficacement. C'est là que vous avez déjà mis en place les index et le partitionnement. Il est logique de laisser votre source de données faire le gros du travail.

C'est vrai ? Cela permet à son tour de réduire la charge sur Power BI et d'améliorer la vitesse de traitement, car moins de données sont reçues et préparées par Power BI.

Limites des connecteurs standard

Les connecteurs standard et les pilotes de base de données conviennent aux cas d'utilisation simples et normaux. Cependant, lorsqu'il s'agit de sources de données volumineuses ou complexes, les connecteurs et pilotes standard peuvent ne pas prendre en charge le pliage des requêtes. Au lieu de cela, Power BI essaiera de le faire pour vous, et il le fera en tirant toutes vos données à travers. Cela augmentera la charge de mémoire et de traitement de Power BI.

Power BI peut ne pas savoir quels types de conversions votre source de données peut supporter, et une fois de plus les convertir pour vous, éventuellement de manière incorrecte. De plus, l'interface de votre source de données peut être une API pour laquelle il n'existe pas de connecteur.

C'est là que les connecteurs et les pilotes personnalisés offrent une solution pour améliorer les performances et la conversion des données.

Cas d'utilisation avec une intrigue douloureuse

Prenons l'exemple d'un rapport de ventes. Ce dont j'ai vraiment besoin, c'est d'un rapport sur les ventes totales par mois et par région, par période.

Je commence à créer le rapport, et je vais tout faire dans Power BI. Pourquoi ne pas le faire ? Je n'ai pas besoin de trop réfléchir et je vais le tester avec quelques lignes de données. La vie est belle ! Ainsi, j'ai peut-être besoin de toute la table des mesures au cas où je voudrais calculer les ventes par jour. Ou bien j'ai besoin de la table des magasins pour pouvoir produire des ventes par magasin individuel.

Attendez !

Une fois que j'ai mis les données à l'échelle et que j'ai constaté la lenteur de mon rapport, je me suis rendu compte, avec un peu de prévoyance, que le fait de rassembler tous ces millions de lignes dans une capacité Power BI et de les agréger n'était pas une si bonne idée que cela.

Je pourrais peut-être demander à la source de données de faire le calcul pour moi ? Il suffit de me donner les 12 lignes des totaux des ventes de fin de mois par région.

Nous avons probablement déjà un script SQL vraiment cool que nous exécutons directement sur la source de données, et nous savons qu'il fonctionne. Maintenant, je dois le traduire en langage M ! Est-ce que Power BI va le faire aussi efficacement ? De plus, je consomme de grandes quantités de stockage, que je paie deux fois, une fois dans ma source de données et une autre fois dans Power BI. Pourquoi ferais-je cela ?

Data Analysis and Visualisation with Microsoft Power BI - Thumbnail

Une solution de connecteur personnalisée

Le pliage des données semble être une excellente idée. Comment puis-je déterminer ce qui doit être replié ?

C'est là que le bât blesse. Power BI doit savoir ce qu'il peut pousser vers la source de données et ce qu'il doit faire pour vous. Comment y parvient-il ? Le connecteur et le pilote de base de données travaillent en tandem pour indiquer à Power BI ce que la source de données peut prendre en charge : agrégations, jointures, conversions de type, etc.

En outre, certaines requêtes deviennent trop complexes pour être écrites en langage M. S'il est plus facile d'écrire une requête native, le connecteur doit la prendre en charge, mais ce n'est pas le cas de tous.

Un connecteur personnalisé avec un pilote de base de données compatible peut constituer une solution. Il offre un contrôle total sur les interactions avec la source de données. Il peut optimiser la manière dont les données sont récupérées. Il peut prendre en charge les requêtes natives.

Conclusion

Chez Improving, nous écrivons des connecteurs personnalisés et des pilotes de base de données. Nous pouvons aller jusqu'à votre source de données, mais nous ne nous arrêtons pas là. Nous pouvons également implémenter des sources de données.

L'utilisation de connecteurs Power BI personnalisés avec Query Folding, la prise en charge native des requêtes et des pilotes compatibles peut se traduire par des rapports plus rapides et des coûts inférieurs à ceux des solutions prêtes à l'emploi.

Il est maintenant temps d'attraper ce petit sac, d'obtenir une place de choix dans le bus et d'être le premier sur la plage !

Pour en savoir plus sur Query Folding et sur la façon dont il peut optimiser vos rapports Power BI, contactez Improving dès aujourd'hui, contactez Improving dès aujourd'hui!

Vous pouvez également consulter ces références :

https://learn.microsoft.com/en-us/power-query/query-folding-basics 

https://learn.microsoft.com/en-us/power-query/native-query-folding 

Données
Microsoft

Dernières réflexions

Explorez nos articles de blog et laissez-vous inspirer par les leaders d'opinion de nos entreprises.
Asset - Image 1 - Why Your Power BI Reports Are Slow — And How a Custom Connector with Query Folding Can Fix It
Données

Pourquoi vos rapports Power BI sont lents - et comment un connecteur personnalisé avec Query Folding peut y remédier

Power BI peut ralentir en raison d'un traitement inefficace des données. Query Folding améliore les performances en transformant les données à la source.