GROUPBY
johnny manziel jersey brandon aiyuk jersey justin jefferson lsu jersey penn state jersey penn state football jersey keyvone lee jersey miami hurricanes jersey penn state football jersey brock purdy jersey brock purdy jersey justin jefferson lsu jersey fsu jersey aiyuk jersey penn state football jersey keyvone lee jersey
Data Analysis Expressions (DAX) è una libreria di funzioni e operatori che possono essere combinati per creare formule ed espressioni in Power BI, Analysis Services e Power Pivot nei modelli di dati di Excel.
Power BI supporta più di 200 tipi di funzioni DAX come: Funzioni di data e ora, funzioni filtro, funzioni testo, funzioni logiche, funzioni di time intelligence, funzioni matematiche e così via.
Tra le funzioni principali da conoscere non possono mancare le funzioni “Table Manipulation”, ossia di manipolazione delle tabelle!
Entriamo nel dettaglio con la funzione GROUPBY.
Restituisce una tabella con un set di colonne selezionate. Rientra nella categoria delle funzioni DAX di manipolazione delle tabelle.
GROUP BY consente di utilizzare la funzione DAX CURRENTGROUP all’interno delle funzioni di aggregazione nelle colonne di estensione selezionate e riutilizzare i dati che sono stati raggruppati rendendo la nuova tabella altamente performante.
Sintassi:
SUMMARIZE (<tabella>, <groupBy_columnName>, <nome>, <espressione>…)
Descrizione:
PARAMETRO | DESCRIZIONE | |
1 | tabella | Qualsiasi espressione DAX che restituisce una tabella |
2 | groupBy_columnName | (Facoltativo) Una colonna in base alla quale raggruppare. |
3 | Nome | Il nome assegnato a una colonna totale o riepilogativa, racchiuso tra virgolette. |
4 | Espressione | Qualsiasi espressione DAX che restituisce un singolo valore scalare, in cui l’espressione deve essere valutata per ogni set di valori GroupBy. |
Iniziamo con un esempio, è possibile scaricare il Dataset di prova dal seguente link
https://www.microsoft.com/it-IT/download/details.aspx?id=18279
Nota:
- L’espressione utilizzata in GroupBy può includere una qualsiasi delle funzioni di aggregazione “X”, come SUMX, AVERAGEX, MINX, MAXX, ecc.
- La funzione DAX CALCULATE e i campi calcolati non sono consentiti nell’espressione.
- groupBy_columnName deve trovarsi in una tabella o in una tabella correlata.
- Ogni nome deve essere racchiuso tra virgolette doppie.
- Questa funzione non è supportata per l’uso in modalità DirectQuery se utilizzata nelle colonne calcolate o nelle regole di sicurezza a livello di riga (RLS).
- La funzione CURRENTGROUP può essere utilizzata solo in un’espressione che definisce una colonna all’interno della funzione GROUPBY.
Passaggio 1: vai alla scheda Modellazione e fai clic su Nuova tabella

Passaggio 2: dopodiché, verrà visualizzata una schermata della formula DAX, qui scriveremo la formula DAX per la funzione GROUPBY .
Quindi ora creiamo la tabella riepilogativa.
GROUPBY(SalesOrderDetail,
SalesOrderDetail[Regione],
SalesOrderDetail[Subcategory],
"Prezzo Totale", SUMX(CURRENTGROUP(), SalesOrderDetail[LineTotal])
Passaggio 3: dopo aver fatto clic per eseguire il commit, verrà creata una nuova tabella con il nome Groupby Table e sotto quella tabella vedrai il risultato come di seguito.

È possibile eseguire anche una nidificazione nell’espressione
Groupby Table Nidificata =
GROUPBY(
GROUPBY(SalesOrderDetail,
SalesOrderDetail[Regione],
SalesOrderDetail[Subcategory],
"Prezzo Totale", SUMX(CURRENTGROUP(), SalesOrderDetail[LineTotal])
),
SalesOrderDetail[Regione],
"MAX TOTALE",MAXX(CURRENTGROUP(),[Prezzo Totale]))

È possibile eseguire anche filtro nell’espressione
Groupby Table Filtro =
filter(
GROUPBY(SalesOrderDetail,
SalesOrderDetail[Regione],
SalesOrderDetail[Subcategory],
"Prezzo Totale", SUMX(CURRENTGROUP(), SalesOrderDetail[LineTotal])
),SalesOrderDetail[Regione] = "Australia")

È possibile eseguire anche ADDCOLUMNS nell’espressione, supportando CALCULATE
Groupby Table addcolumns =
ADDCOLUMNS(
GROUPBY(SalesOrderDetail,
SalesOrderDetail[Regione],
SalesOrderDetail[Subcategory]),
"Prezzo Totale", calculate(SUM(SalesOrderDetail[LineTotal])))

È possibile eseguire anche ADDCOLUMNS nell’espressione, supportando CALCULATE e FILTER
Groupby Table addcolumns e filtro =
FILTER(
ADDCOLUMNS(
GROUPBY(SalesOrderDetail,
SalesOrderDetail[Regione],
SalesOrderDetail[Subcategory]),
"Prezzo Totale", calculate(SUM(SalesOrderDetail[LineTotal]))),
SalesOrderDetail[Regione] = "Australia")
