Lezen in het Engels

Delen via


GENERATE

Van toepassing op:berekende kolomberekende tabelMeasureVisuele berekening

Retourneert een tabel met de Cartesische product tussen elke rij in tabel1and de tabel die het resultaat is van het evalueren van tabel2 in de context van de huidige rij uit tabel1.

Syntaxis

GENERATE(<table1>, <table2>)  

Parameters

Term Definitie
table1 Elke DAX-expressie die een tabel retourneert.
table2 Elke DAX-expressie die een tabel retourneert.

value retourneren

Een tabel met de Cartesische product tussen elke rij in tabel1and de tabel die het resultaat is van het evalueren van tabel2 in de context van de huidige rij uit tabel1

Opmerkingen

  • If de evaluatie van tabel2 voor de huidige rij in tabel1 een lege tabel retourneert, bevat de resultaattabel not de huidige rij uit tabel1. Dit is anders dan GENERATEALL() waarbij de huidige rij uit tabel1 wordt opgenomen in de resultaten and kolommen die overeenkomen met tabel2 null-values voor die rij heeft.

  • All kolomnamen uit tabel1andtabel2 moeten verschillen or een error wordt geretourneerd.

  • Deze functie wordt not ondersteund voor gebruik in de DirectQuery-modus wanneer deze wordt gebruikt in berekende kolommen or regels voor beveiliging op rijniveau (RLS).

Voorbeeld

In het volgende voorbeeld wil de gebruiker een overzichtstabel van de verkoop per regio andProduct Categorie voor het kanaal Resellers, zoals in de volgende tabel:

SalesTerritory[SalesTerritoryGroup] ProductCategory[ProductCategoryName] [Reseller Sales]
Europa Accessoires $ 142,227,27
Europa Fietsen $ 9.970.200,44
Europa Kleding $ 365.847,63
Europa Onderdelen $ 2.214.440,19
Noord-Amerika Accessoires $ 379,305,15
Noord-Amerika Fietsen $ 52.403.796,85
Noord-Amerika Kleding $ 1.281.193,26
Noord-Amerika Onderdelen $ 8.882.848,05
Stille Oceaan Accessoires $ 12.769,57
Stille Oceaan Fietsen $ 710.677,75
Stille Oceaan Kleding $ 22.902,38
Stille Oceaan Onderdelen $ 108.549,71

De volgende formule produceert de bovenstaande tabel:

GENERATE(  
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])  
,SUMMARIZE(ProductCategory   
, [ProductCategoryName]  
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])  
)  
)  
  1. De firstSUMMARIZE-instructie, SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup]), produceert een tabel met gebiedsgroepen, waarbij elke rij een gebiedsgroep is, zoals hieronder wordt weergegeven:

    SalesTerritory[SalesTerritoryGroup]
    Noord-Amerika
    Europa
    Stille Oceaan
    NA
  2. De secondSUMMARIZE-instructie, SUMMARIZE(ProductCategory, [ProductCategoryName], "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])), produceert een tabel met Product Categoriegroepen met de verkoop van wederverkopers voor elke groep, zoals hieronder wordt weergegeven:

    ProductCategory[ProductCategoryName] [Reseller Sales]
    Fietsen $ 63.084.675,04
    Onderdelen $ 11.205.837,96
    Kleding $ 1.669.943,27
    Accessoires $ 534.301,99
  3. Wanneer u de bovenstaande tabel echter andevaluate onder de context van elke rij uit de tabel gebiedsgroepen, krijgt u verschillende resultaten voor elk gebied.