Aggiornamento rapido, nel caso qualcuno volesse migliorare lo script del primo post.
In realtà è possibile estrarre tutti i dati in un’unica operazione, apparentemente indipendentemente dalla quantità di dati ![]()
(Ho stressato il test su una tabella posts di dimensioni considerevoli con colonne id e raw ed è riuscito!)
Query di esempio:
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
Quando la esegui, stamperà il tuo file quasi-CSV come un unico valore, quindi anche su una sola pagina. Dovrai quindi rimuovere il value" iniziale e un altro " alla fine per ottenere un CSV utile:
Naturalmente puoi aggiungere altri dati includendo una nuova colonna per il file CSV e i relativi dati:
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
Una volta aggiornato per supportare una query del genere, Power BI non avrebbe bisogno di attraversare più pagine, risultando in un recupero dei dati più veloce.
