Le Query Folding (ou "pliage de requêtes") est un mécanisme essentiel dans Power Query qui permet d'améliorer considérablement les performances de chargement et d'actualisation des données dans Power BI, notamment lors de la connexion à des sources de données relationnelles comme SQL Server.
En quoi consiste le Query Folding ?
Au lieu que le moteur Power Query (le "moteur Mashup") exécute toutes les transformations de données localement, le Query Folding traduit les étapes de transformation appliquées dans l'éditeur Power Query (écrites en langage M) en une seule requête native (par exemple, SQL) qui est ensuite envoyée à la source de données. La source de données exécute alors ces transformations directement à son niveau et renvoie à Power BI un jeu de données déjà filtré et transformé.
Avantages du Query Folding :
Performances améliorées : En déchargeant le travail de transformation sur la source de données (qui est généralement plus puissante pour ces opérations), la quantité de données transférées et traitées localement dans Power BI est considérablement réduite, ce qui accélère les temps de chargement et d'actualisation. Réduction de l'utilisation des ressources : Moins de traitement local signifie moins de sollicitation du processeur et de la mémoire de la machine exécutant Power BI Desktop ou la passerelle de données. Prise en charge de l'actualisation incrémentielle : Le Query Folding est une condition préalable essentielle pour pouvoir configurer l'actualisation incrémentielle dans le service Power BI, qui permet d'actualiser uniquement les données nouvelles ou modifiées. Comment savoir si le Query Folding s'applique ?
Dans l'éditeur Power Query, vous pouvez généralement vérifier si une étape se plie en faisant un clic droit sur l'étape appliquée et en cherchant l'option "Afficher la requête native". Si cette option est disponible et affiche une requête native, cela signifie que le Query Folding est actif jusqu'à cette étape. Si l'option est grisée, l'étape (et potentiellement les suivantes) empêche le pliage. Dans Power Query Online, des indicateurs visuels de pliage sont également disponibles.
Facteurs pouvant empêcher le Query Folding :
Certaines transformations Power Query ne peuvent pas être traduites en opérations natives par la source de données. L'application de telles étapes interrompt le Query Folding à partir de ce point. Parmi les opérations qui peuvent empêcher le pliage figurent :
certaines transformations complexes, l'ajout de colonnes personnalisées avec des logiques qui n'ont pas d'équivalent natif dans la source, ou la combinaison de données provenant de sources différentes.