Come Demo vorrei farvi vedere quello che ha fatto napo in un suo post ma in modo diverso. | |
Come dati useremo sempre il dataset del Consip su Bandi e gare del 2017. | |
Che ho già scaricato qui. Ora per vedere cosa c'è dentro facciamo un head da terminale. Ah! | |
Ci sono problemi con gli accenti perchè evidentemente in Consip non è arrivato ancora unicode. | |
Per risolvere problemi di questo tipo la cosa più semplice è caricare il file in LibreOffice, | |
indovinare l'encoding (conviene scommettere su windows 1252) e riesportarlo in UTF-8. | |
Visto che ci siamo togliamo anche il commento nell'header che ci da solo fastidio. | |
Ora che abbiamo un csv utilizzabile andiamo direttamente su superset. Dalla versione 0.23 che | |
non era ancora rilasciata ai tempi del tutorial di napo è stata inclusa una funzionalitù di | |
importazione di CSV. Sempre successivamente all'articolo è stata anche tradotto in italiano | |
(da napo e raffaele Spangaro) e sistemato un imbarazzante bug per cui le traduzioni non | |
venivano inserite nel pacchetto da Alessandro Baldo. | |
Andiamo su Sorgenti, quindi upload a CSV, mettiamo table name, mettiamo in parse dates le | |
date e mettiamo la virgola come Decimal Character. La possibilità di inserire esplicitamente | |
le colonne fatte a date è disponibile dal commit 76394d3f8f711c2754dbfdd0c6cf7deb6d3ef122 | |
che non è ancora stato rilasciato. | |
Quindi andiamo in tabelle e dovrebbe esserci la nuova nostra tabella disponibile. Se | |
clicchiamo in Edit Record vediamo il tracciato del database. | |
Ogni riga di questa tabella è una colonna. Le colonne interessanti di questa tabella oltre | |
al nome della colonna del database sono: | |
- tipo, che mostra il tipo della colonna in database | |
- raggruppabile, che ci permette di creare grafici che usano aggregazioni su questa colonna | |
- filtrabile, che ci permette di creare grafici che possono filtrare dati su questa colonna | |
- count distinct, che ci permette di contare in modo distinto i valori presenti nella colonna | |
- sum, che ci permette di creare grafici che sommano valori presenti nella colonna | |
- min, che ci permette di creare grafici che trovano il minimo valore presente nella colonna | |
- max, che ci permette di creare grafici che trovano il massimo valore presente nella colonna | |
- è temporale, che identifica le colonne che possono essere usate per i grafici basati sul tempo | |
Ora proviamo a fare una visualizzazione. Perchè ho poca fantasia useremo due visualizzazioni dal | |
post di Napo, così in caso avete comunque una reference. | |
Andiamo da Sorgenti, Tabelle e clicchiamo sul nome della tabella che abbiamo importato. Ora di | |
default parte un grafico tabellare inutile, ma poco male. Selezioniamo per prima cosa il tipo | |
di visualizzazione, scriviamo cloud per filtrare perchè vogliamo una word cloud. | |
La prima cosa di ricordarsi è settare ad una data compatibile con i dati che abbiamo in db la | |
data di inizio che di default è 7 gg. | |
Quindi nella parte query dell'interfaccia scegliamo "Categoria Merceologica" come series e la | |
somma delle base d'asta come metrica. Le metriche di somma e media vengono create automaticamente | |
all'importazione della tabella per i campi numerici. Un'altra metrica invece che viene creata sempre | |
è quella per il conteggio delle righe che ritorna la query (COUNT(*)). | |
Nella parte opzioni invece mettiamo la rotation a flat perchè altrimenti non si capisce niente. | |
In mezzo alla visualizzazione c'è quel valore ND che non ci piace e quindi lo togliamo mettendo un | |
filtro sui risultati della query. Qui nei campi filtrabili vediamo solo quelli che abbiamo messo | |
come tali nella pagina della tabella. | |
La visualizzazione ci piace quindi la vogliamo salvare e mettere in una dashboard. Mettiamo il nome | |
del grafico e quindi della dashboard che creeremo. Ora prima di creare un altro grafico vogliamo | |
compiacerci della dashboard e condividerla col resto del mondo. Quindi copiamoci l'url e lo mandiamo | |
ad un nostro amico. Oops! Non si vede la dashboard. | |
Dobbiamo infatti dare i permessi agli utenti non loggati | |
Per fare questo andiamo in Sicurezza e quindi List Roles. Qui cerchiamo il ruolo Public e gli aggiungiamo | |
i seguenti permessi: | |
- can explore json, che permette all'utente di fare query tramite api | |
- can dashboard, che permette all'utente di visualizzare le dashboard | |
- datasource access sulla nostra tabella, che permette di accedere ai dati della tabella | |
Torniamo un attimo alla visualizzazione, in alto a destra c'è un bottone query che ci permette di | |
vedere la query sql che viene fatta da superset per richeidere i dati che ci permettono di generare | |
il grafico. | |
Questo è interessante se vogliamo poter esplorare i nostri dati non solo tramite grafici ma anche | |
tramite sql. Se lo conosciamo ovviamente. | |
In Superset è presente un editor SQL chiamato "SQL Lab". SQL Lab ci permette di fare query, salvarle e | |
quindi ricercarle, condividerle ed esportare i dati tramite csv. | |
Sqllab ci permette inoltre di creare tabelle dalle query per oltrepassare il limite di Superset di poter | |
creare grafici dalla singola tabella. Questo ci evita di dove preprocessare i nostri dati. Unica cosa da | |
fare attenzione è che la tabella viene creata una volta, ed aggiornamenti ai dati da cui è stata fatta | |
la query non aggiornano la tabella. | |
Ora aggiungiamo un'altro grafico alla dashboard, in verità qualcosa di diverso un filtro. Andiamo su Grafici, | |
premiamo il + per aggiungere una nuova riga. Mettiamo la nostra datasource e il tipo di grafico "filter box". | |
Quindi dobbiamo ricordarci di mettere la nostra data di inizio e scegliere per quali valori filtrare i dati | |
della nostra tabella. Salviamo il filtro e lo aggiungiamo alla dashboard. | |
Ora nella dashboard abbiamo il filtro e quando lo usiamo gli altri grafici si aggiornano automaticamente. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment