Del via


SUMMARIZE

gælder for:beregnet kolonneberegnet tabelberegning af målingvisualisering

Returnerer en oversigtstabel for de anmodede totaler for et sæt grupper.

Syntaks

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

Parametre

Begreb Definition
table Ethvert DAX udtryk, der returnerer en tabel med data.
groupBy_ColumnName (Valgfrit) Det kvalificerede navn på en eksisterende kolonne, der bruges til at oprette oversigtsgrupper baseret på de værdier, der blev fundet i den. Denne parameter kan ikke være et udtryk.
name Det navn, der er givet til en kolonne med total eller opsummering, omsluttet af dobbelte anførselstegn.
expression Ethvert DAX udtryk, der returnerer en enkelt skalarværdi, hvor udtrykket skal evalueres flere gange (for hver række/kontekst).

Returværdi

En tabel med de valgte kolonner til argumenterne groupBy_columnName og de opsummerede kolonner, der er designet af navneargumenterne.

Bemærkninger

  • Hver kolonne, du definerer et navn for, skal have et tilsvarende udtryk. Ellers returneres der en fejl. Det første argument, name, definerer navnet på kolonnen i resultaterne. Det andet argument, udtryk, definerer den beregning, der udføres for at hente værdien for hver række i den pågældende kolonne.

  • groupBy_columnName skal enten være i table eller i en relateret tabel for at table.

  • 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 værdierne for en eller flere groupBy_columnName kolonner. Der returneres én række for hver gruppe.

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

Eksempel

I følgende eksempel returneres en oversigt over forhandlersalget grupperet omkring kalenderåret og navnet på produktkategorien. Denne resultattabel giver dig mulighed for at analysere forhandlersalget efter år og produktkategori.

SUMMARIZE(ResellerSales_USD
      , DateTime[CalendarYear]
      , ProductCategory[ProductCategoryName]
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
      )

I følgende tabel vises et eksempel på dataene, som de ville blive modtaget af en hvilken som helst funktion, der forventer at modtage en tabel:

DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Salgsbeløb (USD)] [Rabatbeløb (USD)]
2008 Cykler 12968255.42 36167.6592
2005 Cykler 6958251.043 4231.1621
2006 Cykler 18901351.08 178175.8399
2007 Cykler 24256817.5 276065.992
2008 Komponenter 2008052.706 39.9266
2005 Komponenter 574256.9865 0
2006 Komponenter 3428213.05 948.7674
2007 Komponenter 5195315.216 4226.0444
2008 Tøj 366507.844 4151.1235
2005 Tøj 31851.1628 90.9593
2006 Tøj 455730.9729 4233.039
2007 Tøj 815853.2868 12489.3835
2008 Accessories 153299.924 865.5945
2005 Accessories 18594.4782 4.293
2006 Accessories 86612.7463 1061.4872
2007 Accessories 275794.8403 4756.6546

Med ROLLUP

Tilføjelsen af ROLLUP-syntaks ændrer funktionsmåden for funktionen SUMMARIZE ved at føje akkumuleringsrækker til resultatet på de groupBy_columnName kolonner. ROLLUP kan kun bruges i et SUMMARIZE-udtryk.

Eksempel

I følgende eksempel føjes akkumuleringsrækker til de Group-By kolonner i SUMMARIZE funktionskald:

SUMMARIZE(ResellerSales_USD
      , ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)

Returnerer følgende tabel,

DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Salgsbeløb (USD)] [Rabatbeløb (USD)]
2008 Cykler 12968255.42 36167.6592
2005 Cykler 6958251.043 4231.1621
2006 Cykler 18901351.08 178175.8399
2007 Cykler 24256817.5 276065.992
2008 Komponenter 2008052.706 39.9266
2005 Komponenter 574256.9865 0
2006 Komponenter 3428213.05 948.7674
2007 Komponenter 5195315.216 4226.0444
2008 Tøj 366507.844 4151.1235
2005 Tøj 31851.1628 90.9593
2006 Tøj 455730.9729 4233.039
2007 Tøj 815853.2868 12489.3835
2008 Accessories 153299.924 865.5945
2005 Accessories 18594.4782 4.293
2006 Accessories 86612.7463 1061.4872
2007 Accessories 275794.8403 4756.6546
2008 15496115.89 41224.3038
2005 7582953.67 4326.4144
2006 22871907.85 184419.1335
2007 30543780.84 297538.0745
76494758.25 527507.9262

