Si vous constatez que certaines requêtes sont lentes lorsque vous rapatriez, dans Excel, des données depuis PowerBI.com, Azure Analysis Services ou Analysis Services tabulaire, alors ce billet devrait vous intéresser.
La syntaxe MDX générée par les tableaux croisés dynamiques d'Excel n’est pas toujours la plus adaptée pour interroger les données de Power BI. Les tableaux XLCubed s’appuient eux aussi sur du MDX, mais, dans de nombreux cas, la syntaxe de la requête est optimisée et donc nettement plus performante. C’est un élément clé pour le choix initial de XLCubed par nos clients.
Cependant, lorsqu'il s'agit de rapports au format table (de type « listing ») sur Power BI, Azure Analysis Services ou Analysis Services tabulaire, les requêtes en MDX peuvent parfois être plus lentes qu’escompté. Les temps de réponse peuvent notamment devenir particulièrement problématiques lorsqu’un tableau comporte beaucoup de colonnes, et bien sûr de nombreuses lignes.
Le langage de requête DAX gère souvent mieux ces scénarios d'affichage "à plat". Les tables XLCubed permettent aux utilisateurs non techniques de concevoir rapidement et simplement des rapports de ce type en utilisant le langage DAX. Même si l'amélioration des performances variera en fonction de la source de données et des spécificités de la requête, les résultats ci-dessous, tirés de requêtes basées sur le modèle de démonstration « Contoso » de PowerBI.com, donnent des éléments de comparaison
L'amélioration des performances est très significative. Dans ces exemples, l'approche DAX est 3,5 à 4 fois plus rapide ! Même si un rapport est toujours trop long dès qu'il faut patienter un peu pour récupérer les données, toute amélioration notable des temps de réponse est bonne à prendre.
Si ce cas de figure vous semble familier, essayez donc les quatre étapes ci-dessous :
Au delà de ces premières étapes, il est bien sûr possible de tirer profit des capacités offertes par XLCubed version 10 pour construire un rapport réutilisable très flexible, en ajoutant par exemple des segments. Parmi toutes les autres possibilités disponibles, deux sont particulièrement intéressantes :
Merci à Marco Russo qui a récemment rédigé un article sur ce sujet général et m'a ainsi incité à rappeler aux utilisateurs l'approche proposée par XLCubed. Pour les plus techniques d'entre vous, qui avez peut-être déjà travaillé avec Marco & SQLBI, il est possible que vous utilisiez une syntaxe DAX optimisée super-rapide qui, pour un scénario précis, surpasse la syntaxe générée automatiquement. Dans ce cas, vous pouvez utiliser l'option "Requête personnalisée" afin de coller votre propre syntaxe DAX, ou même lire dynamiquement le contenu d'une cellule Excel pouvant contenir une formule, ce qui permet une approche totalement dynamique pour la génération de la syntaxe.
Discover how Fluence can help your organization plan better and close faster with more confidence.