vai al contenuto principale

Esplora i dati con la Livetable

Impariamo a utilizzare la Livetable operando su un insieme di dati di esempio.

Nella lezione precedente #

Abbiamo utilizzato l’Excel Importer per aggiungere nuovi oggetti alla classe Employee. In Crea la tua prima applicazione, inoltre, abbiamo introdotto la Livetable come strumento per esaminare gli oggetti/righe della classe/tabella Employee.

Esplora i dati importati #

Ora che abbiamo a disposizione un dataset sufficientemente grande ed eterogeneo, possiamo approfondire l’utilizzo della Livetable e illustrare gli strumenti che questo componente del client web offre per esplorare e gestire agilmente le grandi quantità di dati presenti nelle applicazioni Livebase.

Usare e personalizzare la Livetable #

Avvia Workforce, accedi all’applicazione e apri la Livetable Employee. Dovrebbe apparire come in figura e mostrare tutti i nuovi record provenienti dal file Excel.

Gui employee livetable dataset

Possiamo personalizzare il modo con cui vengono visualizzati i record per accomodare diversi requisiti: ad esempio, possiamo concentrarci su un insieme di dati per volta ridimensionando o nascondendo delle colonne oppure raggruppando, ordinando, e filtrando le righe secondo diverse condizioni.

Infine, possiamo estrarre ulteriori informazioni dai dati visualizzando statistiche oppure definendo attributi derivati direttamente nella tabella sotto forma di colonne calcolate.

Un punto di forza della Livetable è che tutte le personalizzazioni della sua vista sono relative al singolo utente: ciò permette a utenti diversi di adattare la vista alle proprie specifiche esigenze ma di fatto interagendo con lo stesso componente. Inoltre, l’applicazione ricorda le personalizzazioni di ogni utente e le ripresenta nelle sessioni successive.

Puoi ripristinare la visualizzazione di default in ogni momento cliccando sull’icona Gui icon reset Restore default view in basso a destra.

1. Selezionare e contare i record #

Cominciamo dalle basi: puoi selezionare un record cliccando sulla sua riga – e successivamente ispezionare, modificare oppure eliminare quel record; puoi selezionare più record tenendo premuto Ctrl e cliccando sulle singole righe, oppure selezionarne uno e – tenendo premuto Shift – cliccare su un’altra riga per selezionare tutti i record compresi in quell’intervallo. L’unica operazione consentita su una selezione multipla è la rimozione.

Osserva il pannello inferiore. A sinistra, un piccolo grafico a torta (Gui icon select none) e un contatore evidenziano dinamicamente quanti record sono stati selezionati rispetto al conteggio totale (Gui icon select partial). Allo stesso tempo, il grafo è una scorciatoia su cui puoi cliccare per selezionare tutti i record mostrati (Gui icon select all) oppure annullare la selezione corrente.

2. Ricercare record #

Puoi ricercare record aventi una stringa specifica come valore di uno degli attributi. Per farlo, apri il pannello di ricerca cliccando sull’icona Gui icon search, digita la stringa e clicca su Search – oppure premi Invio. Puoi ricercare una stringa in tutte le colonne oppure espandere la checkbox e restringere la ricerca a un insieme di colonne.

Gui search

Ad esempio, digita doe e spunta la colonna Last name. Lanciando la ricerca, la tabella scorre alla prima occorrenza (la riga relativa al dipendente John Doe), che appare evidenziata in giallo. L’icona di ricerca è sostituita da una casella contenente la stringa ricercata, mentre a sinistra è indicato il numero di risultati trovati (due in questo caso). Puoi scorrere tra i risultati della ricerca cliccando sulle due frecce (Gui icon down e Gui icon up) o terminare la ricerca (Gui icon up).

3. Spostare, ridimensionare, nascondere colonne #

In alcuni casi – come il nostro – la tabella ha molte colonne e risulta difficile navigare tra tutte queste informazioni; possiamo però riorganizzare la struttura della Livetable a nostro piacere sfruttando gli le intestazioni (header) delle colonne:

  • per riordinare le colonne, trascina e rilascia i loro header nel punto della tabella dove vuoi che appaiano;
  • per ridimensionare le colonne, clicca sul bordo destro dell’header e trascinalo fino alla lunghezza desiderata;
  • per collassare una colonna alla larghezza minima (ma senza nasconderla), fai doppio click sul bordo destro dell’header.

Proviamo a nascondere qualche colonna, come ad esempio l’attributo derivato Full name: fai click destro sull’header della sua colonna e seleziona Hide per nasconderla. Nota come l’icona delle colonne nascoste Gui icon filter cols sia ora evidenziata in arancione; passandoci sopra puoi leggere 1 hidden column.

Puoi visualizzare di nuovo la colonna nascosta cliccando sull’icona e selezionandola dal pannello Hidden columns. In questo modo la colonna riappare nella tabella in ultima posizione.

Gui employee hidden columns

4. Ordinare la tabella #

