SHRNOUT
Platí pro: Výpočet počítané tabulky Počítaná tabulka Výpočet vizuálu
Vrátí souhrnnou tabulku požadovaných součtů v sadě skupin.
Syntaxe
SUMMARIZE (<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)
Parametry
Pojem | definice |
---|---|
table | Libovolný výraz DAX, který vrací tabulku dat. |
groupBy_ColumnName | (Volitelné) Kvalifikovaný název existujícího sloupce sloužícího k vytvoření souhrnných skupin na základě hodnot nalezených v něm. Tento parametr nemůže být výraz. |
name | Název zadaný do sloupce souhrnu nebo souhrnu uzavřený do dvojitých uvozovek. |
výraz | Libovolný výraz DAX, který vrací jednu skalární hodnotu, kde se má výraz vyhodnotit několikrát (pro každý řádek nebo kontext). |
Vrácená hodnota
Tabulka s vybranými sloupci pro argumenty groupBy_columnName a souhrnnými sloupci navrženými argumenty názvu.
Poznámky
Každý sloupec, pro který definujete název, musí mít odpovídající výraz; v opačném případě se vrátí chyba. První argument, název, definuje název sloupce ve výsledcích. Druhý argument, výraz, definuje výpočet provedený za účelem získání hodnoty pro každý řádek v daném sloupci.
groupBy_columnName musí být v tabulce nebo v související tabulce s tabulkou.
Každý název musí být uzavřený do uvozovek.
Funkce seskupí vybranou sadu řádků do sady souhrnných řádků podle hodnot jednoho nebo více groupBy_columnName sloupců. Pro každou skupinu se vrátí jeden řádek.
Tato funkce není podporována pro použití v režimu DirectQuery při použití v počítaných sloupcích nebo pravidlech zabezpečení na úrovni řádků (RLS).
Příklad
Následující příklad vrátí souhrn prodejů prodejců seskupených podle kalendářního roku a názvu kategorie produktu. Tato výsledná tabulka umožňuje provádět analýzu prodeje prodejců podle roku a kategorie produktů.
SUMMARIZE(ResellerSales_USD
, DateTime[CalendarYear]
, ProductCategory[ProductCategoryName]
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
Následující tabulka ukazuje náhled dat, protože by je přijala libovolná funkce, která očekává přijetí tabulky:
DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Částka prodeje (USD)] | [Discount Amount (USD)] |
---|---|---|---|
2008 | Bikes | 12968255.42 | 36167.6592 |
2005 | Bikes | 6958251.043 | 4231.1621 |
2006 | Bikes | 18901351.08 | 178175.8399 |
2007 | Bikes | 24256817.5 | 276065.992 |
2008 | Komponenty | 2008052.706 | 39.9266 |
2005 | Komponenty | 574256.9865 | 0 |
2006 | Komponenty | 3428213.05 | 948.7674 |
2007 | Komponenty | 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 | Accessories | 153299.924 | 865.5945 |
2005 | Accessories | 18594.4782 | 4.293 |
2006 | Accessories | 86612.7463 | 1061.4872 |
2007 | Accessories | 275794.8403 | 4756.6546 |
S funkcí ROLLUP
Přidání syntaxe ROLLUP upraví chování funkce SUMMARIZE přidáním souhrnných řádků do výsledku ve sloupcích groupBy_columnName. Funkci ROLLUP lze použít pouze ve výrazu SUMMARIZE.
Příklad
Následující příklad přidá souhrnné řádky do sloupců Group-By volání funkce 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átí následující tabulku:
DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Částka prodeje (USD)] | [Discount Amount (USD)] |
---|---|---|---|
2008 | Bikes | 12968255.42 | 36167.6592 |
2005 | Bikes | 6958251.043 | 4231.1621 |
2006 | Bikes | 18901351.08 | 178175.8399 |
2007 | Bikes | 24256817.5 | 276065.992 |
2008 | Komponenty | 2008052.706 | 39.9266 |
2005 | Komponenty | 574256.9865 | 0 |
2006 | Komponenty | 3428213.05 | 948.7674 |
2007 | Komponenty | 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 | Accessories | 153299.924 | 865.5945 |
2005 | Accessories | 18594.4782 | 4.293 |
2006 | Accessories | 86612.7463 | 1061.4872 |
2007 | Accessories | 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 funkcí ROLLUPGROUP
Přidání funkce ROLLUPGROUP uvnitř syntaxe ROLLUP lze použít k zabránění částečným mezisoučtům v souhrnných řádcích. ROLLUPGROUP lze použít pouze ve výrazu ROLLUP, ROLLUPADDISSUBTOTAL nebo ROLLUPISSUBTOTAL.
Příklad
Následující příklad ukazuje pouze celkový součet všech roků a kategorií bez mezisoučtu každého roku se všemi kategoriemi:
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átí následující tabulku:
DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Částka prodeje (USD)] | [Discount Amount (USD)] |
---|---|---|---|
2008 | Bikes | 12968255.42 | 36167.6592 |
2005 | Bikes | 6958251.043 | 4231.1621 |
2006 | Bikes | 18901351.08 | 178175.8399 |
2007 | Bikes | 24256817.5 | 276065.992 |
2008 | Komponenty | 2008052.706 | 39.9266 |
2005 | Komponenty | 574256.9865 | 0 |
2006 | Komponenty | 3428213.05 | 948.7674 |
2007 | Komponenty | 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 | Accessories | 153299.924 | 865.5945 |
2005 | Accessories | 18594.4782 | 4.293 |
2006 | Accessories | 86612.7463 | 1061.4872 |
2007 | Accessories | 275794.8403 | 4756.6546 |
76494758.25 | 527507.9262 |
S FUNKCEMI ISSUBTOTAL
Pomocí funkce ISSUBTOTAL můžete ve výrazu SUMMARIZE vytvořit další sloupec, který vrátí hodnotu True, pokud řádek obsahuje hodnoty mezisoučtu pro sloupec zadaný jako argument PRO ISSUBTOTAL, jinak vrátí hodnotu False. FUNKCE ISSUBTOTAL se dá použít pouze ve výrazu SUMMARIZE.
Příklad
Následující ukázka vygeneruje sloupec ISSUBTOTAL pro každý sloupec ROLLUP v daném volání funkce 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átí následující tabulku:
[Je dílčí součet pro DateTimeCalendarYear] | [Is Sub Total for ProductCategoryName] | DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Částka prodeje (USD)] | [Discount Amount (USD)] |
---|---|---|---|---|---|
FALSE | FALSE | ||||
FALSE | FALSE | 2008 | Bikes | 12968255.42 | 36167.6592 |
FALSE | FALSE | 2005 | Bikes | 6958251.043 | 4231.1621 |
FALSE | FALSE | 2006 | Bikes | 18901351.08 | 178175.8399 |
FALSE | FALSE | 2007 | Bikes | 24256817.5 | 276065.992 |
FALSE | FALSE | 2008 | Komponenty | 2008052.706 | 39.9266 |
FALSE | FALSE | 2005 | Komponenty | 574256.9865 | 0 |
FALSE | FALSE | 2006 | Komponenty | 3428213.05 | 948.7674 |
FALSE | FALSE | 2007 | Komponenty | 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 | Accessories | 153299.924 | 865.5945 |
FALSE | FALSE | 2005 | Accessories | 18594.4782 | 4.293 |
FALSE | FALSE | 2006 | Accessories | 86612.7463 | 1061.4872 |
FALSE | FALSE | 2007 | Accessories | 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 |