Udostępnij za pośrednictwem


PODSUMOWAĆ

Dotyczy: Obliczanie kolumny obliczeniowej tabeli Obliczeniowej Obliczenie wizualizacji

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 języka DAX zwracające tabelę danych.
groupBy_ColumnName (Opcjonalnie) Kwalifikowana nazwa istniejącej kolumny używanej do tworzenia grup podsumowania na podstawie znalezionych w nim wartości. Ten parametr nie może być wyrażeniem.
name Nazwa nadana kolumnie sumy lub podsumowania ujęta w cudzysłów.
wyrażenie Dowolne wyrażenie języka DAX zwracające pojedynczą wartość skalarną, gdzie wyrażenie ma być obliczane wiele razy (dla każdego wiersza/kontekstu).

Wartość zwracana

Tabela z wybranymi kolumnami dla argumentów groupBy_columnName i podsumowanymi kolumnami zaprojektowanymi przez argumenty nazw.

Uwagi

  • Każda kolumna, dla której definiujesz nazwę, musi mieć odpowiednie wyrażenie; w przeciwnym razie zwracany jest błąd. Pierwszy argument, name, definiuje nazwę kolumny w wynikach. Drugi argument, wyrażenie, definiuje obliczenia wykonywane w celu uzyskania wartości dla każdego wiersza w tej kolumnie.

  • groupBy_columnName musi znajdować się w tabeli lub w powiązanej tabeli z tabelą.

  • Każda nazwa musi być ujęta w znaki podwójnego cudzysłowu.

  • Funkcja grupuje wybrany zestaw wierszy w zestaw wierszy podsumowania według wartości co najmniej jednej groupBy_columnName kolumn. Jeden wiersz jest zwracany dla każdej grupy.

  • Ta funkcja nie jest obsługiwana w trybie DirectQuery w przypadku użycia w kolumnach obliczeniowych lub regułach zabezpieczeń na poziomie wiersza.

Przykład

Poniższy przykład zwraca podsumowanie sprzedaży odsprzedawcy pogrupowane w całym roku kalendarzowym i nazwę kategorii produktów. Ta tabela wyników umożliwia analizę sprzedaży odsprzedawcy według roku i kategorii produktów.

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, który byłby odbierany 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 funkcją ROLLUP

Dodanie składni ROLLUP modyfikuje zachowanie funkcji SUMMARIZE, dodając wiersze zestawienia do wyniku w kolumnach groupBy_columnName. Funkcja ROLLUP może być używana tylko w wyrażeniu SUMMARIZE.

Przykład

Poniższy przykład dodaje wiersze zestawienia do kolumn Grupuj według 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 funkcją ROLLUPGROUP

Dodanie funkcji ROLLUPGROUP wewnątrz składni ROLLUP może służyć do zapobiegania częściowym sumom częściowym w wierszach zestawienia. FUNKCJI ROLLUPGROUP można używać tylko w wyrażeniu ROLLUP, ROLLUPADDISSUBTOTAL lub ROLLUPISSUBTOTAL .

Przykład

W poniższym przykładzie przedstawiono tylko sumę końcową wszystkich lat i kategorii bez sumy częściowej każdego roku ze wszystkimi kategoriami:

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ą funkcji ISSUBTOTAL możesz utworzyć kolejną kolumnę w wyrażeniu SUMMARIZE, która zwraca wartość True, jeśli wiersz zawiera wartości sumy częściowej dla kolumny podanej jako argument isSUBTOTAL, w przeciwnym razie zwraca wartość False. IsSUBTOTAL można używać tylko w wyrażeniu SUMMARIZE.

Przykład

Poniższy przykład 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)]
FAŁSZ FAŁSZ
FAŁSZ FAŁSZ 2008 Rowery 12968255.42 36167.6592
FAŁSZ FAŁSZ 2005 Rowery 6958251.043 4231.1621
FAŁSZ FAŁSZ 2006 Rowery 18901351.08 178175.8399
FAŁSZ FAŁSZ 2007 Rowery 24256817.5 276065.992
FAŁSZ FAŁSZ 2008 Składniki 2008052.706 39.9266
FAŁSZ FAŁSZ 2005 Składniki 574256.9865 0
FAŁSZ FAŁSZ 2006 Składniki 3428213.05 948.7674
FAŁSZ FAŁSZ 2007 Składniki 5195315.216 4226.0444
FAŁSZ FAŁSZ 2008 Odzież 366507.844 4151.1235
FAŁSZ FAŁSZ 2005 Odzież 31851.1628 90.9593
FAŁSZ FAŁSZ 2006 Odzież 455730.9729 4233.039
FAŁSZ FAŁSZ 2007 Odzież 815853.2868 12489.3835
FAŁSZ FAŁSZ 2008 Akcesoria 153299.924 865.5945
FAŁSZ FAŁSZ 2005 Akcesoria 18594.4782 4.293
FAŁSZ FAŁSZ 2006 Akcesoria 86612.7463 1061.4872
FAŁSZ FAŁSZ 2007 Akcesoria 275794.8403 4756.6546
FAŁSZ PRAWDA
FAŁSZ PRAWDA 2008 15496115.89 41224.3038
FAŁSZ PRAWDA 2005 7582953.67 4326.4144
FAŁSZ PRAWDA 2006 22871907.85 184419.1335
FAŁSZ PRAWDA 2007 30543780.84 297538.0745
PRAWDA PRAWDA 76494758.25 527507.9262

SUMMARIZECOLUMNS