Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tutti i dati aperti del PNRR in 500Kb - Bozza guida #22

Open
nelsonmau opened this issue Jan 7, 2025 · 5 comments
Open

Tutti i dati aperti del PNRR in 500Kb - Bozza guida #22

nelsonmau opened this issue Jan 7, 2025 · 5 comments

Comments

@nelsonmau
Copy link

nelsonmau commented Jan 7, 2025

Bozza


Guida all'Analisi dei Dati del PNRR con DuckDB Online e AI

Questa guida mostra come interrogare facilmente i dati del PNRR utilizzando DuckDB Online e ChatGPT, semplificando l'analisi e la personalizzazione delle query.


1. Introduzione alle risorse: PNRR, DuckDB Online e ChatGPT

I Dati del PNRR sono stati 'raccolti' da Andrea Borruso in questo post
DuckDB Online è un database relazionale accessibile direttamente via browser, ideale per esplorare dataset pubblici senza installazioni.
ChatGPT può aiutarti a scrivere query SQL personalizzate in base alle informazioni che desideri ottenere.


2. Caricamento dei Dati del PNRR

Per analizzare i dati, carica il database PNRR usando DuckDB Online.

Istruzioni:

  1. Accedi al link con il dataset pre-caricato.
  2. Per verificare il caricamento, puoi eseguire:
    SELECT COUNT(*) FROM "pnrr"."PNRR_Progetti";
    

3. Scrivere Query SQL per l’Analisi dei Dati

Le query SQL consentono di esplorare e analizzare i dati presenti nel database del PNRR. Di seguito alcuni esempi per interrogare il dataset disponibile.

Esempi di Query Utili:

  • Estrarre l'elenco dei dati disponibili
    SELECT view, title FROM pnrr.info_viste;
    
  • Conteggio delle viste per data di osservazione:
    SELECT data_osservazione, COUNT(*) AS totale_viste
    FROM pnrr.info_viste
    GROUP BY data_osservazione
    ORDER BY totale_viste DESC;
    
  • Elenco dei Dataset e ai file sorgente
    SELECT view, page_url, view_source
    FROM pnrr.info_viste;
    
  • Ricercare un Dataset per Parola chiave
    SELECT view, title, description
    FROM pnrr.info_viste
    WHERE title ILIKE '%CSR%';
    
  • Vedere quali sono i campi all'interno del dataset che hai cercato
    DESCRIBE pnrr."PNRR_CSR"
    
  • Estrarre l'elenco di tutti i progetti per singolo Comune
    SELECT p."Titolo Progetto", 
        p."Finanziamento Totale", 
        p."Missione", 
        loc."Descrizione Regione", 
        loc."Descrizione Comune"
    FROM pnrr."PNRR_Progetti" p
    LEFT JOIN pnrr."PNRR_Localizzazione" loc
    ON p.CUP = loc.CUP 
    AND p."Codice Locale Progetto" = loc."CODICE Locale Progetto"
    WHERE loc."Descrizione Comune" ILIKE 'Messina';
    
    
  • Trovare informazioni relative a un progetto il cui nome è XXX (quello che vuoi tu)
    SELECT "Titolo Progetto", 
           "Missione", 
           "Finanziamento Totale", 
           "Soggetto Attuatore", 
           "CUP", 
           "Finanziamento PNRR", 
           "Data Inizio Progetto Prevista", 
           "Data Fine Progetto Prevista"
    FROM pnrr."PNRR_Progetti"
    WHERE "Titolo Progetto" = 'EFFICIENTAMENTO ENERGETICO DEL COMPLESSO ALBERGHIERO PARK HOTEL CAPO 
    SKINO';
    
  • Trovare l'elenco di tutti i Comuni in una determinata provincia (Messina, nell'esempio) in cui esiste almeno un progetto finanziato col PNRR
    SELECT DISTINCT loc."Descrizione Comune"
    FROM pnrr."PNRR_Progetti" p
    LEFT JOIN pnrr."PNRR_Localizzazione" loc
    ON p.CUP = loc.CUP
    AND p."Codice Locale Progetto" = loc."CODICE Locale Progetto"
    WHERE loc."Descrizione Provincia" = 'MESSINA'
    AND p."Finanziamento PNRR" > 0
    ORDER BY loc."Descrizione Comune" DESC;
    

4. Personalizzare le Query con ChatGPT

ChatGPT può supportarti nella scrittura e personalizzazione di query SQL per analizzare il database del PNRR in modo semplice ed efficace. È possibile ottenere query su misura partendo da domande in linguaggio naturale.

Come Formulare Richieste a ChatGPT:

Ecco alcuni esempi di richieste che puoi fare a ChatGPT per ottenere query personalizzate:

  • "Mostrami i progetti con un costo superiore a 5 milioni di euro."
  • "Conta quanti progetti ci sono nella regione Lazio."
  • "Trova i progetti finanziati per la missione 'Rivoluzione Verde'."

Esempio di Traduzione da Linguaggio Naturale a SQL:

Richiesta: "Elenca i progetti finanziati in Lombardia con costo superiore a 1 milione di euro."
Query SQL generata:

@aborruso
Copy link
Owner

aborruso commented Jan 7, 2025

Lavoro prezioso, grazie @nelsonmau !!!!

@nelsonmau
Copy link
Author

in parte avvilente tuttavia.... Dato un progetto, per risalire a Codice Fiscale / Partita IVA del beneficiario finale (che è diverso dal soggetto attuatore ovviamente come bene sai e dicevi tu stesso) si può provare forse solo tramite CUP. Nel caso dell'Hotel che citavo, trovo l'identificativo fiscale solo qui...

@nelsonmau
Copy link
Author

@aborruso cmq il "senso"/obiettivo finale di questa guida sarebbe quello di:

  • fare copia e incolla del contenuto
  • darlo all'AI come contesto, per permetterle di creare altre query

@aborruso
Copy link
Owner

aborruso commented Jan 8, 2025

in parte avvilente tuttavia.... Dato un progetto, per risalire a Codice Fiscale / Partita IVA del beneficiario finale (che è diverso dal soggetto attuatore ovviamente come bene sai e dicevi tu stesso) si può provare forse solo tramite CUP.

La risorsa più grande è quella proprio dei soggetti (PNRR_Soggetti). Con i vari ruoli.

C'è il CF, che è "oscurato", nel caso di persone fisiche. Qui query di esempio.

image

@aborruso
Copy link
Owner

aborruso commented Jan 8, 2025

  • fare copia e incolla del contenuto
  • darlo all'AI come contesto, per permetterle di creare altre query

Ok, ok. Vediamo che strada prendere. Io in settimana sono un po' out. Ma avanziamo sicuramente

@paolovolterra
Copy link

paolovolterra commented Jan 10, 2025

... per risalire a Codice Fiscale / Partita IVA del beneficiario finale (che è diverso dal soggetto attuatore ovviamente come bene sai e dicevi tu stesso) si può provare forse solo tramite CUP....

cio @nelsonmau
In Opencup/Progetti c'è CUP e CF beneficiario
Ti condivido l'abstract in parquet (10462066, 2) https://drive.google.com/file/d/1gG0nqodRldPHM2A8rWg4GOtvjwDjFOPe/view?usp=drive_link
Purtroppo pesa 135MB

@paolovolterra
Copy link

Ciao @nelsonmau
come elenchi le misure/progetti che hanno scadenza nei 4 quarter 2025?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants