Dela via


SUMMARIZE

gäller för:beräknad kolumnberäknad tabellMåttVisuell 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å de värden som finns i den. Den här parametern kan inte vara ett uttryck.
name Namnet på en summa eller sammanfattningskolumn omges av dubbla citattecken.
expression Alla DAX uttryck som returnerar ett enda skalärt värde, där uttrycket ska utvärderas flera gånger (för varje rad/kontext).

Returvärde

En tabell med de valda kolumnerna för argumenten groupBy_columnName och de sammanfattade kolumnerna som utformats av namnargumenten.

Kommentarer

  • Varje kolumn som du definierar ett namn för måste ha ett motsvarande uttryck. annars returneras ett fel. Det första argumentet, name, definierar namnet på kolumnen i resultatet. Det andra argumentet, uttryck, definierar beräkningen som utförs för att hämta värdet för varje rad i kolumnen.

  • groupBy_columnName måste antingen finnas i table eller i en relaterad tabell för att table.

  • Varje namn måste omges av dubbla citattecken.

  • Funktionen grupperar en vald uppsättning rader i en uppsättning sammanfattningsrader efter värdena för en eller flera groupBy_columnName kolumner. En rad returneras för varje grupp.

  • Den här funktionen stöds inte för användning i DirectQuery-läge när den används i beräknade kolumner eller säkerhetsregler på radnivå (RLS).

Exempel

I följande exempel returneras en sammanfattning av återförsäljarens försäljning grupperad runt kalenderåret och produktkategorinamnet. Med den här resultattabellen kan du göra analyser över återförsäljarens försäljning per år och 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öljande tabell visas en förhandsgranskning av data eftersom de skulle tas emot 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 sammanslagningsrader i resultatet på de groupBy_columnName kolumnerna. ROLLUP kan bara användas i ett SUMMARIZE uttryck.

Exempel

I följande exempel läggs sammanslagningsrader till de 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 sammanslagningsrader. ROLLUPGROUP kan bara användas i ett ROLLUP- ROLLUPADDISSUBTOTAL- eller ROLLUPISSUBTOTAL uttryck.

Exempel

I följande exempel visas endast totalsumman för alla år och kategorier utan delsumman för varje år med alla 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 True om raden innehåller delsummor 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 exempel 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

SUMMARIZECOLUMNS