Freigeben über


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 beliebiger DAX Ausdruck, der eine Datentabelle zurückgibt.
groupBy_ColumnName (Optional) Der qualifizierte Name einer vorhandenen Spalte, die zum Erstellen von Sammelgruppen basierend auf den darin enthaltenen Werten verwendet wird. Bei diesem Parameter darf es sich nicht um einen Ausdruck handeln.
name Der Name, der einer Summen- oder Zusammenfassungsspalte zugeordnet ist und in doppelte Anführungszeichen gesetzt ist.
expression Jeder DAX Ausdruck, der einen einzelnen skalaren Wert zurückgibt, wobei der Ausdruck mehrmals ausgewertet werden soll (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 von den Namensargumenten entworfen wurden.

Bemerkungen

  • Jede Spalte, für die Sie einen Namen definieren, muss über einen entsprechenden Ausdruck verfügen. andernfalls wird ein Fehler zurückgegeben. Das erste Argument, name, definiert den Namen der Spalte in den Ergebnissen. Das zweite Argument, Ausdruck, definiert die Berechnung, die zum Abrufen des Werts für jede Zeile in dieser Spalte ausgeführt wurde.

  • groupBy_columnName müssen sich entweder in table oder in einer verknüpften Tabelle mit tablebefinden.

  • Jeder Name muss in doppelte Anführungszeichen gesetzt werden.

  • Die Funktion gruppiert einen ausgewählten Satz von Zeilen in eine Gruppe von Sammelzeilen nach den Werten einer oder mehrerer groupBy_columnName Spalten. Für jede Gruppe wird eine Zeile zurückgegeben.

  • Diese Funktion wird für die Verwendung im DirectQuery-Modus nicht unterstützt, wenn sie in berechneten Spalten oder Sicherheitsregeln auf Zeilenebene (RLS) verwendet wird.

Beispiel

Im folgenden Beispiel wird eine Zusammenfassung der Vertriebsmitarbeiter zurückgegeben, die um das Kalenderjahr und den Produktkategorienamen gruppiert sind. Diese Ergebnistabelle ermöglicht es Ihnen, die Vertriebsumsätze nach Jahr und Produktkategorie zu analysieren.

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, da sie von jeder Funktion empfangen wird, die eine Tabelle empfängt:

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

Das Hinzufügen der ROLLUP syntax ändert das Verhalten der SUMMARIZE-Funktion, indem Rollupzeilen zum Ergebnis der groupBy_columnName Spalten hinzugefügt werden. ROLLUP kann nur innerhalb eines SUMMARIZE Ausdrucks verwendet werden.

Beispiel

Im folgenden Beispiel werden den Group-By 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 in einer ROLLUP-Syntax kann verwendet werden, um Teilergebnisse in Rollupzeilen zu verhindern. ROLLUPGROUP können nur innerhalb eines ROLLUP, ROLLUPADDISSUBTOTALoder ROLLUPISSUBTOTAL Ausdrucks verwendet werden.

Beispiel

Das folgende Beispiel zeigt nur die Gesamtsumme aller Jahre und Kategorien ohne das Teilergebnis jedes Jahres 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 ISSUBTOTALkönnen Sie eine weitere Spalte im SUMMARIZE Ausdruck erstellen, der True zurückgibt, wenn die Zeile Teilergebniswerte für die Spalte enthält, die als Argument für ISSUBTOTALangegeben wird, andernfalls "False" zurück. ISSUBTOTAL kann nur innerhalb eines SUMMARIZE Ausdrucks verwendet werden.

Beispiel

Im folgenden Beispiel wird eine ISSUBTOTAL Spalte für jede der ROLLUP Spalten im angegebenen SUMMARIZE Funktionsaufruf generiert:

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

SUMMARIZECOLUMNS