Sdílet prostřednictvím


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

SUMMARIZECOLUMNS