Læs på engelsk

Del via


GROUPBY

gælder for:beregnet kolonneberegnet tabelMeasurevisualiseringsberegning

Bemærk

Denne funktion frarådes til brug i visuelle beregninger da den sandsynligvis returnerer meningsløse resultater.

Funktionen GROUPBY svarer til funktionen SUMMARIZE. GROUPBY udfører dog not en implicit CALCULATE for alle udvidelseskolonner, der tilføjes. GROUPBY tillader, at en ny funktion, CURRENTGROUP, bruges i sammenlægningsfunktioner i de udvidelseskolonner, der tilføjes. GROUPBY bruges til at udføre flere sammenlægninger i en enkelt tabelscanning.

Syntaks

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

Parametre

Udtryk Definition
table Ethvert DAX udtryk, der returnerer en tabel med data.
groupBy_columnName Navnet på en eksisterende kolonne i tabellen (or i en related tabel), som dataene skal grupperes efter. Denne parameter kan ikke være et udtryk.
name Det navn, der er givet til en ny kolonne, som føjes til listen over GroupBy kolonner, omsluttet af dobbelte anførselstegn.
expression En af X-sammenlægningsfunktionerne, hvor argumentet first er CURRENTGROUP(). Se afsnittet Med CURRENTGROUP nedenfor for at få en komplet liste over understøttede X-sammenlægningsfunktioner.

Returner value

En tabel med de valgte kolonner til argumenterne groupBy_columnName and de udvidelseskolonner, der er angivet af navneargumenterne.

Bemærkninger

  • Funktionen GROUPBY gør følgende:

    1. Start med den angivne tabel (andallrelated tabeller i retningen "til-en").

    2. Opret en gruppering ved hjælp af all af de GroupBy kolonner (som skal findes i tabellen fra trin 1).

    3. Hver gruppe er én række i resultatet, men repræsenterer et sæt rækker i den oprindelige tabel.

    4. For hver gruppe evaluate de udvidelseskolonner, der tilføjes. I modsætning til funktionen SUMMARIZE udføres der not en implicit CALCULATE, and gruppen ikke placeres i den filter kontekst.

  • Hver kolonne, du define et navn for, skal have et tilsvarende udtryk. Ellers returneres der en error. Argumentet first navn definerer navnet på kolonnen i resultaterne. Det second argument, udtryk, definerer den beregning, der udføres for at hente value for hver række i den pågældende kolonne.

  • groupBy_columnName skal være enten i tabel or i en related tabel.

  • Hvert navn skal være omsluttet af dobbelte anførselstegn.

  • Funktionen grupperer et markeret sæt rækker i et sæt oversigtsrækker efter values af en or flere groupBy_columnName kolonner. Der returneres én række for hver gruppe.

  • GROUPBY bruges primært til at udføre sammenlægninger af mellemliggende resultater fra DAX tabeludtryk. Overvej at bruge SUMMARIZECOLUMNSorSUMMARIZE funktion for at få effektive sammenlægninger af fysiske tabeller i modellen.

  • Denne funktion understøttes not til brug i DirectQuery-tilstand, når den bruges i beregnede kolonner or RLS-regler (row-level security).

Med CURRENTGROUP

CURRENTGROUP kan kun bruges i et udtryk, der definerer en udvidelseskolonne i funktionen GROUPBY. In-effectreturnerer CURRENTGROUP et sæt rækker fra tabelargumentet for GROUPBY, der tilhører den aktuelle række i det GROUPBY resultat. Funktionen CURRENTGROUP bruger ingen argumenter, and understøttes kun som first argument til en af følgende sammenlægningsfunktioner: AVERAGEX, COUNTAX, COUNTX, GEOMEANX, MAXX, MINX, PRODUCTX, STDEVX.S, STDEVX.P, SUMX, VARX.S, VARX.P.

Eksempel

Følgende eksempel first beregner det samlede salg grupperet efter land andproduct kategori over fysiske tabeller ved hjælp af funktionen SUMMARIZECOLUMNS. Den bruger derefter funktionen GROUPBY til at scanne det mellemliggende resultat fra first trin for at find det maksimale salg i hvert land på tværs af de product kategorier.

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])  
)  

SUMMARIZE funktion
SUMMARIZECOLUMNS funktion