Query folding : Qu’est-ce que c’est ? Comment s’en servir ?

-
3
 m de lecture
-

Confrontés à des volumes de données de plus en plus importants, les experts data disposent de nombreux outils pour simplifier le traitement de ces données. Parmi lesquelles, le pliage de requêtes sur Power BI Desktop ou Power Pivot. À travers cette fonctionnalité, vous pourrez améliorer considérablement vos capacités d'analyse de données.

Alors qu’est-ce que Power Query ? Comment ça fonctionne ? Et surtout, comment l’utiliser ? DataScientest répond à vos questions. 

Qu'est ce que Query folding ?

Le query folding (ou pliage de requête) consiste à générer une instruction unique visant à récupérer et transformer des données sources. Ce faisant, le traitement de grand volume de données est simplifié. 

Cette requête est particulièrement utilisée pour la conception de modèles de données dans Power Pivot ou Power BI Desktop

Bon à savoir : Il est possible d’utiliser le query folding pour une requête entière (pliage complet) ou seulement pour quelques étapes (pliage partiel).

Comment fonctionne query folding ?

Pour utiliser le pliage de requêtes, vous devez écrire un ensemble d’instructions en code SQL et les transmettre à la base de données pour que ces instructions soient exécutées. L’idée est alors de réduire la quantité de données à la source avant de les traiter et de les transférer dans Power BI ou Power Pivot. Mais attention, pour que le query folding fonctionne correctement, il faut respecter les conditions ci-dessous :

La source de données supporte le query folding

Rassurez-vous, la majorité des sources acceptent le pliage de requête. C’est notamment le cas des bases de données relationnelles, des flux OData, de SharePoint Lists, d’Azure Synapse Analytics, d’Exchange ou encore d’Active Directory d’HDFS, etc. 

En revanche, si vos données proviennent d’un fichier plat, d’objets blob ou du web, vous ne pourrez utiliser le query folding.

La transformation permet le pliage de données

Au-delà des sources de données, les étapes de la configuration doivent aussi permettre le pliage de requêtes. Généralement, il s’agit des transformations pouvant être écrites sous une instruction SELECT unique. Voici quelques exemples : 

  • la suppression de colonnes ; 
  • le filtrage de lignes (avec une requête WHERE) ; 
  • le regroupement de données (avec une requête GROUP BY) ; 
  • la fusion non approximative (avec une requête JOIN) ; 
  • l’ajout ou la suppression d’un tableau croisé dynamique.

Si parmi toutes les étapes d’instruction, une seule action ne peut être pliée, le query folding s’arrêtera pour l’ensemble de la requête. Voici quelques exemples de transformations empêchant le query folding : 

  • la fusion ou l’ajout de requêtes basées sur différentes sources ; 
  • l’ajout de colonnes personnalisées avec une logique complexe ; 
  • l’ajout de colonnes d’index.

De manière générale, vous aurez des difficultés à utiliser le pliage de requête lorsque la transformation implique plusieurs sources de données. 

Bon à savoir : si le query folding ne peut être obtenu, c’est le Moteur Mashup Power Query qui prend le relais en transformant lui-même les données. Mais cette opération est généralement plus lente ; d’autant plus si vous souhaitez traiter de gros volumes de données.

La requête peut être pliée

Pour savoir si une requête peut être pliée, suivez les étapes ci-dessous : 
  • Dans l’éditeur Power Query, rendez-vous sur l’onglet “Paramètres” de la requête. 
  • Faites un clic droit sur la dernière étape appliquée ; 
  • Vérifiez l’option “Afficher la requête native”. Si elle est activée (non grisée), la requête peut être pliée. Si non, la requête ne peut pas être pliée.

Bon à savoir : cette option « Afficher la requête native » ne s’affiche que pour certains connecteurs. Par exemple, elle n’est pas disponible pour les connecteurs OData. Si tel est le cas, utilisez la fonctionnalité « Diagnostics de requête ». 

Par ailleurs, la requête ne doit pas commencer par votre propre code SQL. À défaut, aucune étape de la requête ne sera pliée.

Comment utiliser le pliage de requête ?

Pour effectuer un pliage de requête dans Power BI, voici les étapes à suivre :

  • Connectez-vous à une source de données Power BI qui prend en charge le query folding. Pour cela, cliquez sur « Obtenir des données » et choisissez la source de données appropriée. 
  • Chargez les données avant d’effectuer toutes les modifications que vous souhaitez. 
  • Cliquez sur « Transformer les données », vous serez ainsi redirigé vers l’éditeur de requête Power Query. Vous pourrez, par exemple, supprimer des colonnes, ajouter des lignes, trier les lignes d’une colonne par ordre croissant, etc. 
  • Retournez sur l’onglet « Accueil » et cliquez sur “Fermer et appliquer” pour charger les données dans Power BI.

Le processus peut ensuite être répété pour toutes les colonnes auxquelles vous souhaitez appliquer un query folding. 

Si le pliage de requête est indispensable à la modélisation des données, il ne s’agit que d’une requête parmi d’autres. Pour gérer efficacement d’énormes volumes de données, mieux vaut vous former avec DataScientest. Découvrez nos formations.

Ce qu’il faut retenir :

  • En générant une instruction unique pour transformer des ensembles de données, le query folding simplifie le traitement des gros volumes de données. 
  • Cependant, il ne peut être utilisé pour toutes les requêtes. En effet, les sources et les transformations demandées doivent supporter le pliage de requêtes. Et surtout, la requête doit être pliable
  • Si toutes ces conditions sont réunies, vous pourrez transformer de grands ensembles de données depuis l’éditeur de requête Power Query. 
Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?