SUMMARIZE
gjelder:beregnet kolonne
beregnet tabell
måle
visualobjektberegning
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å verdiene i den. Denne parameteren kan ikke være et uttrykk. |
name |
Navnet som er gitt til en total eller oppsummeringskolonne, omsluttet av doble anførselstegn. |
expression |
Alle DAX uttrykk som returnerer én enkelt skalarverdi, der uttrykket skal evalueres flere ganger (for hver rad/kontekst). |
Returverdi
En tabell med de valgte kolonnene for groupBy_columnName
-argumentene og de summerte kolonnene som er utformet av navneargumentene.
Merknader
Hver kolonne du definerer et navn for, må ha et tilsvarende uttrykk. Ellers returneres en feil. Det første argumentet, navnet, definerer navnet på kolonnen i resultatene. Det andre argumentet, uttrykk, definerer beregningen som utføres for å hente verdien for hver rad i denne kolonnen.
groupBy_columnName må være enten i
table
eller i en relatert tabell for åtable
.Hvert navn må stå i doble anførselstegn.
Funksjonen grupperer et merket sett med rader i et sett med sammendragsrader etter verdiene for én eller flere groupBy_columnName kolonner. Én rad returneres for hver gruppe.
Denne funksjonen støttes ikke for bruk i DirectQuery-modus når den brukes i beregnede kolonner eller regler for sikkerhet på radnivå (RLS).
Eksempel
Eksemplet nedenfor returnerer et sammendrag av forhandlersalget som er gruppert rundt kalenderåret og navnet på produktkategorien. Denne resultattabellen lar deg utføre analyser over forhandlersalget etter å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])
)
Tabellen nedenfor viser en forhåndsvisning av dataene slik de mottas 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 rader for beregnet verdi i resultatet på groupBy_columnName kolonner. ROLLUP kan bare brukes i et SUMMARIZE uttrykk.
Eksempel
Følgende eksempel legger til rader for beregnet verdi 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 rader for beregnet verdi. ROLLUPGROUP kan bare brukes i et ROLLUP, ROLLUPADDISSUBTOTALeller ROLLUPISSUBTOTAL uttrykk.
Eksempel
Følgende eksempel viser bare totalsummen for alle år og kategorier uten delsummen 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 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 Sann hvis raden inneholder delsumverdier for kolonnen som er angitt som argument for ISSUBTOTAL, ellers returneres Usann. ISSUBTOTAL kan bare brukes i et SUMMARIZE uttrykk.
Eksempel
Følgende eksempel 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 |