La funzione Dashboard Designer consente di creare e modificare le “dashboard”, che consistono in visualizzazioni grafiche costruite a partire dai dati presenti nel database di QualiWare.
La scheda sotto riportata consente di creare una nuova dashboard, sia da zero che importandone una esistente, di modificarla e anche di visualizzare ciò che vedrà l’utente.
Le dashboard possono essere sia collegate ad un pulsante del menu della versione desktop o dell’app, sia inserite come slide all’interno della “slideshow dashboard” visualizzata nella home page di QualiWare e configurabile come descritto qui.
Una dashboard può utilizzare sia il database di QualiWare, che eventuali database esterni che possono essere definiti utilizzando il pulsante “Origine dati”.
Una guida completa al Dashboard Designer è disponibile qui. Di seguito riportiamo le indicazioni principale per la creazione del collegamento con i dati da visualizzare.
Creazione delle query in una dashboard
Una dashboard può essere composta da diversi riquadri (card) ognuno dei quali presenta un grafico o una griglia basati sui dati restituiti da una query. All’interno di una query possono, quindi, essere definite più query, con, eventualmente, dei parametri che vengono richiesti all’utente al momento dell’esecuzione della dashboard.
Le query si definiscono dalla funzione “Origine dati” del menu.
Per aggiungere una query, selezionare l’origine dati “QualiWare”, o una delle altre origini dati definite, e premere poi “Aggiungi Query”.
È possibile sia inserire manualmente una query, sia crearla attraverso il “Query Builder” premendo sul link “Crea Query”.
NOTA: se si inserisce la query manualmente, non è poi possibile modificarla con il Query Builder.
Parametri nelle query e nella dashboard
Eventuali parametri dovranno essere inseriti nella query definendoli con un nome a piacere preceduto dal carattere “@”. In pratica è la stessa modalità utilizzata nell’SQL Query Designer, con la differenza che è necessario far precedere il nome del parametro dal carattere “@” anzichè “:”.
Premendo il pulsante “Prossimo” nella scheda di definizione della query si accederà alla scheda di definizione dei parametri presenti nella query stessa.
In questa scheda, si dovranno inserire tutti i parametri utilizzati nella query, premendo il tasto “Aggiungi”. Per ognuno dovrà essere ripetuto il nome utilizzato, specificando “Espressione” nel campo “Tipo”, e poi, tramite l’editor di espressioni che si attiva con il pulsante “…”, collegarlo al parametro della dashboard, cosa che si può fare anche inserendo manualmente nel campo “Valore” il nome di quest’ultimo preceduto dal carattere “?”.
I parametri della dashboard, che l’utente potrà modificare, si possono definire dal menu “Parametri” della dashboard. Il sistema inserisce automaticamente un parametro denominato “USERCODE” che è invisibile all’utente finale, e conterrà automaticamente il codice dell’utente connesso.
I parametri definiti a livello di dashboard possono essere liberamente riutilizzati in tutte le query inserite. Ovviamente non è possibile prevedere in una query un parametro che non abbia alcuna corrispondenza con uno dei parametri definiti a livello di dashboard.
Parametri a scelta multipla
Nelle dashboard è possibile definire parametri che consentono la seleziona multipla. Per poterli collegare alle query è indispensabile procedere come segue:
1) usare la funzione “Join” nel collegamento fra il parametro della query e quello della dashboard, come illustrato nella figura seguente:
La funzione “Join” trasforma l’array dei parametri selezionati in una stringa con i valori separati dalla stringa specificata come secondo argomento.
2) nella query, usare la funzione di STRING_SPLIT per separare i valori inseriti, e utilizzarli per il filtro, come mostrato nella figura seguente:
La funzione STRING_SPLIT è disponibile su SQL Server versione 2016 o successiva, con un livello di compatibilità 130 o superiore.
Per ulteriori informazioni sul passaggio dei parametri alle query vedere qui.
NOTA
Il pannello di scelta dei valori dei parametri non viene automaticamente mostrato all’utente all’apertura della dashboard. È quindi necessario prevedere per ogni parametro un valore di default, che l’utente può cambiare premendo il pulsante in alto a destra.
È possibile esportare ogni riquadro, e ispezionarne i dati, utilizzando i pulsanti che appaiono passandoci sopra il mouse.
È anche possibile assegnare ai parametri della query un valore di default che tenga conto del fatto che l’utente non abbia inserito manualmente i valori dei parametri nell’apposito pannello. È infatti possibile lasciare vuoto il valore predefinito di un parametro, attivando la casella “Ammetti Null” del parametro stesso, e assegnare al parametro della query il valore tramite una formula come la seguente:
iif(isnull(?DA_DATA),AddYears(Today(),-1),?DA_DATA)
In questo caso, se il parametro DA_DATA viene lasciato vuoto (come è alla prima apertura della dashboard), viene di default assegnato ad una data di un anno precedente quella corrente.
Filtri dei dati nella dashboard
È possibile prevedere dei filtri direttamente all’interno della dashboard, in appositi riquadri. In quel caso, la query potrà anche non contenere parametri.
Utilizzo dei componenti “Gantt” e “Hierarchical Tree View”
La dashboard consente l’utilizzo di due componenti particolarmente interessanti, che si trovano nella parte “Articoli Personalizzati” della palette dei controlli sulla sinistra. Si tratta dei componenti “Gantt” e “Hierarchical Tree View” che consentono rispettivamente di visualizzare un diagramma di Gantt e una rappresentazione gerarchica ad albero.
Essendo entrambe rappresentazioni gerarchiche, la query che viene utilizzata per fornire i dati deve contenere un campo per restituire sia un campo che rappresenta la chiave univoca del record, sia un campo contiene il valore del campo chiave del record “padre” del record stesso. Essi vanno associati rispettivamente agli elementi “ID” e “PARENT ID” del componente.
Affinchè i dati vengano visualizzati componenti, è di fondamentale importanza assegnare correttamente “ID” e “PARENT ID” dei record di primo livello, nel seguente modo:
- nel componente “Gantt”: la fase radice deve avere ID=0 e PARENT ID=-1, e tutti i record dipendenti dalla radice devono avere PARENT ID=0
- nel componente “Hierarchical Tree View” i componenti di primo livello devono avere PARENT ID=-1
E’ possibile scaricare esempi di dashboard che utilizzano questi componenti da qui.