GROUPBY
Gäller för:Beräknad kolumnBeräknad tabellMåttVisuell beräkning
Kommentar
Den här funktionen rekommenderas inte för användning i visuella beräkningar eftersom den sannolikt returnerar meningslösa resultat.
Funktionen GROUPBY liknar funktionen SUMMARIZE . GROUPBY utför dock ingen implicit CALCULATE för tilläggskolumner som läggs till. GROUPBY tillåter att en ny funktion, CURRENTGROUP, används i aggregeringsfunktioner i tilläggskolumnerna som den lägger till. GROUPBY används för att utföra flera aggregeringar i en enda tabellgenomsökning.
Syntax
GROUPBY (<table> [, <groupBy_columnName> [, <groupBy_columnName> [, …]]] [, <name>, <expression> [, <name>, <expression> [, …]]])
Parametrar
Period | Definition |
---|---|
table | Alla DAX-uttryck som returnerar en datatabell. |
groupBy_columnName | Namnet på en befintlig kolumn i tabellen (eller i en relaterad tabell) med vilken data ska grupperas. Den här parametern kan inte vara ett uttryck. |
name | Namnet på en ny kolumn som läggs till i listan med GroupBy-kolumner, omgivet av dubbla citattecken. |
Uttryck | En av X-aggregeringsfunktionerna där det första argumentet är CURRENTGROUP(). Se avsnittet Med CURRENTGROUP nedan för den fullständiga listan över X-sammansättningsfunktioner som stöds. |
Returvärde
En tabell med de valda kolumnerna för de groupBy_columnName argumenten och de tilläggskolumner som anges av namnargumenten.
Kommentarer
Funktionen GROUPBY gör följande:
Börja med den angivna tabellen (och alla relaterade tabeller i "till-en"-riktningen).
Skapa en gruppering med alla GroupBy-kolumner (som krävs för att finnas i tabellen från steg 1.).
Varje grupp är en rad i resultatet, men representerar en uppsättning rader i den ursprungliga tabellen.
Utvärdera tilläggskolumnerna som läggs till för varje grupp. Till skillnad från funktionen SUMMARIZE utförs inte en underförstådd CALCULATE och gruppen placeras inte i filterkontexten.
Varje kolumn som du definierar ett namn för måste ha ett motsvarande uttryck. annars returneras ett fel. Det första argumentet, name, definierar namnet på kolumnen i resultatet. Det andra argumentet, uttryck, definierar beräkningen som utförs för att hämta värdet för varje rad i kolumnen.
groupBy_columnName måste vara antingen i tabellen eller i en relaterad tabell.
Varje namn måste omges av dubbla citattecken.
Funktionen grupperar en vald uppsättning rader i en uppsättning sammanfattningsrader efter värdena för en eller flera groupBy_columnName kolumner. En rad returneras för varje grupp.
GROUPBY används främst för att utföra aggregeringar över mellanliggande resultat från DAX-tabelluttryck. Om du vill ha effektiva aggregeringar över fysiska tabeller i modellen bör du överväga att använda funktionen SUMMARIZECOLUMNS eller SUMMARIZE .
Den här funktionen stöds inte för användning i DirectQuery-läge när den används i beräknade kolumner eller säkerhetsregler på radnivå (RLS).
Med CURRENTGROUP
CURRENTGROUP kan bara användas i ett uttryck som definierar en tilläggskolumn i funktionen GROUPBY. I praktiken returnerar CURRENTGROUP en uppsättning rader från tabellargumentet i GROUPBY som tillhör den aktuella raden i GROUPBY-resultatet. Funktionen CURRENTGROUP tar inga argument och stöds endast som det första argumentet till någon av följande sammansättningsfunktioner: AVERAGEX, COUNTAX, COUNTX, GEOMEANX, MAXX, MINX, PRODUCTX, STDEVX. S, STDEVX. P, SUMX, VARX. S, VARX. P.
Exempel
I följande exempel beräknas först den totala försäljningen grupperad efter land och produktkategori över fysiska tabeller med hjälp av funktionen SUMMARIZECOLUMNS . Den använder sedan funktionen GROUPBY för att genomsöka det mellanliggande resultatet från det första steget för att hitta den maximala försäljningen i varje land i produktkategorierna.
DEFINE
VAR SalesByCountryAndCategory =
SUMMARIZECOLUMNS(
Geography[Country],
Product[Category],
"Total Sales", SUMX(Sales, Sales[Price] * Sales[Qty])
)
EVALUATE
GROUPBY(
SalesByCountryAndCategory,
Geography[Country],
"Max Sales", MAXX(CURRENTGROUP(), [Total Sales])
)
Relaterat innehåll
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för