SUMMARIZE
gäller för:beräknad kolumnberäknad tabellMeasurevisuell beräkning
Returnerar en sammanfattningstabell för de begärda summorna över en uppsättning grupper.
Syntax
SUMMARIZE (<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)
Parametrar
Period | Definition |
---|---|
table |
Alla DAX uttryck som returnerar en datatabell. |
groupBy_ColumnName |
(Valfritt) Det kvalificerade namnet på en befintlig kolumn som används för att skapa sammanfattningsgrupper baserat på values som finns i den. Den här parametern kan inte vara ett uttryck. |
name |
Namnet som anges för en total orsummarize kolumn, omgiven av dubbla citattecken. |
expression |
Alla DAX uttryck som returnerar en enda skalär value, där uttrycket ska utvärderas flera gånger (för varje rad/kontext). |
Returnera value
En tabell med de valda kolumnerna för de groupBy_columnName
argumenten and de sammanfattade kolumnerna som utformats av namnargumenten.
Kommentarer
Varje kolumn som du define ett namn för måste ha ett motsvarande uttryck. annars returneras en error. Argumentet first, name, definierar namnet på kolumnen i resultatet. Argumentet second, uttryck, definierar beräkningen som utförs för att hämta value för varje rad i kolumnen.
groupBy_columnName måste antingen finnas i
table
or i en related tabell för atttable
.Varje namn måste omges av dubbla citattecken.
Funktionen grupperar en vald uppsättning rader i en uppsättning sammanfattningsrader efter values av en or fler groupBy_columnName kolumner. En rad returneras för varje grupp.
Den här funktionen stöds not för användning i DirectQuery-läge när den används i beräknade kolumner or regler för säkerhet på radnivå (RLS).
Exempel
I följande exempel returneras en sammanfattning av återförsäljarens försäljning grupperad runt calendaryearandproduct kategorinamn. Med den här resultattabellen kan du analysera återförsäljares försäljning efter yearandproduct kategori.
SUMMARIZE(ResellerSales_USD
, DateTime[CalendarYear]
, ProductCategory[ProductCategoryName]
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
I följande tabell visas en förhandsgranskning av data eftersom det skulle vara received av alla funktioner som förväntar sig att ta emot en tabell:
DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Försäljningsbelopp (USD)] | [Rabattbelopp (USD)] |
---|---|---|---|
2008 | Cyklar | 12968255.42 | 36167.6592 |
2005 | Cyklar | 6958251.043 | 4231.1621 |
2006 | Cyklar | 18901351.08 | 178175.8399 |
2007 | Cyklar | 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äder | 366507.844 | 4151.1235 |
2005 | Kläder | 31851.1628 | 90.9593 |
2006 | Kläder | 455730.9729 | 4233.039 |
2007 | Kläder | 815853.2868 | 12489.3835 |
2008 | Accessoarer | 153299.924 | 865.5945 |
2005 | Accessoarer | 18594.4782 | 4.293 |
2006 | Accessoarer | 86612.7463 | 1061.4872 |
2007 | Accessoarer | 275794.8403 | 4756.6546 |
Med ROLLUP
Tillägget av ROLLUP-syntaxen ändrar beteendet för funktionen SUMMARIZE genom att lägga till rollup rader i resultatet på de groupBy_columnName kolumnerna. ROLLUP kan bara användas i ett SUMMARIZE uttryck.
Exempel
I följande exempel läggs rollup rader till i Group-By kolumnerna i funktionsanropet SUMMARIZE:
SUMMARIZE(ResellerSales_USD
, ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
Returnerar följande tabell,
DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Försäljningsbelopp (USD)] | [Rabattbelopp (USD)] |
---|---|---|---|
2008 | Cyklar | 12968255.42 | 36167.6592 |
2005 | Cyklar | 6958251.043 | 4231.1621 |
2006 | Cyklar | 18901351.08 | 178175.8399 |
2007 | Cyklar | 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äder | 366507.844 | 4151.1235 |
2005 | Kläder | 31851.1628 | 90.9593 |
2006 | Kläder | 455730.9729 | 4233.039 |
2007 | Kläder | 815853.2868 | 12489.3835 |
2008 | Accessoarer | 153299.924 | 865.5945 |
2005 | Accessoarer | 18594.4782 | 4.293 |
2006 | Accessoarer | 86612.7463 | 1061.4872 |
2007 | Accessoarer | 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
Tillägg av ROLLUPGROUP inuti en ROLLUP syntax kan användas för att förhindra partiella delsummor i rollup rader. ROLLUPGROUP kan bara användas i ett ROLLUP, ROLLUPADDISSUBTOTAL, orROLLUPISSUBTOTAL uttryck.
Exempel
I följande exempel visas endast totalsumman för all år and kategorier utan delsumman för varje 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])
)
Returnerar följande tabell,
DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Försäljningsbelopp (USD)] | [Rabattbelopp (USD)] |
---|---|---|---|
2008 | Cyklar | 12968255.42 | 36167.6592 |
2005 | Cyklar | 6958251.043 | 4231.1621 |
2006 | Cyklar | 18901351.08 | 178175.8399 |
2007 | Cyklar | 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äder | 366507.844 | 4151.1235 |
2005 | Kläder | 31851.1628 | 90.9593 |
2006 | Kläder | 455730.9729 | 4233.039 |
2007 | Kläder | 815853.2868 | 12489.3835 |
2008 | Accessoarer | 153299.924 | 865.5945 |
2005 | Accessoarer | 18594.4782 | 4.293 |
2006 | Accessoarer | 86612.7463 | 1061.4872 |
2007 | Accessoarer | 275794.8403 | 4756.6546 |
76494758.25 | 527507.9262 |
Med ISSUBTOTAL
Med ISSUBTOTALkan du skapa en annan kolumn i uttrycket SUMMARIZE som returnerar Trueif raden contains delsumma values för kolumnen som anges som argument för att ISSUBTOTAL, annars returneras False. ISSUBTOTAL kan bara användas i ett SUMMARIZE uttryck.
Exempel
Följande sample genererar en ISSUBTOTAL kolumn för var och en av de ROLLUP kolumnerna i det angivna SUMMARIZE funktionsanropet:
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])
)
Returnerar följande tabell,
[Är delsumma för DateTimeCalendarYear] | [Är undersumma för ProductCategoryName] | DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Försäljningsbelopp (USD)] | [Rabattbelopp (USD)] |
---|---|---|---|---|---|
FALSE |
FALSE |
||||
FALSE |
FALSE |
2008 | Cyklar | 12968255.42 | 36167.6592 |
FALSE |
FALSE |
2005 | Cyklar | 6958251.043 | 4231.1621 |
FALSE |
FALSE |
2006 | Cyklar | 18901351.08 | 178175.8399 |
FALSE |
FALSE |
2007 | Cyklar | 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äder | 366507.844 | 4151.1235 |
FALSE |
FALSE |
2005 | Kläder | 31851.1628 | 90.9593 |
FALSE |
FALSE |
2006 | Kläder | 455730.9729 | 4233.039 |
FALSE |
FALSE |
2007 | Kläder | 815853.2868 | 12489.3835 |
FALSE |
FALSE |
2008 | Accessoarer | 153299.924 | 865.5945 |
FALSE |
FALSE |
2005 | Accessoarer | 18594.4782 | 4.293 |
FALSE |
FALSE |
2006 | Accessoarer | 86612.7463 | 1061.4872 |
FALSE |
FALSE |
2007 | Accessoarer | 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 |