Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Lorsque vous effectuez une actualisation dans Power Query, il y a beaucoup de choses effectuées en arrière-plan pour tenter de vous offrir une expérience utilisateur fluide et d’exécuter vos requêtes efficacement et en toute sécurité. Toutefois, dans certains cas, vous remarquerez peut-être que plusieurs demandes de source de données sont déclenchées par Power Query lorsque les données sont actualisées. Parfois, ces demandes sont normales, mais d’autres fois elles peuvent être évitées.
Lorsque plusieurs requêtes se produisent
Les sections suivantes décrivent quelques instances lorsque Power Query peut envoyer plusieurs requêtes à une source de données.
Conception du connecteur
Les connecteurs peuvent effectuer plusieurs appels à une source de données pour différentes raisons, notamment les métadonnées, la mise en cache des résultats, la pagination, et ainsi de suite. Ce comportement est normal et est conçu pour fonctionner de cette façon.
Plusieurs requêtes référençant une seule source de données
Plusieurs requêtes adressées à la même source de données peuvent se produire si plusieurs requêtes extrayent de cette source de données. Ces requêtes peuvent se produire même dans un cas où une seule requête référence la source de données. Si une ou plusieurs autres requêtes font référence à cette requête, chaque requête, ainsi que toutes les requêtes dont elle dépend, est évaluée indépendamment.
Dans un environnement de bureau, une seule actualisation de toutes les tables du modèle de données est exécutée à l’aide d’un seul cache partagé. La mise en cache peut réduire la probabilité de plusieurs requêtes vers la même source de données, car une requête peut tirer parti de la même requête ayant déjà été exécutée et mise en cache pour une autre requête. Même ici, vous pouvez obtenir plusieurs demandes, car :
- La source de données n’est pas mise en cache (par exemple, les fichiers CSV locaux).
- La demande adressée à la source de données est différente d’une requête déjà mise en cache en raison d’opérations en aval (qui peuvent modifier le pliage).
- Le cache est trop petit (ce qui est relativement peu probable).
- Les requêtes s’exécutent à peu près en même temps.
Dans un environnement cloud, chaque requête est actualisée à l’aide de son propre cache distinct. Par conséquent, une requête ne peut pas tirer parti de la même requête ayant déjà été mise en cache pour une autre requête.
Pliage
Parfois, la couche de repli de Power Query peut générer plusieurs requêtes vers une source de données, en fonction des opérations effectuées en aval. Dans certains cas, vous pouvez éviter plusieurs requêtes à l’aide de Table.Buffer. Plus d’informations : Mise en mémoire tampon de votre table
Chargement sur le modèle Power BI Desktop
Dans Power BI Desktop, Analysis Services (AS) actualise les données à l’aide de deux évaluations : l’une pour extraire le schéma ( que l’AS fait en demandant zéro ligne) et l’autre pour extraire les données. Si le calcul du schéma de ligne zéro nécessite l’extraction des données, les demandes de source de données en double peuvent se produire.
Analyse de la confidentialité des données
La confidentialité des données effectue ses propres évaluations de chaque requête, afin de déterminer si les requêtes sont aptes à être exécutées ensemble. Cette évaluation peut parfois entraîner plusieurs requêtes vers une source de données. Un signe d’information indiquant qu’une demande donnée provient de l’analyse de confidentialité des données est qu’elle a une condition « TOP 1000 » (bien que toutes les sources de données ne prennent pas en charge une telle condition). En général, la désactivation de la confidentialité des données, en supposant qu’elle est acceptable, éliminerait les « TOP 1000 » ou d’autres demandes liées à la confidentialité des données lors de l’actualisation. Plus d’informations : Désactiver le pare-feu de confidentialité des données
Téléchargements de données en arrière-plan (également appelés « analyse en arrière-plan »)
Comme pour les évaluations effectuées pour la confidentialité des données, l’éditeur Power Query télécharge par défaut un aperçu des 1 000 premières lignes de chaque étape de requête. Le téléchargement de ces lignes permet de s’assurer que l’aperçu des données est prêt à s’afficher dès qu’une étape est sélectionnée, mais elle peut également entraîner des demandes de source de données en double. Plus d’informations : Désactiver l’analyse en arrière-plan
Tâches en arrière-plan de l’éditeur Power Query diverses
Diverses tâches en arrière-plan de l’éditeur Power Query peuvent également déclencher des demandes de sources de données supplémentaires (par exemple, analyse de pliage des requêtes, profilage des colonnes, actualisation automatique de la préversion de 1 000 lignes déclenchées par Power Query après le chargement des résultats dans Excel, etc.).
Isolation de plusieurs requêtes
Vous pouvez isoler des cas de requêtes multiples en désactivant des parties spécifiques du processus de requête, afin d'identifier d'où proviennent les requêtes en double. Par exemple, si vous démarrez :
- Dans l’éditeur Power Query
- Avec le pare-feu désactivé
- Avec l’analyse en arrière-plan désactivée
- Avec le profilage des colonnes et toutes les autres tâches en arrière-plan désactivées
- [Facultatif] Faire un
Table.Buffer
Dans cet exemple, vous n’avez qu’une seule évaluation M qui se produit lorsque vous actualisez l’aperçu de l’éditeur Power Query. Si les demandes dupliquées se produisent à ce stade, elles sont inhérentes à la façon dont la requête est créée. Si ce n’est pas le cas, et si vous activez les paramètres précédemment décrits un par un, vous pouvez alors observer à quel moment les demandes dupliquées commencent à se produire.
Les sections suivantes décrivent ces étapes plus en détail.
Configurer l’éditeur Power Query
Vous n’avez pas besoin de reconnecter ou de recréer votre requête, ouvrez simplement la requête que vous souhaitez tester dans l’éditeur Power Query. Vous pouvez dupliquer la requête dans l’éditeur si vous ne souhaitez pas gâcher la requête existante.
Désactiver le pare-feu de confidentialité des données
L’étape suivante consiste à désactiver le pare-feu de confidentialité des données. Cette étape suppose que vous ne vous souciez pas des fuites de données entre les sources. Par conséquent, la désactivation du pare-feu de confidentialité des données peut être effectuée à l'aide de la réglage Always ignore Privacy Level décrit dans l'option Set Fast Combine dans Excel ou en utilisant l'option Ignore the Privacy levels and potentially improve performance décrite dans la section Power BI Desktop privacy levels dans Power BI Desktop.
Veillez à annuler cette étape avant de reprendre les tests normaux.
Désactiver l’analyse en arrière-plan
L’étape suivante consiste à désactiver l’analyse en arrière-plan. L'analyse en arrière-plan est contrôlée par le paramètre Autoriser l'aperçu des données à être téléchargé en arrière-plan décrit dans la désactivation de l'actualisation en arrière-plan pour Power Query dans Power BI. Vous pouvez également désactiver cette option dans Excel.
Mettre votre table en mémoire tampon
Si vous le souhaitez, vous pouvez également utiliser Table.Buffer pour forcer la lecture de toutes les données, ce qui imite ce qui se passe pendant une charge. Pour l’utiliser Table.Buffer dans l’éditeur Power Query :
Dans la barre de formule de l’éditeur Power Query, sélectionnez le bouton fx pour ajouter une nouvelle étape.
Dans la barre de formule, entourez le nom de l’étape précédente avec Table.Buffer(<nom de l’étape précédente est ici>). Par exemple, si l’étape précédente a été nommée
Source, la barre de formule s’affiche= Source. Modifiez l’étape dans la barre de formule pour dire= Table.Buffer(Source).
Plus d’informations : Table.Buffer
Exécuter le test
Pour exécuter le test, effectuez une actualisation dans l’éditeur Power Query.