“New Column” oppure “New Measure”: come scegliere l’opzione più adatta alle nostre esigenze per fare calcoli in Power BI

Quando si va ad analizzare un particolare dataset, spesso capita di aver bisogno di calcolare delle grandezze che inizialmente non sono presenti nel data model messo a  disposizione.

Grazie agli strumenti “New Column” e “New Measure” messi a disposizione da Power BI, tali grandezze possono essere introdotte e customizzate in base al tipo di calcolo richiesto.

Entrambi gli strumenti usano formule in codice DAX per la generazione di nuove grandezze. Tali grandezze però hanno caratteristiche e finalità di utilizzo diverse in base al tipo di strumento dal quale sono state generate.

In questo articolo si mostra come generare nuove grandezze in Power BI a partire da “New Column” o “New Measure”, spiegandone la differenza di utilizzo.

Quindi … quale è la differenza tra una colonna (da “New Column”) e una misura (da “New Measure”) calcolata?

“New Column”: questo strumento genera una nuova colonna rispetto ad una tabella presente nel data model caricato su Power BI. A partire quindi da una tabella, si aggiunge ad essa una nuova colonna i cui valori vengono calcolati attraverso una formula in DAX, che va a popolarne individualmente ciascuna riga.

Esempio: si carica su Power BI il Try Sampe Dataset “financials”. In questa tabella sono presenti 16 colonne, tra le quali due contenente i dati per “Sales” e per “Profit”. A questo punto si decide di voler aggiungere una nuova colonna a questa tabella che permetta di visualizzare il margine di profitto relativo a ciascun dato “Sales” e “Profit” valutato riga per riga. Per fare questa operazione si clicca con il tasto destro del mouse sul nome della tabella “financials” (nella sezione “Data”) e poi si clicca sull’opzione “New Column”.

Una volta cliccato si apre un pannello per l’inserimento al di sotto del ribbon nel quale si scrive la formula in DAX per il calcolo dei valori contenuti della nuova colonna.

La formula in DAX inizia con “Column = ”, dove “Column” indica il nome della nuova colonna, che può essere rinominata in base alle proprie esigenze.

Successivamente si inserisce il calcolo vero e proprio. Per calcolare il margine di profitto in questo caso si fa il rapporto tra i valori nelle colonne di “Profit” e di “Sales”, moltiplicato per 100.

Una volta premuto il tasto “invio”, la nuova colonna viene generata e elencata tra le altre già presenti nella sezione “Data”. 

Per visualizzare il risultato di questa operazione si può costruire una tabella le cui colonne sono date da “Sales”, “Profit” e “Profit_Margin_New”.

 I valori che popolano la nuova colonna sono calcolati individualmente e assegnati in modo statico. Questi infatti possono essere aggiornati a seguito di un aggiornamento delle grandezze “Sales” e/o “Profit”, altrimenti non possono essere modificati attraverso azioni sulla visualizzazione. E’ importante notare che questo tipo di calcolo non dipende dal “Context Filter”, ossia dal tipo di filtri applicati al report Power BI in considerazione.

“New Measure”: questo strumento genera una nuova misura attraverso una formula DAX nella quale possono comparire soltanto grandezze aggregate. A differenza della “New Column” quindi per calcolare la quale si possono prendere intere colonne, la “New Measure” può essere calcolata soltanto a partire da valori aggregati. Questa è la prima grande differenza tra i due strumenti. Lavorando su grandezze aggregate, la “New Measure” stessa viene generata come grandezza aggregata.

Esempio: considerando lo stesso dataset usato sopra, si genera una nuova measure cliccando con il tasto sinistro del mouse su “financials” (nella sezione “Data”), e si sceglie l’opzione “New Measure”.

Si apre così la finestra sotto al ribbon per l’inserimento della formula DAX. Anche in questo caso si può personalizzare il nome della measure. Si suppone di voler calcolare una measure che, similmente all’esempio precedente, calcoli il margine di profitto.

N.B. In questo caso la nostra formula dovrà prendere in considerazione soltanto valori aggregati, e non colonne: infatti al posto di “financials[Profit]” usato per “New Column”, qui si usa “[SUM Profit]”, che è un campo aggregato precedentemente attraverso una formula DAX di tipo “SUM”.

Una volta scritta la formula si clicca il tasto “invio” e la “New Measure” viene generata. Anche questa viene aggiunta nella sezione “Data”. 

Da notare la differenza tra le icone utilizzate per la “New Column” e “New Measure”.

NEW COLUMN

NEW MEASURE

N.B.

La “New Measure” a differenza della “New Column” risponde alle interazioni con il context filter. 

Ad esempio, facendo una tabella che riporta sulle colonne i valori di “SUM Sales”, “SUM Profit” e “Profit_Margin_New_Measure”, e inserendo uno slicer per la selezione dei paesi ai quali queste grandezze fanno riferimento, si nota che facendo una selezione i valori cambiano.

Al contrario, per la “New Column” i valori generati non possono essere modificati attraverso interazioni con il “Context Filter”. 

articoli correlati

Quali sono i Parametri di Campo in Power BI?

Per avere un’esperienza interattiva per gli utenti finali, i parametri di campo consentono agli utenti di modificare dinamicamente le misure o le dimensioni analizzate attraverso

Introduzione alle funzioni DAX in PowerBi

Utilizzando Powerbi è molto semplice capire come utilizzare i valori quantitativi presenti nel nostro dataset. Ad esempio, per creare un grafico che mostri il totale

Tooltip in PowerBI

Tooltip Il termine tooltip nasce dall’unione delle parole ‘tool’, strumento, e ‘tip’,  suggerimento. Il tooltip, letteralmente “consiglio su uno strumento”, nell’ambito della data visualization è

Introduzione ai Custom Visual su PowerBI

Quando si parla di data analisi, le visualizzazioni sono la nostra arma principale per trasmettere concetti e trarre conclusioni.Le visualizzazioni efficaci sono definite da elementi

Filtri in Power BI

I filtri sono tra le funzionalità più utilizzate per dettagliare e personalizzare un’analisi. L’importanza dei filtri in una visualizzazione si può ricondurre alle specifiche esigenze