Di default, i record di una Livetable appaiono nell’ordine in cui sono stati creati i rispettivi oggetti; infatti, dovresti vedere in testa i primi 6 oggetti che abbiamo inserito manualmente. Per imporre un ordine specifico basta cliccare sull’header di una colonna: ad esempio, clicca su Last name e le righe verranno mostrate in ordine crescente rispetto al cognome. Cliccando di nuovo sull’header puoi imporre invece un ordinamento decrescente.

Puoi aggiungere ulteriori raggruppamenti dal pannello Sorting, a cui puoi accedere cliccando sull’icona Gui icon sorting. Clicca su Add, e aggiungi la colonna First name ordinata come ascending. Clicca su Ok per confermare l’ordinamento.

Gui employee livetable sorting

In questo modo, le righe con lo stesso cognome verranno ordinate a loro volta rispetto al nome. Così, ad esempio, John Doe verrà prima di Rici Doe.

5. Filtrare i record #

In scenari con tabelle numerose può essere utile restringere la visualizzazione a un insieme specifico di record. Per questo scopo possiamo definire dei filtri dal Filter Manager, a cui puoi accedere cliccando sull’icona Gui icon filter rows.

I filtri possono essere semplici oppure avanzati. Un filtro semplice utilizza un insieme di operatori dipendenti dal tipo di dato della colonna, e risulta quindi più “semplice” da usare. Definiamone uno: clicca su Add basic per aggiungere un nuovo filtro alla lista con i seguenti campi:

  • Colonna: seleziona Position dal menu a tendina;
  • Operatore: seleziona =;
  • Valore: digita Software Developer.

Assicurati che il flag accanto al filtro sia spuntato e che la Visualization policy scelta sia Show objects evaluated TRUE, e clicca su Ok per applicarlo. La Livetable mostra solo gli impiegati che sono sviluppatori software, mentre le altre righe sono state nascoste. Puoi verificarlo controllando il contatore, che riporta 102 of 505 objects; inoltre l’icona è diventata arancione, e passandoci sopra puoi leggere 1 filter defined, 1 applied.
Definiamo un altro filtro ma stavolta di tipo avanzato; ad esempio, supponiamo di voler visualizzare solo gli impiegati assunti dopo il 2015. Apri di nuovo il Filter manager e clicca su Add advanced; questo filtro ha un unico campo in cui dobbiamo scrivere un’espressione. Cliccando sulla Σ di fianco al campo puoi aprire l’Expression wizard, contenente le stesse funzioni che abbiamo visto per il Function Picker nel Designer.

Gui employee filter manager basic and advanced

Digita l’espressione getYear(date_joined) > 2015 e applica il filtro. In questo modo abbiamo imposto contemporaneamente entrambi i filtri e vengono mostrate solo le 36 righe che li soddisfano.

Puoi mostrare di nuovo tutti i record togliendo la spunta ai filtri attivi per disattivarli, oppure eliminandoli cliccando sulla X.

6. Definire colonne calcolate #

Oltre ai filtri, possiamo definire delle colonne calcolate a partire da un’espressione che coinvolge i valori delle altre colonne, in modo simile a un attributo derivato del modello. Osserva la tabella: per alcuni impiegati abbiamo – volutamente – omesso il numero di telefono, per altri l’indirizzo email, e per qualcuno entrambi. Vogliamo individuare gli impiegati che non hanno alcuna informazione di contatto per poterne aggiungere uno; per farlo, possiamo definire una colonna calcolata di tipo booleano che sia vera se sono nulle sia Phone number che Email address.

Apri il pannello Computed columns cliccando sull’icona Gui icon math, e seleziona Add column. Dai un nome alla colonna, ad esempio NoContact, digita l’espressione isNull(phone_number) && isNull(email_address) e clicca su Ok.

Gui employee computed columns

La colonna appare in coda alla tabella e può essere utilizzata come una qualunque altra colonna, per definire raggruppamenti, filtri e persino altre colonne calcolate. Ad esempio, combinando la colonna che abbiamo appena definito con un filtro semplice del tipo NoContact = true possiamo accedere rapidamente ai 9 impiegati che non hanno informazioni di contatto, come in figura:

Gui employee livetable filter computed column

7. Raggruppare e ordinare in base a piĂą colonne #

Per semplificare ulteriormente la navigazione nella Livetable possiamo sfruttare la presenza di valori ripetuti in alcune colonne per suddividere le righe in gruppi. Supponiamo, ad esempio, di voler visualizzare insieme tutti i dipendenti con posizione di Software Developer; possiamo definire un raggruppamento in base all’attributo Position. Per farlo, fai click destro sull’header della colonna e seleziona Group by.

La lista degli oggetti viene collassata; la colonna si colora d’arancione e viene posizionata in testa alla tabella, a indicare che è usata per raggruppare i record; nota infatti come sono stati formati 6 gruppi, uno per ciascun valore di Position – più un gruppo per le righe con Position nulla, contenente i primi cinque record che abbiamo inserito manualmente nel database.

Gui employee livetable group by position

Puoi espandere un gruppo cliccando sul Gui icon group plus accanto a esso. Come in figura, le righe contenute in esso verranno mostrate nella tabella sulla destra. Ovviamente, puoi collassare un gruppo espanso cliccando sul Gui icon group minus.

