Freigeben über


GENERATEALL

Gilt für:berechnete Spaltenberechnete TabellenMeasuresvisuelle Berechnungen

Gibt eine Tabelle mit dem kartesischen Produkt zwischen jeder Zeile in table1 und der Tabelle zurück, die sich aus der Auswertung von table2 im Kontext der aktuellen Zeile aus table1 ergibt.

Syntax

GENERATEALL(<table1>, <table2>)  

Parameter

Begriff Definition
table1 DAX-Ausdruck, der eine Tabelle zurückgibt.
table2 DAX-Ausdruck, der eine Tabelle zurückgibt.

Rückgabewert

Eine Tabelle mit dem kartesischen Produkt zwischen jeder Zeile in table1 und der Tabelle, die sich aus der Auswertung von table2 im Kontext der aktuellen Zeile aus table1 ergibt

Bemerkungen

  • Wenn die Auswertung von table2 für die aktuelle Zeile in table1 eine leere Tabelle zurückgibt, dann wird die aktuelle Zeile aus table1 in die Ergebnisse einbezogen. Spalten, die table2 entsprechen, weisen für diese Zeile NULL-Werte auf. Dies ist anders als bei der GENERATE()-Funktion, bei der die aktuelle Zeile aus table1nicht in die Ergebnisse einbezogen wird.

  • Alle Spaltennamen von table1 und table2 müssen unterschiedlich sein, sonst wird ein Fehler 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

Im folgenden Beispiel möchte der Benutzer eine Übersichtstabelle der Verkäufe nach Region und Produktkategorie für den Kanal „Reseller“ anzeigen, wie in der folgenden Tabelle dargestellt:

SalesTerritory[SalesTerritoryGroup] ProductCategory[ProductCategoryName] [Reseller Sales]
Europa Accessories USD 142.227,27
Europa Bikes USD 9.970.200,44
Europa Clothing USD 365.847,63
Europa Komponenten USD 2.214.440,19
Nicht verfügbar Accessories
Nicht verfügbar Bikes
Nicht verfügbar Clothing
Nicht verfügbar Komponenten
Nordamerika Accessories USD 379.305,15
Nordamerika Bikes USD 52.403.796,85
Nordamerika Clothing USD 1.281.193,26
Nordamerika Komponenten USD 8,882,848.05
Pacific Accessories USD 12,769.57
Pacific Bikes USD 710.677,75
Pacific Clothing USD 22.902,38
Pacific Komponenten USD 108.549,71

Die folgende Formel erzeugt die oben angezeigte Tabelle:

GENERATEALL(  
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])  
,SUMMARIZE(ProductCategory
, [ProductCategoryName]  
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])  
)  
)  
  1. Der erste SUMMARIZE-Befehl erzeugt eine Tabelle mit den Gebietsgruppen, wobei jede Zeile eine Gebietsgruppe ist, wie unten aufgeführt:

    SalesTerritory[SalesTerritoryGroup]
    Nordamerika
    Europa
    Pacific
    Nicht verfügbar
  2. Der zweite SUMMARIZE-Befehl erzeugt eine Tabelle der Produktkategoriegruppen mit den Resellerverkäufen für jede Gruppe, wie unten gezeigt:

    ProductCategory[ProductCategoryName] [Reseller Sales]
    Bikes USD 63.084.675,04
    Komponenten USD 11.205.837,96
    Clothing USD 1.669.943,27
    Accessories USD 534.301,99
  3. Wenn Sie jedoch die obige Tabelle nehmen und die Tabelle im Kontext jeder Zeile aus der Tabelle der Gebietsgruppen auswerten, erhalten Sie für jedes Gebiet andere Ergebnisse.