SUMMARIZE
Gilt für:Berechnete SpalteBerechnete TabelleMeasureVisuelle Berechnung
Gibt eine Zusammenfassungstabelle für die angeforderten Gesamtsummen über Gruppensätze zurück.
Syntax
SUMMARIZE (<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)
Parameter
Begriff | Definition |
---|---|
table | Ein DAX-Ausdruck, der eine Tabelle mit Daten zurückgibt. |
groupBy_ColumnName | Optional: Dies ist der qualifizierte Name einer vorhandenen Spalte, der verwendet wird, um Zusammenfassungsgruppen basierend auf den in ihr gefundenen Werten zu erstellen. Bei diesem Parameter darf es sich nicht um einen Ausdruck handeln. |
name | Der für eine Gesamtspalt oder zusammengefasste Spalte angegebene Name, in doppelte Anführungszeichen eingeschlossen. |
expression | Ein DAX-Ausdruck, der einen einzelnen Skalarwert zurückgibt, bei dem der Ausdruck mehrmals ausgewertet wird (für jede Zeile/jeden Kontext). |
Rückgabewert
Eine Tabelle mit den ausgewählten Spalten für die groupBy_columnName-Argumente und die zusammengefassten Spalten, die durch die Namensargumente festgelegt werden.
Bemerkungen
Für jede Spalte, für die Sie einen Namen definieren, muss ein entsprechender Ausdruck vorhanden sein, da andernfalls ein Fehler zurückgegeben wird. Das erste Argument („name“) definiert den Namen der Spalte in den Ergebnissen. Das zweite Argument („expression“) definiert die Berechnung, die durchgeführt wird, um den Wert für die einzelnen Zeilen in dieser Spalte abzurufen.
„groupBy_columnName“ muss in der Tabelle oder in einer zur Tabelle gehörigen Tabelle vorhanden sein.
Jeder Name muss in doppelte Anführungszeichen gesetzt werden.
Die Funktion gruppiert einen ausgewählten Zeilensatz durch den Wert von mindestens einer „groupBy_columnName“-Spalte in einen Satz Zusammenfassungszeilen. Für jede Gruppe wird eine Zeile zurückgegeben.
Die Verwendung dieser Funktion im DirectQuery-Modus wird nicht unterstützt, wenn sie in berechneten Spalten oder RLS-Regeln (Row-Level Security) eingesetzt wird.
Beispiel
Das folgende Beispiel liefert eine Zusammenfassung der Handelspartnerverkäufe, die um das Kalenderjahr und den Produktkategorienamen gruppiert sind. Diese Ergebnistabelle ermöglicht es Ihnen, eine Analyse der Handelspartnerverkäufe nach Jahr und Produktkategorie durchzuführen.
SUMMARIZE(ResellerSales_USD
, DateTime[CalendarYear]
, ProductCategory[ProductCategoryName]
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
Die folgende Tabelle zeigt eine Vorschau der Daten, wie sie von jeder Funktion empfangen werden, die eine Tabelle erwartet:
DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Sales Amount (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 | Komponenten | 2008052.706 | 39.9266 |
2005 | Komponenten | 574256.9865 | 0 |
2006 | Komponenten | 3428213.05 | 948.7674 |
2007 | Komponenten | 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 |
Mit ROLLUP
Durch das Hinzufügen der ROLLUP-Syntax ändert sich das Verhalten der SUMMARIZE-Funktion, indem dem Ergebnis basierend auf den „groupBy_columnName“-Spalten Rollupzeilen hinzugefügt werden. ROLLUP kann nur in einem SUMMARIZE-Ausdruck verwendet werden.
Beispiel
Im folgenden Beispiel werden den GroupBy-Spalten des SUMMARIZE-Funktionsaufrufs Rollupzeilen hinzugefügt:
SUMMARIZE(ResellerSales_USD
, ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
Die folgende Tabelle wird zurückgegeben:
DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Sales Amount (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 | Komponenten | 2008052.706 | 39.9266 |
2005 | Komponenten | 574256.9865 | 0 |
2006 | Komponenten | 3428213.05 | 948.7674 |
2007 | Komponenten | 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 |
Mit ROLLUPGROUP
Das Hinzufügen von ROLLUPGROUP innerhalb einer ROLLUP-Syntax kann verwendet werden, um Teilergebnisse in Rollupzeilen zu vermeiden. ROLLUPGROUP kann nur innerhalb eines ROLLUP-, ROLLUPADDISSUBTOTAL- oder ROLLUPISSUBTOTAL-Ausdrucks verwendet werden.
Beispiel
Das folgende Beispiel zeigt nur die Gesamtsumme aller Jahre und Kategorien ohne die Teilergebnisse der einzelnen Jahre mit allen Kategorien:
SUMMARIZE(ResellerSales_USD
, ROLLUP(ROLLUPGROUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName]))
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
Die folgende Tabelle wird zurückgegeben:
DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Sales Amount (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 | Komponenten | 2008052.706 | 39.9266 |
2005 | Komponenten | 574256.9865 | 0 |
2006 | Komponenten | 3428213.05 | 948.7674 |
2007 | Komponenten | 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 |
Mit ISSUBTOTAL
Mit ISSUBTOTAL können Sie im SUMMARIZE-Ausdruck eine weitere Spalte erstellen, die TRUE zurückgibt, wenn die Zeile Zwischensummenwerte für die als Argument an ISSUBTOTAL übergebene Spalte enthält, andernfalls FALSE. ISSUBTOTAL kann nur in einem SUMMARIZE-Ausdruck verwendet werden.
Beispiel
Das folgende Beispiel generiert eine ISSUBTOTAL-Spalte für jede ROLLUP-Spalte im angegebenen SUMMARIZE-Funktionsaufruf:
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])
)
Die folgende Tabelle wird zurückgegeben:
[Is Sub Total for DateTimeCalendarYear] | [Is Sub Total for ProductCategoryName] | DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Sales Amount (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 | Komponenten | 2008052.706 | 39.9266 |
false | false | 2005 | Komponenten | 574256.9865 | 0 |
false | false | 2006 | Komponenten | 3428213.05 | 948.7674 |
false | false | 2007 | Komponenten | 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 |