Parametri in Power BI: numeric range e field

Tra le funzioni di Power BI che racchiudono in sé le maggiori potenzialità in termini di semplicità di utilizzo e dinamicità offerta all’utente ci sono, senza alcun dubbio, i parametri

Al solito, e per praticità, partiamo dal classico Sample Super Store, caricando la sola tabella Orders come mostrato nell’immagine di seguito.

Selezioniamo la tabella Orders, mostrato nel riquadro nero in alto a sinistra, e, successivamente, clicchiamo su Load.

Partiamo dal nostro più comune esempio di visualizzazione, realizzando una bar chart che mostri la somma delle vendite (Sum of Sales) per ogni sottocategoria (Sub-Category) di prodotto. E dunque, facciamo doppio click con il tasto sinistro del nostro mouse sul riquadro dedicato alle clustered bar chart nella tab Visualizations e importiamo i campi necessari nei riquadri delle voci Y-axis e X-axis. Consultate l’immagine di seguito per avere un ulteriore riferimento. 

Nel riquadro di colore nero abbiamo selezionato la clustered bar chart, e poi abbiamo importato i campi citati sopra: Sub-Category e Sales, aggregato come Sum.

Adesso è tempo di introdurre i parametri. Immaginiamo che il nostro cliente, o un utente generico, necessiti di visualizzare una possibile proiezione delle vendite per ogni sottocategoria di prodotto, in base ad un fattore modificabile manualmente, che sia tramite digitazione o con uno slicer. Il modo più semplice per creare un nuovo parametro è tramite la tab Modelling nella ribbon in alto, come mostrato nella figura seguente. 

Clicchiamo su New parameter e scegliamo Numeric range.

Come riportato nella tooltip relativa all’opzione Numeric range dei parametri, essa ci permette di modificare dei valori numerici utilizzati come input in una delle nostre visualizzazioni. Una volta cliccato, la schermata successiva apparirà come la seguente.

La schermata dedicata ai parametri numerici in Power BI.

Da questa schermata possiamo scegliere il nome del nostro parametro, che per semplicità abbiamo scelto di rinominare “Sales_Parameter”, ma anche il data type, il valore minimo, quello massimo e l’incremento di cui vogliamo l’utente possa usufruire. Ai fini di questo esempio, potete scegliere qualsiasi valore preferiate, a patto che i valori siano coerenti con il data type scelto (se vogliamo un incremento decimale, allora il data type del parametro deve essere un numero decimale). Una delle peculiarità di Power BI è che permette di aggiungere in maniera molto rapida uno slicer dedicato al parametro sulla nostra report canvas, come indicato nel riquadro nero. Clicchiamo su Create e vediamo il risultato!

Nel riquadro nero a sinistra vediamo lo slicer aggiunto alla report canvas, che al momento non è legato al campo Sum of Sales, e che dunque non ci permette ancora di interagire dinamicamente con la nostra visualizzazione. A destra, invece, la nuova tabella generata che contiene i valori del parametro appena creato. La query in basso è una measure, che ci consentirà, materialmente, di modificare i dati che andremo ad associare al nostro parametro.

Attraverso un’azione piuttosto rapida abbiamo, in realtà, generato due righe di codice DAX che, a loro volta, generano le due query associate al nostro parametro. La prima riga, che riportiamo di seguito, genera la query riportata nel riquadro verde:

Sales_Parameter = GENERATESERIES(0, 10, 0.1)

I valori riportati in parentesi sono, in ordine, il valore minimo del parametro, quello massimo e l’incremento minimo. La seconda riga, invece, genera la measure riportata nel riquadro arancione che, ancora, riportiamo di seguito:

Sales_Parameter Value = SELECTEDVALUE('Sales_Parameter'[Sales_Parameter], 0.1)

Perché il nostro parametro possa interagire con il campo che vogliamo modificare è necessario creare una nuova measure. Lo facciamo cliccando con il tasto destro sulla query Orders e selezionando New Measure, come visibile dall’immagine seguente:

Facciamo click con il tasto destro sulla query Orders nella tab Data, e poi selezioniamo New measure.

