SUMMARIZE
platí pro:Počítaný sloupec
Počítaná tabulka
míra
vizuální
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. |
expression |
Libovolný výraz DAX, který vrací jednu skalární hodnotu, kde se má výraz vyhodnotit vícekrát (pro každý řádek nebo kontext). |
Návratová 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 buď v
table
, nebo v související tabulcetable
.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 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. ROLLUP lze použít pouze ve výrazu SUMMARIZE.
Příklad
Následující příklad přidá souhrnné řádky do Group-By sloupců volání SUMMARIZE funkce:
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 ROLLUPGROUP
Přidání 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, ROLLUPADDISSUBTOTALnebo 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 ISSUBTOTAL
Pomocí ISSUBTOTALmůž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, v opačném případě vrátí hodnotu False. ISSUBTOTAL lze 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 |