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 |