SUMMARIZE
gælder for:beregnet kolonne
beregnet tabel
beregning af måling
visualisering
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 attable
.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 |