Med ROLLUPGROUP

Tilføjelsen af ROLLUPGROUP i en ROLLUP syntaks kan bruges til at forhindre delvise subtotaler i akkumuleringsrækker. ROLLUPGROUP kan kun bruges i et udtryk af typen ROLLUP, ROLLUPADDISSUBTOTALeller ROLLUPISSUBTOTAL.

Eksempel

I følgende eksempel vises kun hovedtotalen for alle år og kategorier uden subtotalen for hvert år med alle kategorier:

SUMMARIZE(ResellerSales_USD
      , ROLLUP(ROLLUPGROUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName]))
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)

Returnerer følgende tabel,

DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Salgsbeløb (USD)] [Rabatbeløb (USD)]
2008 Cykler 12968255.42 36167.6592
2005 Cykler 6958251.043 4231.1621
2006 Cykler 18901351.08 178175.8399
2007 Cykler 24256817.5 276065.992
2008 Komponenter 2008052.706 39.9266
2005 Komponenter 574256.9865 0
2006 Komponenter 3428213.05 948.7674
2007 Komponenter 5195315.216 4226.0444
2008 Tøj 366507.844 4151.1235
2005 Tøj 31851.1628 90.9593
2006 Tøj 455730.9729 4233.039
2007 Tøj 815853.2868 12489.3835
2008 Accessories 153299.924 865.5945
2005 Accessories 18594.4782 4.293
2006 Accessories 86612.7463 1061.4872
2007 Accessories 275794.8403 4756.6546
76494758.25 527507.9262

Med ISSUBTOTAL

Med ISSUBTOTALkan du oprette en anden kolonne i udtrykket SUMMARIZE, der returnerer Sand, hvis rækken indeholder subtotalværdier for den kolonne, der er angivet som argument til ISSUBTOTAL, ellers returneres False. ISSUBTOTAL kan kun bruges i et SUMMARIZE-udtryk.

Eksempel

Følgende eksempel genererer en ISSUBTOTAL kolonne for hver af de ROLLUP kolonner i det angivne SUMMARIZE funktionskald:

SUMMARIZE(ResellerSales_USD
      , ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
      , "Is Sub Total for DateTimeCalendarYear", ISSUBTOTAL(DateTime[CalendarYear])
      , "Is Sub Total for ProductCategoryName", ISSUBTOTAL(ProductCategory[ProductCategoryName])
)

Returnerer følgende tabel,

[Er subtotal for DateTimeCalendarYear] [Is Sub Total for ProductCategoryName] DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Salgsbeløb (USD)] [Rabatbeløb (USD)]
FALSE FALSE
FALSE FALSE 2008 Cykler 12968255.42 36167.6592
FALSE FALSE 2005 Cykler 6958251.043 4231.1621
FALSE FALSE 2006 Cykler 18901351.08 178175.8399
FALSE FALSE 2007 Cykler 24256817.5 276065.992
FALSE FALSE 2008 Komponenter 2008052.706 39.9266
FALSE FALSE 2005 Komponenter 574256.9865 0
FALSE FALSE 2006 Komponenter 3428213.05 948.7674
FALSE FALSE 2007 Komponenter 5195315.216 4226.0444
FALSE FALSE 2008 Tøj 366507.844 4151.1235
FALSE FALSE 2005 Tøj 31851.1628 90.9593
FALSE FALSE 2006 Tøj 455730.9729 4233.039
FALSE FALSE 2007 Tøj 815853.2868 12489.3835
FALSE FALSE 2008 Accessories 153299.924 865.5945
FALSE FALSE 2005 Accessories 18594.4782 4.293
FALSE FALSE 2006 Accessories 86612.7463 1061.4872
FALSE FALSE 2007 Accessories 275794.8403 4756.6546
FALSE TRUE
FALSE TRUE 2008 15496115.89 41224.3038
FALSE TRUE 2005 7582953.67 4326.4144
FALSE TRUE 2006 22871907.85 184419.1335
FALSE TRUE 2007 30543780.84 297538.0745
TRUE TRUE 76494758.25 527507.9262

SUMMARIZECOLUMNS