DAX Altro - Funzione GROUPBY

Descrizione

Restituisce una tabella con un insieme di colonne selezionate. Consente l'utilizzo della funzione DAX CURRENTGROUP all'interno delle funzioni di aggregazione nelle colonne di estensione che aggiunge. GROUPBY tenta di riutilizzare i dati raggruppati rendendoli altamente performanti.

La funzione DAX GROUPBY è simile alla funzione DAX SUMMARIZE. Tuttavia, GROUPBY non esegue un CALCOLO implicito per le colonne di estensione che aggiunge.

La funzione DAX GROUPBY è una novità di Excel 2016.

Sintassi

GROUPBY (<table>, [<groupBy_columnName1>], [<name>, <expression>] …)

Parametri

Sr.No. Termine e definizione
1

table

Qualsiasi espressione DAX che restituisce una tabella di dati.

2

groupBy_columnName1

Il nome di una colonna esistente nella tabella (o in una tabella correlata), in base alla quale i dati devono essere raggruppati.

Questo parametro non può essere un'espressione.

3

name

Il nome assegnato a una nuova colonna che viene aggiunta all'elenco delle colonne GroupBy, racchiuso tra virgolette doppie.

4

expression

Qualsiasi espressione DAX che restituisce un singolo valore scalare, in cui l'espressione deve essere valutata per ogni set di valori GroupBy.

  • Può includere una qualsiasi delle funzioni di aggregazione "X", come SUMX, AVERAGEX, MINX, MAXX, ecc. E quando una di queste funzioni viene utilizzata in questo modo, il parametro table (che è un'espressione di tabella) può essere sostituito da Funzione CURRENTGROUP. (Fare riferimento alla sezione Osservazioni per i dettagli).

  • Tuttavia, la funzione CURRENTGROUP può essere utilizzata solo al livello superiore delle scansioni di tabelle nell'espressione. Questo significa,

    • ABS (SUMX (CURRENTGROUP (), [Column])) è consentito, poiché ABS non esegue una scansione.

    • Tuttavia, SUMX (<table>, SUMX (CURRENTGROUP ()…)) non è consentito.

  • La funzione DAX CALCULATE e i campi calcolati non sono consentiti nell'espressione

Valore di ritorno

Una tabella con le colonne selezionate per i parametri groupBy_columnName e le colonne raggruppate per designate dai parametri name.

Osservazioni

La funzione GROUPBY esegue le seguenti operazioni:

  • Inizia con la tabella specificata (e tutte le tabelle correlate nella direzione "a uno").

  • Creare un raggruppamento utilizzando tutte le colonne GroupBy (che devono essere presenti nella tabella dal passaggio 1).

  • Ogni gruppo è una riga nel risultato, ma rappresenta un insieme di righe nella tabella originale.

  • Per ogni gruppo, valuta le colonne di estensione aggiunte. A differenza della funzione SUMMARIZE, un CALCULATE implicito non viene eseguito e il gruppo non viene inserito nel contesto del filtro.

Parametri

  • Ogni colonna per la quale si definisce un nome deve avere un'espressione corrispondente. In caso contrario, viene restituito un errore.

    • Il primo parametro, name, definisce il nome della colonna nei risultati. Il secondo parametro, espressione, definisce il calcolo eseguito per ottenere il valore per ogni riga di quella colonna.

    • Ogni nome deve essere racchiuso tra virgolette doppie.

  • groupBy_columnName deve trovarsi in una tabella o in una tabella correlata.

    • La funzione raggruppa un insieme selezionato di righe in un insieme di righe di riepilogo in base ai valori di una o più colonne groupBy_columnName. Viene restituita una riga per ogni gruppo.

GRUPPO CORRENTE ()

  • La funzione CURRENTGROUP può essere utilizzata solo in un'espressione che definisce una colonna all'interno della funzione GROUPBY.

  • CURRENTGROUP restituisce una serie di righe dal parametro di tabella di GROUPBY che appartengono alla riga corrente del risultato GROUPBY.

  • La funzione CURRENTGROUP non accetta parametri ed è supportata solo come primo parametro di una delle seguenti funzioni di aggregazione: AverageX, CountAX, CountX, GeoMeanX, MaxX, MinX, ProductX, StDevX.S, StDevX.P, SumX, VarX.S, VarX .P.

Esempio

= GROUPBY ( 
   Sales,Sales[Salesperson],Products[Product],"Total Sales",  
   SUMX (CURRENTGROUP (),[Sales Amount]) 
)