Oggi volevo proporre una tecnica molto semplice che consente di realizzare grafici in grado di modificare la misura posta su di un asse, sulla base della selezione effettuata su di uno specifico pulsante filtro.
N.B. Consigliamo di non abusare troppo di questa tecnica all'interno di file complessi e pesanti poiché potrebbe portare a dei cali di performance dell'applicativo. All'interno di reportistiche semplici invece può risultare efficace al fine di analizzare misure diverse all'interno dello stesso grafico.
Il file demo verrà allegato in calce al presente tutorial. All'interno troverete un semplicissimo modello dati contenente una tabella con 1 dimensione e 4 misure. I dati sono puramente casuali e servono solamente per mostrare le logiche di funzionamento.
Step1_Creazione di una tabella parametrica
Una volta aperto il file, per prima cosa andremo a realizzare una tabella che conterrà le intestazioni da voler assegnare a ciascuna misura.
La logica è la seguente: creare un campo filtro che sulla base della selezione che andremo ad apportare mostrerà solamente la misura presa come riferimento.
Per prima cosa selezioniamo il comando "Dati" posto sul lato sinistro della schermata:
A questo punto dovremo andare a ricercare il comando "Immettere i dati", questo ci permetterà di creare una nuova tabella con dati che potremo andare ad inserire manualmente (oppure incollati da altre fonti):
In questa nuova tabella andremo ad inserire due colonne: Indice - Etichetta
La colonna [Indice] conterrà semplicemente un numero progressivo che ci servirà per la realizzazione della misura dinamica, [Etichetta] invece conterrà il nome da assegnare a ciascun pulsante filtro.
Per associare il nome ad una colonna non bisogna far altro che fare doppio clic sull'intestazione generica iniziale e digitare il nuovo nome.
Per inserire i valori al suo interno invece non dovremo far altro che premere invio dopo aver digitato il valore.
Il risultato desiderato dovrebbe essere simile al seguente:
Ricordiamo di assegnare un nome a questa tabella utilizzando l'apposita casella posta in calce alla schermata. La nostra la chiameremo "Parametri_Filtro". Una volta terminato premiamo su "Carica".
Ora se diamo un'occhiata alla schermata del nostro modello dati vedremo due tabelle, non relazionate tra loro (come giusto che sia):
Step2_Creazione pulsante filtro
Ora ritorniamo alla nostra schermata iniziale e selezioniamo il comando per inserire un pulsante filtro:
Disponiamolo dove preferiamo e poi prendendo il campo [Etichetta] dalla tabella "Parametri_Filtro" andremo a trascinarlo sopra l'oggetto appena creato.
A questo punto eseguiamo qualche basilare operazione di formattazione (queste operazione verranno svolte utilizzando l'apposito menu a forma di pennello che compare una volta premuto con il mouse sull'oggetto):
. Eliminiamo l'intestazione
. Selezioniamo il sotto-menu "Comandi di selezione" e attiviamo la "Selezione Singola"
. Selezioniamo il sotto-menu "Generale" e selezioniamo dal menu a tendina "Orientamento" la voce "Orizzontale"
. Con il mouse trasciniamo i bordi dell'oggetto al fine di assegnare la corretta dimensione
. Selezionare nel menu "Dati" la seconda colonna (il campo [Etichetta]) e premere sul pulsante posto in alto "Ordina per colonna", infine selezionare il campo [Indice]
Al termine della procedura dovremmo aver ottenuto un risultato simile:
Step3_Creazione misura dinamica
Ora andremo a creare una nuova misura, al cui interno inseriremo il seguente codice:
Codice: Seleziona tutto
MisuraDinamica =
SWITCH (
MAX ( Parametri_Filtro[Indice] ),
1, SUM ( Dati[Quantità] ),
2, SUM ( Dati[Vendite] ),
3, SUM ( Dati[Budget_Qtà] ),
4, SUM ( Dati[Budget_Vendite] )
)
In questo caso l'espressione risulta essere: MAX ( Parametri_Filtro[Indice] ) la quale, essendo presente il filtro sul campo etichetta, riporterà il valore dell'indice corrispondente alla voce selezionata. Ad esempio se selezionassi il valore "Qtà Effettive" il valore riportato dalla funzione MAX() sarebbe pari a 1 e dunque la misura appena calcolata riporterebbe il valore SUM ( Dati[Quantità] ).
Step4_Creazione grafico
A questo punto non dobbiamo far altro che selezionare un nuovo oggetto, grafico a barre:
Andremo ad inserire il campo [Prodotti] come "Asse" e la [MisuraDinamica] come "Valori".
Anche in questo caso andremo poi ad eseguire delle semplici operazioni di formattazione:
. Sia dal sotto-menu "Asse X" che da quello "Asse Y" andremo a disattivare l'opzione "Titolo"
. Attiviamo il sotto-menu "Etichette"
. Rendiamo il titolo del grafico dinamico andando a creare la seguente misura:
Codice: Seleziona tutto
Titolo = "Misura selezionata: " & Max(Parametri_Filtro[Etichetta])
Ora impostiamo la schermata che apparirà nel seguente modo:
Una volta premuto il tasto di conferma il grafico dovrebbe apparire nel modo seguente:
Ora, a seconda della selezione effettuata nel filtro cambierà la misura mostrata all'interno del grafico, così come il titolo dello stesso.
Ecco dunque giunti al termine del tutorial
Rinnoviamo il nostro suggerimento a lasciare dei commenti nell'apposita sezione (Qui) nel caso in cui ci siano degli aspetti non chiari o suggerimenti in merito agli argomenti da trattare nei tutorial che seguiranno.
Come sempre se si è interessati a ricevere il file contenente la soluzione contattare tramite messaggio l'autore del tutorial.
A presto,
Andrea