
Limiter le rafraischissement des données
Étiquetté : Power Query
Limiter le rafraischissement des données
Posté par Aline sur 25 février 2025 à 9h47Bonjour,
Avec Power query je fais appel à des données de toutes sources mais surtout des fichiers excel.
Je me demandais s’il y avait moyen quand je structure mes données de limiter l’appel aux données sources pour réduire mes temps de traitement ?
D’avance, merci
Aline a répondu Il y a 13 heures, 35 minutes 3 Membres · 23 Réponses- 23 Réponses
je vais tenter de répondre en espérant avoir compris.
Pour ma part j’ai mes données Productive dans un dossier qui s’appelle “PROD” et j’ai une copie de ces données beaucoup allégée dans un dossier appelé “TEST
Puis dans Power Query je change ma source qui pointe vers le dossier PROD par un paramètre et soit je sélectionne PROD dans mon paramètres et il charge les fichiers de ce dossier (notamment avant de publier le rapport sur le service pour avoir toutes les données), soit je fais pointer ma source en modifier le paramètre vers mon dossier TEST lorsque je veux faire des transformations et gagner du temps.
Puis je remets mon paramètre sur PROD avant de mettre le rapport en ligne pour ne pas avoir des chiffres faussés car avec des données tronquées
Bonjour Aline,
Il y a il me semble plusieurs moyens afin de gérer ton sujet des remontées de données qui ralentissent le travail sur Power BI, voici quelques pistes :
-> il y a un paramètrage dans Power Query qui fait qu’il ne met pas à jour les données en background, il le fait uniquement si tu cliques sur rafraîchir, déjà ça peut aider-> Dans Power Query au niveau de chaque table tu peux désactiver l’actualisation de la table à l’actualisation du rapport, ceci permet, en phase de dev, de n’actualiser que les tables qui ont vraiment besoin d’être actualisées pour travailler sur ton rapport
-> Comme l’a suggérée Sophie tu peux aussi faire pointer des requêtes vers des tables de dev ou bien des tables de prod en utilisant des paramètres, dans la même veine tu peux implémenter des paramètres de filtrage de tes tables en amont des requêtes, par exemple : toujours filtrer toutes les tables par les X premières lignes avec X en paramètre. Lorsque tu travailles tu mets X à 500 ou 1000, lorsque tu publies tu mets X à 1000000000. A noter que ce paramètre est manipulable directement au niveau du Power BI service si nécessaire.
Voici des pistes, en fonction de ce que tu essayes de faire je peux te donner plus de détails ;-).
Bien cordialement.
-
Cette réponse a été modifiée Il y a 2 semaines, 2 jours par
Sylvain.
-
Cette réponse a été modifiée Il y a 2 semaines, 2 jours par
Merci Sophie et Sylvain,
D’abord, je suis contente de vos réponses parce nque ça veut dire que j’ai pas trop mal posé la question !
Pour ce qui concerne la base utilisée, elle n’est pas si lourde (15 000 lignes). Je suis pas encore sur de la big data. Et mon problème d’accés aux données se pose y compris en interne. Donc il faudrait que je fasse une/des copies en triant les colonnes … Ca rajoute une étape de travail et d’export pas simple !
En ce qui concerne les paramétres dans power query : données en background et désactiver l’actualisation des tables. Je suis preneuse de vos informations plus détaillées où je trouve ces éléments de configuration ? (dans PBI et éventuellement aussi dans excel).
D’avance, merci
Alors,
-> pour désactiver l’actualisation d’une table dans Power Query :-> Pour filtrer les lignes au chargement :
1/ créer un paramètre parNbLigneMax = 100
2/ pour chacune des tables “lourdes” tu vas en dessous de l’étape de navigation :
3/ tu intègres une action de “Conserver les lignes” avec le nb de ligne sur le paramètre :
Merci, je vais tester ça
et aussi ce petit paramètre dans les Options :
Ceci étant dit, théoriquement avec 15 000 lignes tu ne devrais pas avoir de soucis de cet ordre 😅 j’utilise ces méthodes lorsque j’ai tes tables à plus de 10 000 000 de lignes 😅
-
Cette réponse a été modifiée Il y a 2 semaines, 1 jour par
Sylvain.
-
Cette réponse a été modifiée Il y a 2 semaines, 1 jour par
Pour y avoir encore réfléchis un peu, si ton problème c’est que les données d’un fichier Excel en interne sur ton PC sont longue à atteindre tu doit pouvoir faire ceci :
-> mettre ton fichier Excel sur Sharepoint
-> faire un dataflow sur le Power BI service qui va chercher les données de ton Excel via Sharepoint et qui les fait remonter dans le Power BI service (là elle sont facilement accessible), implémenter un rafraichissement automatique des données
-> brancher ton Power BI sur le dataflow
Dans ce scénario :
-> la donnée est accessible “rapidement” sur PBI desktop
-> le dataflow peut être rendu accessible aux parties prenantes dans ta société, tu n’as plus le soucis d’avoir un fichier en interne sur ton PC en source sur ton rapport
Oui, c’est une de mes hypothèses de travail et d’évolution mais pour l’instant je bloque sur 2 aspects :
- d’une part nous n’avons pas la bonne licence pour le partage de données power bi. Je ne peux publier que dans “mon espace personnel”. A moins qu’il n’y ai une autre solution.
- et des questions également sur les données “publiées” car certaines sont sensibles et qu’il me faut être sure qu’il n’y a aucun risque.
D’ailleurs, pour contourner mon problème de licence, j’ai testé une publication sous forme de lien web mais il est dit que les données sont sur un lien web “public” et je ne comprends pas où elles sont stockées et comment des utilisateurs qui n’auraient par le lien pourraient y accéder.
Je sors un peu du sujet mais c’est l’état de mes “cogitations” actuelles pour bien caler le mode d’organisation.
haha bien vu tu as en effet la possibilité d’effectuer des publications web 🙂
Le problème ici étant qu’une personne qui dispose du lien peut accéder sans identification (c’est en ce sens que c’est “public”)
Je ne m’y connais pas assez pour t’indiquer “comment” il serait possible à quelqu’un d’obtenir le lien mais de fait ce n’est pas considéré comme sécurisé si on peut s’y connecter sans le système d’identification.
A partir du moment où tu publies sur le Power BI service, avec ou sans licence, tes données remontent dans les datalakes de Microsoft. Si vous souhaitez conserver les données en interne il vous faut des produits spéficiques pour déployer le Power BI service en interne.
Peut être aussi qu’il y a moyen de contourner les licences PBI en éditant des liens web qui sont diffusés via des PowerApps non premium ou sur des sites Sharepoint ? 🤓
Oui, c’est effectivement ce que j’ai fait en intégrant le lien dans un sharepoint.
Concernant la question des dataflow, je dois approfondir car je ne connais pas. Et est ce que c’est lié à des licences particulières (au delà d’office 365 “standard”) ?
En effet il te faut des licences PBI pro ou premium pour utiliser les dataflows (en fonction de ce que tu veux faire avec) mais en gros ça consiste à faire remonter des requêtes Power Query dans le Power BI service afin que les données transformées soient mises à disposition des utilisateurs directement.
De fait tes utilisateurs n’ont pas besoin de faire du Power Query c’est toi qui le manage en amont.
Tu trouveras des vidéos sur le sujet si ça t’interesse ;-).
Sylvain a tout à fait raison dans ce qu’il te dit.
Des fichiers à 15.000 lignes ne devraient poser aucun souci, après il y a souvent des étapes comme le fait de fusionner (merge?) des requêtes qui sont parfois très longues à charger dans power query.
Les Dataflows permettent effectivement d’alléger beaucoup ton power query dans desktop, en deplaçant les transformations standard/récurrentes vers le dataflow et de ne plus les avoir dans le semantic model.
L’avantage pour moi: si une même source est utilisée dans plusieurs rapports, je mets toutes les étapes de transformation communes aux rapports dans un dataflow au lieu de les réécrire dans chaque rapport.
Autre avantage: un dataflow peut être charger dans un rapport et on peut y apporter des modifications/transformations supplémentaires et spécifiques à chaque rapport, chose qu’il n’est pas possible de faire en chargeant un semantic model d’un autre rapport.
Mais comme il dit, sans licence adequat cela va vite être compliqué. Mais encore une fois, 15.000 lignes, dur de faire plus rapide à mon avis car c’est vraiment peanut pour power bi. Après il faut tenter d’alléger les transformations en n’ayant pas 3/4 fois la même étape comme “changer le type”, réorganiser les colonnes etc… Généralement en fin de transformation je jette un oeil et je regroupe toutes ces étapes en une seule à la fin de la requête. Mais pas dit que ça change quelque chose sur ce type de fichiers excel.
Peut-être également qu’il faut voir du côté de ton PC, niveau RAM etc, ici j’ai dû le faire améliorer et je manque encore de RAM pour qu’il arrive à suivre
J’entend tout à fait vos explications et arguments.
En fait je fais pas mal de traitements dans excel parce qu’ensuite à la fin du traitement, la feuille excel résultante me sert de base comme vouz expliquez le principe je crois des dataflows de power BI (pas possible en local).
J’ai pas trouvé de solution plus “propre” …
Et si j’ai autant de soucis sur mes requêtes c’est que bien que mon ordinateur soit en 64 bits l”exccel quii est déployé chez nous est en 32 bits … !!! Il arrive même que je prépare mon traitement dans PBI 64 bits pour le basculer une fois tout bien dans mon excel …
Je sais que ce n’est pas un problème du nombre de lignes, pour PBI c’est rien (ni pour un excel 64 bits). Mais le 32 bits + des soucis d’accés réseau (en interne) c’est parfois sportif ou, à l’inverse, j’ai de quoi aller boire des cafés souvent ! Et les traitements que je fais avec power query sont complexes parce que je travaille sur des données vraiment pas propres.
Du coups vous utilisez Excel afin de faire de la transformation de données pour la mettre à disposition, en effet en fonction de “l’état” de vos données d’entrées c’est des choses qui peuvent arriver :-).
Si vous nous donnez “dans les grandes lignes” le type de transformation que vous faites faire par Excel plutôt que dans Power Query on pourrait voir s’il est possible ou pas de les faire dans Power Query.
L’avantage ici étant que dès que vos requêtes sont calés sur Power Query, même avec une ribambelle de fichiers Excel en entrée et des transformations “ambitieuses”, alors vous n’avez plus qu’à mettre à jour vos données d’entrées brut et les requêtes font le reste 🙂
Connectez-vous pour répondre.