Megosztás a következőn keresztül:


SUMMARIZE

A következőkre vonatkozik:Számított oszlopSzámított táblaMértékVizualizációszámítási

Egy összegző táblát ad vissza a kért összegekhez egy csoportcsoporton keresztül.

Syntax

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

Paraméterek

Időszak Definíció
table Bármely DAX kifejezés, amely adattáblát ad vissza.
groupBy_ColumnName (Nem kötelező) Egy meglévő oszlop minősített neve, amellyel összegző csoportokat hozhat létre a benne található értékek alapján. Ez a paraméter nem lehet kifejezés.
name Az összegző vagy összegző oszlop neve, dupla idézőjelek közé zárva.
expression Bármely DAX kifejezés, amely egyetlen skaláris értéket ad vissza, ahol a kifejezést többször kell kiértékelni (minden sorhoz/környezethez).

Visszaadott érték

Táblázat a groupBy_columnName argumentumok kijelölt oszlopaival és a névargumentumok által tervezett összegzett oszlopokkal.

Megjegyzések

  • Minden oszlopnak, amelyhez nevet definiál, rendelkeznie kell egy megfelelő kifejezéssel; ellenkező esetben a függvény hibát ad vissza. Az első argumentum, a név határozza meg az eredmény oszlopának nevét. A második argumentum, a kifejezés határozza meg a számítást, amely az oszlop minden egyes sorának értékét lekéri.

  • groupBy_columnName a table vagy a tablekapcsolódó táblában kell lennie.

  • Minden nevet idézőjelek közé kell foglalni.

  • A függvény egy kijelölt sorkészletet összegző sorhalmazba csoportosít egy vagy több groupBy_columnName oszlop értéke alapján. Minden csoporthoz egy sort ad vissza a függvény.

  • Ez a függvény nem támogatott DirectQuery módban, ha számított oszlopokban vagy sorszintű biztonsági (RLS) szabályokban használják.

Példa

Az alábbi példa a naptári év és a termékkategória neve szerint csoportosított viszonteladói értékesítések összegzését adja vissza. Ez az eredménytábla lehetővé teszi a viszonteladói értékesítések év és termékkategória szerinti elemzését.

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

Az alábbi táblázat az adatok előnézetét mutatja be, mivel azokat bármely olyan függvény fogadja, amely egy táblát vár:

DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Értékesítési összeg (USD)] [Kedvezmény összege (USD)]
2008 Kerékpárok 12968255.42 36167.6592
2005 Kerékpárok 6958251.043 4231.1621
2006 Kerékpárok 18901351.08 178175.8399
2007 Kerékpárok 24256817.5 276065.992
2008 Összetevők 2008052.706 39.9266
2005 Összetevők 574256.9865 0
2006 Összetevők 3428213.05 948.7674
2007 Összetevők 5195315.216 4226.0444
2008 Clothing 366507.844 4151.1235
2005 Clothing 31851.1628 90.9593
2006 Clothing 455730.9729 4233.039
2007 Clothing 815853.2868 12489.3835
2008 Tartozékok 153299.924 865.5945
2005 Tartozékok 18594.4782 4.293
2006 Tartozékok 86612.7463 1061.4872
2007 Tartozékok 275794.8403 4756.6546

A ROLLUP

A ROLLUP szintaxis hozzáadása módosítja a SUMMARIZE függvény viselkedését úgy, hogy összegző sorokat ad hozzá az eredményhez az groupBy_columnName oszlopokon. ROLLUP csak egy SUMMARIZE kifejezésben használható.

Példa

Az alábbi példa összegző sorokat ad hozzá a SUMMARIZE függvényhívás Group-By oszlopaihoz:

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

A következő táblázatot adja vissza:

DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Értékesítési összeg (USD)] [Kedvezmény összege (USD)]
2008 Kerékpárok 12968255.42 36167.6592
2005 Kerékpárok 6958251.043 4231.1621
2006 Kerékpárok 18901351.08 178175.8399
2007 Kerékpárok 24256817.5 276065.992
2008 Összetevők 2008052.706 39.9266
2005 Összetevők 574256.9865 0
2006 Összetevők 3428213.05 948.7674
2007 Összetevők 5195315.216 4226.0444
2008 Clothing 366507.844 4151.1235
2005 Clothing 31851.1628 90.9593
2006 Clothing 455730.9729 4233.039
2007 Clothing 815853.2868 12489.3835
2008 Tartozékok 153299.924 865.5945
2005 Tartozékok 18594.4782 4.293
2006 Tartozékok 86612.7463 1061.4872
2007 Tartozékok 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

A ROLLUPGROUP

A ROLLUP szintaxison belüli ROLLUPGROUP hozzáadásával megakadályozhatja a részleges részösszegeket az összesítő sorokban. ROLLUPGROUP csak ROLLUP, ROLLUPADDISSUBTOTALvagy ROLLUPISSUBTOTAL kifejezésben használható.

Példa

Az alábbi példa csak az összes év és kategória végösszegét mutatja be az év részösszege nélkül, az összes kategóriával együtt:

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

A következő táblázatot adja vissza:

DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Értékesítési összeg (USD)] [Kedvezmény összege (USD)]
2008 Kerékpárok 12968255.42 36167.6592
2005 Kerékpárok 6958251.043 4231.1621
2006 Kerékpárok 18901351.08 178175.8399
2007 Kerékpárok 24256817.5 276065.992
2008 Összetevők 2008052.706 39.9266
2005 Összetevők 574256.9865 0
2006 Összetevők 3428213.05 948.7674
2007 Összetevők 5195315.216 4226.0444
2008 Clothing 366507.844 4151.1235
2005 Clothing 31851.1628 90.9593
2006 Clothing 455730.9729 4233.039
2007 Clothing 815853.2868 12489.3835
2008 Tartozékok 153299.924 865.5945
2005 Tartozékok 18594.4782 4.293
2006 Tartozékok 86612.7463 1061.4872
2007 Tartozékok 275794.8403 4756.6546
76494758.25 527507.9262

A ISSUBTOTAL

A ISSUBTOTALsegítségével létrehozhat egy másik oszlopot a SUMMARIZE kifejezésben, amely Igaz értéket ad vissza, ha a sor a ISSUBTOTALargumentumaként megadott oszlop részösszegértékeit tartalmazza, ellenkező esetben hamis értéket ad vissza. ISSUBTOTAL csak egy SUMMARIZE kifejezésben használható.

Példa

Az alábbi minta egy ISSUBTOTAL oszlopot hoz létre az adott SUMMARIZE függvényhívás minden egyes ROLLUP oszlopához:

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])
)

A következő táblázatot adja vissza:

[A DateTimeCalendarYear részösszege] [A ProductCategoryName alösszege] DateTime[CalendarYear] ProductCategory[ProductCategoryName] [Értékesítési összeg (USD)] [Kedvezmény összege (USD)]
FALSE FALSE
FALSE FALSE 2008 Kerékpárok 12968255.42 36167.6592
FALSE FALSE 2005 Kerékpárok 6958251.043 4231.1621
FALSE FALSE 2006 Kerékpárok 18901351.08 178175.8399
FALSE FALSE 2007 Kerékpárok 24256817.5 276065.992
FALSE FALSE 2008 Összetevők 2008052.706 39.9266
FALSE FALSE 2005 Összetevők 574256.9865 0
FALSE FALSE 2006 Összetevők 3428213.05 948.7674
FALSE FALSE 2007 Összetevők 5195315.216 4226.0444
FALSE FALSE 2008 Clothing 366507.844 4151.1235
FALSE FALSE 2005 Clothing 31851.1628 90.9593
FALSE FALSE 2006 Clothing 455730.9729 4233.039
FALSE FALSE 2007 Clothing 815853.2868 12489.3835
FALSE FALSE 2008 Tartozékok 153299.924 865.5945
FALSE FALSE 2005 Tartozékok 18594.4782 4.293
FALSE FALSE 2006 Tartozékok 86612.7463 1061.4872
FALSE FALSE 2007 Tartozékok 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