È buona pratica creare una nuova measure che contenga l’aggregazione i cui dati andremo ad influenzare tramite il nostro parametro. In questo caso abbiamo bisogno della somma delle Sales, come riportato nell’immagine e nel sottotesto seguenti:

Abbiamo digitato: SUM Sales = SUM(Orders[Sales])

Infine, abbiamo bisogno di creare l’ultima measure, che contenga quella che abbiamo appena creato e il parametro. Per farlo, come prima, clicchiamo con il tasto destro sulla query Orders nella tab Data e selezioniamo New Measure. Nella finestra che compare, digitiamo il seguente codice DAX:

Sales * Parameter = [SUM Sales] * Sales_Parameter[Sales_Parameter Value]

Ora non ci resta che aggiungere al campo Sales (oppure sostituirlo se vogliamo visualizzare solo il nuovo campo influenzato dal parametro), nella voce dedicata all’asse X della nostra clustered bar chart, la nuova measure appena creata che contiene il parametro numerico. Ed è fatta! Il risultato finale è visibile nell’immagine di seguito:

Ecco fatto! Nel riquadro nero c’è il nostro nuovo campo appena calcolato, che adesso è contenuto nella clustered bar chart. Potete provare a scorrere lo slicer per verificare che i valori cambino in maniera coerente.

E se nella stessa visualizzazione volessimo scegliere se visualizzare, al comando dell’utente, o il campo Sum of Sales o quello da noi calcolato? La risposta, ancora una volta, è a portata di mano grazie all’utilizzo dei parametri. Stavolta, dopo aver cliccato su New parameter nella tab Modelling del ribbon in alto, scegliamo Fields, piuttosto che Numeric range, come riportato nell’immagine di seguito.

Clicchiamo su New parameter e scegliamo Fields.

Anche stavolta, la tooltip associata alla selezione del Field parameter ci dà un’indicazione di come operi questa funzionalità. Una volta fatto click con il tasto sinistro, apparirà la schermata seguente:

Selezioniamo i due campi che vogliamo aggiungere al nostro parametro e clicchiamo su Create, come indicato nel riquadro blu. Anche stavolta, come potete notare, la spunta su Add slicer to this page permette di aggiungere automaticamente uno slicer alla report canvas.

Ed ecco fatto, semplice no? Lo slicer contenente il nostro nuovo field parameter è immediatamente apparso sulla report canvas, non ci resta che sostituire i campi nella voce dedicata all’asse X con il nostro parametro, Bar_Chart_Parameter, che li contiene entrambi. 

Abbiamo inserito il Bar_Chart_Parameter nella voce dedicata all’asse X, come indicato nel riquadro nero. Nel riquadro blu, invece, è visibile lo slicer generato conseguentemente alla creazione del field parameter. Selezionando Sales*Parameter la clustered bar chart mostrerà solo il campo scelto.

Il codice DAX associato al field parameter è visibile con un semplice click del tasto sinistro, ma potete leggerlo anche qui di seguito:

Bar_Chart_Parameter = {("SUM Sales", NAMEOF('Orders'[SUM Sales]), 0), ("Sales * Parameter", NAMEOF('Orders'[Sales * Parameter]), 1)}

 L’utilizzo dei parametri permette all’utente di interagire con la visualizzazione a sua disposizione. Le potenzialità di questa funzione sono innumerevoli, prova a scoprirle man mano che acquisisci confidenza nell’uso di Power BI!

articoli correlati

Nuove funzionalità PowerBI (Dec 2023)

In questo articolo vedremo alcune nuove impostazioni di formattazione per i nostri grafici a colonne e a barre, nonché per le etichette dei dati. Credo

New Button Slicer in Power BI

La nuova funzionalità aggiunta in Power BI rende il pannello dei filtri molto più dinamico e personalizzabile. Con il nuovo oggetto grafico si ha infatti

Selezioni Data Academy 2024

La prossima Data Academy by The Information Lab Italia inizierà a Febbraio 2024! Le selezioni stanno per iniziare!