SUMMARIZE
Vzťahuje sa na:vypočítaný stĺpec
vypočítanej tabuľky
vizuálového výpočtu
Vráti súhrnnú tabuľku pre požadované súčty množiny skupín.
Syntax
SUMMARIZE (<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)
Parametre
Obdobie | Definícia |
---|---|
table |
Akýkoľvek výraz DAX, ktorý vráti tabuľku údajov. |
groupBy_ColumnName |
(Voliteľné) Kvalifikovaný názov existujúceho stĺpca, ktorý sa použije na vytvorenie súhrnných skupín na základe hodnôt, ktoré sa v ňom nachádzajú. Tento parameter nemôže byť výraz. |
name |
Názov zadaný pre stĺpec so súčtom alebo súhrnom, ktorý je uzavretý v dvojitých úvodzovkách. |
expression |
Akýkoľvek DAX výraz, ktorý vráti jednu skalárnu hodnotu, pričom výraz sa má vyhodnotiť viackrát (pre každý riadok alebo kontext). |
Vrátená hodnota
Tabuľka s vybratými stĺpcami pre groupBy_columnName
argumenty a súhrnné stĺpce označené argumentmi názvov.
Poznámky
Každý stĺpec, pre ktorý definujete názov, musí mať zodpovedajúci výraz; V opačnom prípade sa vráti chyba. Prvý argument (name) definuje názov stĺpca vo výsledkoch. Druhý argument (expression) definuje výpočet vykonaný na získanie hodnoty pre každý riadok v danom stĺpci.
groupBy_columnName musí byť buď v
table
, alebo v súvisiacej tabuľke natable
.Každý názov musí byť uzavretý v dvojitých úvodzovkách.
Funkcia zoskupí vybratú množinu riadkov do množiny riadkov súhrnu podľa hodnôt jedného alebo viacerých groupBy_columnName stĺpcov. Pre každú skupinu sa vráti jeden riadok.
Táto funkcia nie je podporovaná na použitie v režime DirectQuery, keď sa používa vo vypočítaných stĺpcoch alebo v pravidlách zabezpečenia na úrovni riadkov (RLS).
Príklad
V nasledujúcom príklade sa vráti súhrn predaja predajcu zoskupený podľa kalendárneho roka a názvu kategórie produktu. Táto tabuľka výsledkov vám umožňuje analyzovať predaj predajcu podľa rokov a kategórií produktov.
SUMMARIZE(ResellerSales_USD
, DateTime[CalendarYear]
, ProductCategory[ProductCategoryName]
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
Nasledujúca tabuľka zobrazuje ukážku údajov tak, ako by ich prijala akákoľvek funkcia, ktorá očakáva prijatie tabuľky:
DateTime[KalendárnyRok] | ProductCategory[NázovKategórieProduktov] | [Sales Amount (USD)] | [Discount Amount (USD)] |
---|---|---|---|
2008 | Bicykle | 12968255.42 | 36167.6592 |
2005 | Bicykle | 6958251.043 | 4231.1621 |
2006 | Bicykle | 18901351.08 | 178175.8399 |
2007 | Bicykle | 24256817.5 | 276065.992 |
2008 | Súčasti | 2008052.706 | 39.9266 |
2005 | Súčasti | 574256.9865 | 0 |
2006 | Súčasti | 3428213.05 | 948.7674 |
2007 | Súčasti | 5195315.216 | 4226.0444 |
2008 | Oblečenie | 366507.844 | 4151.1235 |
2005 | Oblečenie | 31851.1628 | 90.9593 |
2006 | Oblečenie | 455730.9729 | 4233.039 |
2007 | Oblečenie | 815853.2868 | 12489.3835 |
2008 | Príslušenstvo | 153299.924 | 865.5945 |
2005 | Príslušenstvo | 18594.4782 | 4.293 |
2006 | Príslušenstvo | 86612.7463 | 1061.4872 |
2007 | Príslušenstvo | 275794.8403 | 4756.6546 |
S ROLLUP
Pridaním syntaxe funkcie ROLLUP sa zmení správanie funkcie SUMMARIZE tým, že sa do výsledku pridajú riadky súhrnu v stĺpcoch groupBy_columnName. ROLLUP možno použiť iba v rámci výrazu SUMMARIZE.
Príklad
Nasledujúci príklad pridá riadky súhrnu do Group-By stĺpcov volania funkcie SUMMARIZE:
SUMMARIZE(ResellerSales_USD
, ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
Vráti nasledujúcu tabuľku,
DateTime[KalendárnyRok] | ProductCategory[NázovKategórieProduktov] | [Sales Amount (USD)] | [Discount Amount (USD)] |
---|---|---|---|
2008 | Bicykle | 12968255.42 | 36167.6592 |
2005 | Bicykle | 6958251.043 | 4231.1621 |
2006 | Bicykle | 18901351.08 | 178175.8399 |
2007 | Bicykle | 24256817.5 | 276065.992 |
2008 | Súčasti | 2008052.706 | 39.9266 |
2005 | Súčasti | 574256.9865 | 0 |
2006 | Súčasti | 3428213.05 | 948.7674 |
2007 | Súčasti | 5195315.216 | 4226.0444 |
2008 | Oblečenie | 366507.844 | 4151.1235 |
2005 | Oblečenie | 31851.1628 | 90.9593 |
2006 | Oblečenie | 455730.9729 | 4233.039 |
2007 | Oblečenie | 815853.2868 | 12489.3835 |
2008 | Príslušenstvo | 153299.924 | 865.5945 |
2005 | Príslušenstvo | 18594.4782 | 4.293 |
2006 | Príslušenstvo | 86612.7463 | 1061.4872 |
2007 | Príslušenstvo | 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 |
S ROLLUPGROUP
Pridanie ROLLUPGROUP do syntaxe ROLLUP možno použiť na zamedzenie čiastočných medzisúčtov v riadkoch súhrnu. ROLLUPGROUP možno použiť iba v rámci výrazu ROLLUP, ROLLUPADDISSUBTOTALalebo ROLLUPISSUBTOTAL.
Príklad
Nasledujúci príklad zobrazuje iba celkový súčet všetkých rokov a kategórií bez medzisúčtu každého roka so všetkými kategóriami:
SUMMARIZE(ResellerSales_USD
, ROLLUP(ROLLUPGROUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName]))
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
Vráti nasledujúcu tabuľku,
DateTime[KalendárnyRok] | ProductCategory[NázovKategórieProduktov] | [Sales Amount (USD)] | [Discount Amount (USD)] |
---|---|---|---|
2008 | Bicykle | 12968255.42 | 36167.6592 |
2005 | Bicykle | 6958251.043 | 4231.1621 |
2006 | Bicykle | 18901351.08 | 178175.8399 |
2007 | Bicykle | 24256817.5 | 276065.992 |
2008 | Súčasti | 2008052.706 | 39.9266 |
2005 | Súčasti | 574256.9865 | 0 |
2006 | Súčasti | 3428213.05 | 948.7674 |
2007 | Súčasti | 5195315.216 | 4226.0444 |
2008 | Oblečenie | 366507.844 | 4151.1235 |
2005 | Oblečenie | 31851.1628 | 90.9593 |
2006 | Oblečenie | 455730.9729 | 4233.039 |
2007 | Oblečenie | 815853.2868 | 12489.3835 |
2008 | Príslušenstvo | 153299.924 | 865.5945 |
2005 | Príslušenstvo | 18594.4782 | 4.293 |
2006 | Príslušenstvo | 86612.7463 | 1061.4872 |
2007 | Príslušenstvo | 275794.8403 | 4756.6546 |
76494758.25 | 527507.9262 |
S ISSUBTOTAL
Pomocou ISSUBTOTALmôžete vytvoriť vo výraze SUMMARIZE ďalší stĺpec, ktorý vráti hodnotu True, ak riadok obsahuje čiastkové hodnoty pre stĺpec zadaný ako argument na ISSUBTOTAL, v opačnom prípade vráti hodnotu False. ISSUBTOTAL možno použiť iba v rámci výrazu SUMMARIZE.
Príklad
Nasledujúca ukážka vygeneruje stĺpec ISSUBTOTAL pre každý zo stĺpcov ROLLUP v danom volaní funkcie SUMMARIZE:
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])
)
Vráti nasledujúcu tabuľku,
[Is Sub Total for DateTimeCalendarYear] | [Is Sub Total for ProductCategoryName] | DateTime[KalendárnyRok] | ProductCategory[NázovKategórieProduktov] | [Sales Amount (USD)] | [Discount Amount (USD)] |
---|---|---|---|---|---|
FALSE |
FALSE |
||||
FALSE |
FALSE |
2008 | Bicykle | 12968255.42 | 36167.6592 |
FALSE |
FALSE |
2005 | Bicykle | 6958251.043 | 4231.1621 |
FALSE |
FALSE |
2006 | Bicykle | 18901351.08 | 178175.8399 |
FALSE |
FALSE |
2007 | Bicykle | 24256817.5 | 276065.992 |
FALSE |
FALSE |
2008 | Súčasti | 2008052.706 | 39.9266 |
FALSE |
FALSE |
2005 | Súčasti | 574256.9865 | 0 |
FALSE |
FALSE |
2006 | Súčasti | 3428213.05 | 948.7674 |
FALSE |
FALSE |
2007 | Súčasti | 5195315.216 | 4226.0444 |
FALSE |
FALSE |
2008 | Oblečenie | 366507.844 | 4151.1235 |
FALSE |
FALSE |
2005 | Oblečenie | 31851.1628 | 90.9593 |
FALSE |
FALSE |
2006 | Oblečenie | 455730.9729 | 4233.039 |
FALSE |
FALSE |
2007 | Oblečenie | 815853.2868 | 12489.3835 |
FALSE |
FALSE |
2008 | Príslušenstvo | 153299.924 | 865.5945 |
FALSE |
FALSE |
2005 | Príslušenstvo | 18594.4782 | 4.293 |
FALSE |
FALSE |
2006 | Príslušenstvo | 86612.7463 | 1061.4872 |
FALSE |
FALSE |
2007 | Príslušenstvo | 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 |