Mise à jour rapide, au cas où quelqu’un souhaiterait améliorer le script du premier message.
Il est en fait possible de récupérer toutes les données en une seule fois, apparemment indépendamment du volume de données ![]()
(J’ai effectué des tests de charge sur une table posts de taille conséquente avec les colonnes id et raw, et cela a fonctionné !)
Requête d’exemple :
SELECT 'id'
|| string_agg(E'\n' || case when posts.id::text is null then '-1' else posts.id::text end
,''
ORDER BY posts.id asc) as value
FROM posts
Lorsque vous l’exécutez, elle affichera votre fichier quasi CSV comme une seule valeur, donc sur une seule page. Vous devrez ensuite supprimer le value" et un autre " à la fin pour obtenir un CSV exploitable :
Vous pouvez naturellement ajouter plus de données en ajoutant une nouvelle colonne pour le fichier CSV et les données correspondantes pour cette colonne :
SELECT 'id,newcolumn'
|| string_agg(E'\n' || case when posts.id::text is null then '-1' else posts.id::text end
|| string_agg(E'\n' || case when posts.newcolumn::text is null then '-1' else posts.newcolumn::text end
,''
ORDER BY posts.id asc) as value
FROM posts
Une fois mis à jour pour prendre en charge une telle requête, Power BI n’aura plus besoin de parcourir plusieurs pages, ce qui accélérera la récupération des données.
