Del via


SUMMARIZE

gjelder:beregnet kolonneberegnet tabellMeasurevisualobjektberegning

Returnerer en sammendragstabell for de forespurte totalsummene over et sett med grupper.

Syntaks

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

Parametere

Term Definisjon
table Alle DAX uttrykk som returnerer en tabell med data.
groupBy_ColumnName (Valgfritt) Det kvalifiserte navnet på en eksisterende kolonne som brukes til å opprette sammendragsgrupper basert på values som ble funnet i den. Denne parameteren kan ikke være et uttrykk.
name Navnet som er gitt til en total orsummarize kolonne, omsluttet av doble anførselstegn.
expression Alle DAX uttrykk som returnerer en enkelt skalar value, der uttrykket skal evalueres flere ganger (for hver rad/kontekst).

Returner value

En tabell med de valgte kolonnene for groupBy_columnName-argumentene and de summerte kolonnene som er utformet av navneargumentene.

Merknader

  • Hver kolonne du define et navn for, må ha et tilsvarende uttrykk. Ellers returneres en error. Argumentet first, navn, definerer navnet på kolonnen i resultatene. Argumentet second, uttrykk, definerer beregningen som utføres for å hente value for hver rad i denne kolonnen.

  • groupBy_columnName må være enten i tableor i en related tabell for å table.

  • Hvert navn må stå i doble anførselstegn.

  • Funksjonen grupperer et merket sett med rader i et sett med sammendragsrader etter values av én or flere groupBy_columnName kolonner. Én rad returneres for hver gruppe.

  • Denne funksjonen støttes not for bruk i DirectQuery-modus når den brukes i beregnede kolonner or regler for sikkerhet på radnivå (RLS).

Eksempel

Eksemplet nedenfor returnerer et sammendrag av forhandlersalgene som er gruppert rundt calendaryearand kategorinavnet product, slik at du kan utføre analyser over forhandlersalget etter yearandproduct kategori.

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

Tabellen nedenfor viser en forhåndsvisning av dataene slik de blir received av en hvilken som helst funksjon som forventer å motta en tabell:

DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Salgsbeløp (USD)] [Rabattbeløp (USD)]
2008 Sykler 12968255.42 36167.6592
2005 Sykler 6958251.043 4231.1621
2006 Sykler 18901351.08 178175.8399
2007 Sykler 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 Klær 366507.844 4151.1235
2005 Klær 31851.1628 90.9593
2006 Klær 455730.9729 4233.039
2007 Klær 815853.2868 12489.3835
2008 Tilbehør 153299.924 865.5945
2005 Tilbehør 18594.4782 4.293
2006 Tilbehør 86612.7463 1061.4872
2007 Tilbehør 275794.8403 4756.6546

Med ROLLUP

Tilføyelsen av ROLLUP-syntaksen endrer virkemåten til SUMMARIZE-funksjonen ved å legge til rollup rader i resultatet på groupBy_columnName kolonnene. ROLLUP kan bare brukes i et SUMMARIZE uttrykk.

Eksempel

Følgende eksempel legger til rollup rader i Group-By kolonnene i SUMMARIZE funksjonskallet:

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

Returnerer tabellen nedenfor:

DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Salgsbeløp (USD)] [Rabattbeløp (USD)]
2008 Sykler 12968255.42 36167.6592
2005 Sykler 6958251.043 4231.1621
2006 Sykler 18901351.08 178175.8399
2007 Sykler 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 Klær 366507.844 4151.1235
2005 Klær 31851.1628 90.9593
2006 Klær 455730.9729 4233.039
2007 Klær 815853.2868 12489.3835
2008 Tilbehør 153299.924 865.5945
2005 Tilbehør 18594.4782 4.293
2006 Tilbehør 86612.7463 1061.4872
2007 Tilbehør 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

Tillegg av ROLLUPGROUP i en ROLLUP syntaks kan brukes til å forhindre delvise delsummer i rollup rader. ROLLUPGROUP kan bare brukes i et ROLLUP, ROLLUPADDISSUBTOTAL, orROLLUPISSUBTOTAL uttrykk.

Eksempel

Følgende eksempel viser bare totalsummen på all år and kategorier uten delsummen for hver year med all 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 tabellen nedenfor:

DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Salgsbeløp (USD)] [Rabattbeløp (USD)]
2008 Sykler 12968255.42 36167.6592
2005 Sykler 6958251.043 4231.1621
2006 Sykler 18901351.08 178175.8399
2007 Sykler 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 Klær 366507.844 4151.1235
2005 Klær 31851.1628 90.9593
2006 Klær 455730.9729 4233.039
2007 Klær 815853.2868 12489.3835
2008 Tilbehør 153299.924 865.5945
2005 Tilbehør 18594.4782 4.293
2006 Tilbehør 86612.7463 1061.4872
2007 Tilbehør 275794.8403 4756.6546
76494758.25 527507.9262

Med ISSUBTOTAL

Med ISSUBTOTALkan du opprette en annen kolonne i SUMMARIZE-uttrykket som returnerer Trueif raden contains delsum values for kolonnen som er angitt som argument for ISSUBTOTAL, ellers returneres False. ISSUBTOTAL kan bare brukes i et SUMMARIZE uttrykk.

Eksempel

Følgende sample genererer en ISSUBTOTAL kolonne for hver av de ROLLUP kolonnene i det angitte SUMMARIZE funksjonskallet:

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 tabellen nedenfor:

[Er delsum for DateTimeCalendarYear] [Er delsum for ProductCategoryName] DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Salgsbeløp (USD)] [Rabattbeløp (USD)]
FALSE FALSE
FALSE FALSE 2008 Sykler 12968255.42 36167.6592
FALSE FALSE 2005 Sykler 6958251.043 4231.1621
FALSE FALSE 2006 Sykler 18901351.08 178175.8399
FALSE FALSE 2007 Sykler 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 Klær 366507.844 4151.1235
FALSE FALSE 2005 Klær 31851.1628 90.9593
FALSE FALSE 2006 Klær 455730.9729 4233.039
FALSE FALSE 2007 Klær 815853.2868 12489.3835
FALSE FALSE 2008 Tilbehør 153299.924 865.5945
FALSE FALSE 2005 Tilbehør 18594.4782 4.293
FALSE FALSE 2006 Tilbehør 86612.7463 1061.4872
FALSE FALSE 2007 Tilbehør 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