Passando su un gruppo collassato appare un tooltip, come in figura, che indica il numero di oggetti nel gruppo; ad esempio, nel gruppo Designer ci sono 76 oggetti.

Gui employee livetable group by position tooltip

Suddividiamo ora i record in base al Team, invece che alla Position. Per farlo, ci sono due modi: puoi fare click destro sull’header di Position e selezionare Ungroup, fare click destro su Team e selezionare Group By, oppure semplicemente selezionare direttamente l’header di Team e scegliere Regroup By.

Dovresti vedere la colonna Team in arancione in testa alla tabella, seguita da Position tornata normale. In totale ci sono 6 gruppi, piĂą un gruppo per i record che non hanno un Team.

Finora abbiamo definito un solo livello di raggruppamento, ma possiamo aggiungerne di più: ad esempio, possiamo suddividere ulteriormente gli impiegati di un team in base alla posizione. Per farlo, fai click destro sull’header di Position e seleziona Subgroup By.

I livelli di raggruppamento possono essere ordinati in modo indipendente tra loro e dal resto delle colonne della tabella. Per esempio, imposta un ordinamento crescente per Team e un ordinamento decrescente per Position. Imposta inoltre un ordinamento decrescente per Hourly cost. Il risultato dovrebbe essere simile a quello in figura:

Gui employee livetable group by team position order by hourly cost

8. Visualizzare statistiche su colonne o raggruppamenti #

La Livetable consente di visualizzare rapidamente delle statistiche per le colonne che contengono valori numerici. Nel nostro caso è presente un’icona di un grafico (Gui icon stats) sugli header delle colonne Age e Hourly cost. Cliccando su una delle due, la tabella mostrerà un istogramma, che fornisce la distribuzione dei valori di quella colonna per tutti i record della tabella. In figura, ad esempio, è mostrato quello per Hourly cost.

Gui employee livetable stats hourly cost

Sulla destra del grafico sono riportati la somma, la media e la deviazione standard dei valori; in basso invece è riportato l’intervallo dei valori di costo orario dei dipendenti. Passando sulle singole barre puoi evidenziare ulteriori informazioni, come il conteggio delle occorrenze in un determinato intervallo. Per chiudere il pannello clicca in un punto qualunque della Livetable.

Le statistiche sono disponibili anche per i singoli raggruppamenti. Ad esempio, raggruppa di nuovo gli impiegati per Team, e osserva la colonna Hourly cost: in corrispondenza di ciascun gruppo collassato è mostrata di nuovo l’icona a grafico Gui icon stats. Cliccandoci, puoi visualizzare l’istogramma della distribuzione del costo orario relativo agli impiegati di quello specifico team.

Puoi sfruttare il raggruppamento per mostrare dati statistici direttamente nelle colonne collassate. Per farlo, sempre raggruppando per Team, fai click destro sull’header di Hourly cost e seleziona Statistics... per aprire il pannello in figura; da qui puoi spuntare dei valori da mostrare per ogni gruppo direttamente nella colonna Hourly cost.

Gui employee statistics hourly cost

Ad esempio, spunta gli operatori di aggregazione min, max, avg, std e clicca su Ok. Come puoi vedere in figura, le statistiche selezionate verranno mostrate in arancione per ogni gruppo collassato come sotto-colonne di Hourly cost.

Gui employee livetable group by team statistics hourly cost

Infine – sfruttando sempre il raggruppamento – possiamo mostrare valori statistici anche per le colonne che non contengono valori numerici. Ad esempio, vogliamo vedere quanti impiegati in ogni team non hanno un numero di telefono o un indirizzo email.

Raggruppa di nuovo per Team, fai click destro su Phone number e seleziona di nuovo Statistics. Il pannello che viene mostrato è simile a quello precedente, ma contiene solo le tre opzioni di conteggio all, null e notNull. Spunta null e clicca su Ok. Ripeti lo stesso procedimento per Email address.

Gui employee statistics team

La Livetable appare come in figura, con il conteggio dei valori nulli delle due colonne accanto a ogni team.

Gui employee livetable group by position statistics team phone number email address null

9. Esportare i dati della Livetable #

L’ultima funzione che vediamo è lo strumento di esportazione. Cliccando su Gui icon export Export data puoi accedere al pannello in figura, che permette di scaricare il contenuto Livetable in un file .csv, un formato leggero compatibile con Excel.

Di default, l’esportazione è relativa alle righe e colonne che sono attualmente visualizzate nella Livetable, coerentemente alle regole di filtraggio e alle colonne attive. Se vuoi ignorare le personalizzazioni ed esportare tutti i dati, puoi spuntare le due opzioni Include hidden columns e Include filtered out rows. Per avviare il download del file clicca su Ok.

Gui export data

Conclusioni #

Con questa lezione concludiamo la nostra digressione sulla gestione dei dati in Livebase. Per ulteriori informazioni, puoi consultare le guide della sezione Importazione dati.

Nella prossima lezione… #

Introdurremo le relazioni e le useremo per collegare Employee a nuove classi del modello: Modella relazioni.