SUMMARIZE
A következőkre vonatkozik:Számított oszlop
Számított tábla
Mérték
Vizualizá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 atable
kapcsoló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 |