GENERATE
Gilt für:Berechnete SpalteBerechnete TabelleMeasureVisuelle Berechnung
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
GENERATE(<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, enthält die Ergebnistabelle nicht die aktuelle Zeile aus table1. Dies ist anders als bei der GENERATEALL()-Funktion, bei der die aktuelle Zeile aus table1 in die Ergebnisse einbezogen wird und Spalten, die table2 entsprechen, NULL-Werte für diese Zeile aufweisen.
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 Umsätze 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 |
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:
GENERATE(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
Die erste SUMMARIZE-Anweisung (
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
) erzeugt eine Tabelle mit den Gebietsgruppen, wobei jede Zeile eine Gebietsgruppe enthält (siehe unten):SalesTerritory[SalesTerritoryGroup] Nordamerika Europa Pacific Nicht verfügbar Die zweite SUMMARIZE-Anweisung (
SUMMARIZE(ProductCategory, [ProductCategoryName], "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD]))
) erzeugt eine Tabelle mit Produktkategoriegruppen und Wiederverkäuferumsätzen für jede Gruppe (siehe unten):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 Wenn Sie jedoch die obige Tabelle nehmen und sie im Kontext jeder Zeile in der Tabelle der Gebietsgruppen auswerten, erhalten Sie für jedes Gebiet andere Ergebnisse.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für