SUMMARIZE
Dotyczy:kolumna obliczeniowatabela obliczeniowaMeasureobliczenia wizualne
Zwraca tabelę podsumowania dla żądanych sum w zestawie grup.
Składnia
SUMMARIZE (<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)
Parametry
Termin | Definicja |
---|---|
table |
Dowolne wyrażenie DAX zwracające tabelę danych. |
groupBy_ColumnName |
(Opcjonalnie) Kwalifikowana nazwa istniejącej kolumny używanej do tworzenia grup podsumowania na podstawie values znalezionych w niej. Ten parametr nie może być wyrażeniem. |
name |
Nazwa podana łącznej kolumnie orsummarize, ujęta w cudzysłowy. |
expression |
Każde wyrażenie DAX zwracające jeden valueskalarny , gdzie wyrażenie ma być obliczane wiele razy (dla każdego wiersza/kontekstu). |
Zwracanie value
Tabela z wybranymi kolumnami argumentów groupBy_columnName
and kolumn podsumowanych zaprojektowanych przez argumenty nazw.
Uwagi
Każda kolumna, dla której define nazwa musi mieć odpowiednie wyrażenie; w przeciwnym razie zostanie zwrócony error. Argument first, name, definiuje nazwę kolumny w wynikach. Argument second wyrażenie definiuje obliczenia wykonywane w celu uzyskania value dla każdego wiersza w tej kolumnie.
groupBy_columnName musi znajdować się w
table
or w tabeli related, abytable
.Każda nazwa musi być ujęta w znaki podwójnego cudzysłowu.
Funkcja grupuje wybrany zestaw wierszy w zestaw wierszy podsumowania według values jednej or więcej kolumn groupBy_columnName. Jeden wiersz jest zwracany dla każdej grupy.
Ta funkcja jest not obsługiwana do użycia w trybie DirectQuery w przypadku użycia w kolumnach obliczeniowych or reguł zabezpieczeń na poziomie wiersza.
Przykład
Poniższy przykład zwraca podsumowanie sprzedaży odsprzedawcy pogrupowane wokół calendaryearand nazwy kategorii product. Ta tabela wyników umożliwia analizę sprzedaży odsprzedawcy według yearandproduct kategorii.
SUMMARIZE(ResellerSales_USD
, DateTime[CalendarYear]
, ProductCategory[ProductCategoryName]
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
W poniższej tabeli przedstawiono podgląd danych, tak jak byłoby to received przez dowolną funkcję oczekującą otrzymania tabeli:
DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Kwota sprzedaży (USD)] | [Kwota rabatu (USD)] |
---|---|---|---|
2008 | Rowery | 12968255.42 | 36167.6592 |
2005 | Rowery | 6958251.043 | 4231.1621 |
2006 | Rowery | 18901351.08 | 178175.8399 |
2007 | Rowery | 24256817.5 | 276065.992 |
2008 | Składniki | 2008052.706 | 39.9266 |
2005 | Składniki | 574256.9865 | 0 |
2006 | Składniki | 3428213.05 | 948.7674 |
2007 | Składniki | 5195315.216 | 4226.0444 |
2008 | Odzież | 366507.844 | 4151.1235 |
2005 | Odzież | 31851.1628 | 90.9593 |
2006 | Odzież | 455730.9729 | 4233.039 |
2007 | Odzież | 815853.2868 | 12489.3835 |
2008 | Akcesoria | 153299.924 | 865.5945 |
2005 | Akcesoria | 18594.4782 | 4.293 |
2006 | Akcesoria | 86612.7463 | 1061.4872 |
2007 | Akcesoria | 275794.8403 | 4756.6546 |
Z ROLLUP
Dodanie składni ROLLUP modyfikuje zachowanie funkcji SUMMARIZE przez dodanie rollup wierszy do wyniku w kolumnach groupBy_columnName. ROLLUP można używać tylko w wyrażeniu SUMMARIZE.
Przykład
Poniższy przykład dodaje wiersze rollup do kolumn Group-By wywołania funkcji SUMMARIZE:
SUMMARIZE(ResellerSales_USD
, ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
Zwraca poniższą tabelę.
DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Kwota sprzedaży (USD)] | [Kwota rabatu (USD)] |
---|---|---|---|
2008 | Rowery | 12968255.42 | 36167.6592 |
2005 | Rowery | 6958251.043 | 4231.1621 |
2006 | Rowery | 18901351.08 | 178175.8399 |
2007 | Rowery | 24256817.5 | 276065.992 |
2008 | Składniki | 2008052.706 | 39.9266 |
2005 | Składniki | 574256.9865 | 0 |
2006 | Składniki | 3428213.05 | 948.7674 |
2007 | Składniki | 5195315.216 | 4226.0444 |
2008 | Odzież | 366507.844 | 4151.1235 |
2005 | Odzież | 31851.1628 | 90.9593 |
2006 | Odzież | 455730.9729 | 4233.039 |
2007 | Odzież | 815853.2868 | 12489.3835 |
2008 | Akcesoria | 153299.924 | 865.5945 |
2005 | Akcesoria | 18594.4782 | 4.293 |
2006 | Akcesoria | 86612.7463 | 1061.4872 |
2007 | Akcesoria | 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 |
Z ROLLUPGROUP
Dodanie ROLLUPGROUP wewnątrz składni ROLLUP może służyć do zapobiegania częściowym sumom częściowym w rollup wierszach. ROLLUPGROUP można używać tylko w wyrażeniu ROLLUP, ROLLUPADDISSUBTOTAL, orROLLUPISSUBTOTAL.
Przykład
W poniższym przykładzie przedstawiono tylko sumę końcową all lat and kategorii bez sumy częściowej każdej year z all kategorii:
SUMMARIZE(ResellerSales_USD
, ROLLUP(ROLLUPGROUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName]))
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
Zwraca poniższą tabelę.
DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Kwota sprzedaży (USD)] | [Kwota rabatu (USD)] |
---|---|---|---|
2008 | Rowery | 12968255.42 | 36167.6592 |
2005 | Rowery | 6958251.043 | 4231.1621 |
2006 | Rowery | 18901351.08 | 178175.8399 |
2007 | Rowery | 24256817.5 | 276065.992 |
2008 | Składniki | 2008052.706 | 39.9266 |
2005 | Składniki | 574256.9865 | 0 |
2006 | Składniki | 3428213.05 | 948.7674 |
2007 | Składniki | 5195315.216 | 4226.0444 |
2008 | Odzież | 366507.844 | 4151.1235 |
2005 | Odzież | 31851.1628 | 90.9593 |
2006 | Odzież | 455730.9729 | 4233.039 |
2007 | Odzież | 815853.2868 | 12489.3835 |
2008 | Akcesoria | 153299.924 | 865.5945 |
2005 | Akcesoria | 18594.4782 | 4.293 |
2006 | Akcesoria | 86612.7463 | 1061.4872 |
2007 | Akcesoria | 275794.8403 | 4756.6546 |
76494758.25 | 527507.9262 |
Z ISSUBTOTAL
Za pomocą ISSUBTOTALmożesz utworzyć kolejną kolumnę w wyrażeniu SUMMARIZE, które zwraca Trueif wiersza contains sumy częściowej values dla kolumny podanej jako argument do ISSUBTOTAL, w przeciwnym razie zwraca wartość False. ISSUBTOTAL można używać tylko w wyrażeniu SUMMARIZE.
Przykład
Poniższy sample generuje kolumnę ISSUBTOTAL dla każdej kolumny ROLLUP w danym wywołaniu funkcji 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])
)
Zwraca poniższą tabelę.
[Is Sub Total for DateTimeCalendarYear] | [Is Sub Total for ProductCategoryName ] | DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Kwota sprzedaży (USD)] | [Kwota rabatu (USD)] |
---|---|---|---|---|---|
FALSE |
FALSE |
||||
FALSE |
FALSE |
2008 | Rowery | 12968255.42 | 36167.6592 |
FALSE |
FALSE |
2005 | Rowery | 6958251.043 | 4231.1621 |
FALSE |
FALSE |
2006 | Rowery | 18901351.08 | 178175.8399 |
FALSE |
FALSE |
2007 | Rowery | 24256817.5 | 276065.992 |
FALSE |
FALSE |
2008 | Składniki | 2008052.706 | 39.9266 |
FALSE |
FALSE |
2005 | Składniki | 574256.9865 | 0 |
FALSE |
FALSE |
2006 | Składniki | 3428213.05 | 948.7674 |
FALSE |
FALSE |
2007 | Składniki | 5195315.216 | 4226.0444 |
FALSE |
FALSE |
2008 | Odzież | 366507.844 | 4151.1235 |
FALSE |
FALSE |
2005 | Odzież | 31851.1628 | 90.9593 |
FALSE |
FALSE |
2006 | Odzież | 455730.9729 | 4233.039 |
FALSE |
FALSE |
2007 | Odzież | 815853.2868 | 12489.3835 |
FALSE |
FALSE |
2008 | Akcesoria | 153299.924 | 865.5945 |
FALSE |
FALSE |
2005 | Akcesoria | 18594.4782 | 4.293 |
FALSE |
FALSE |
2006 | Akcesoria | 86612.7463 | 1061.4872 |
FALSE |
FALSE |
2007 | Akcesoria | 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 |