Del via


GENERATE

gjelder:beregnet kolonneberegnet tabellMeasurevisualobjektberegning

Returnerer en tabell med kartesisk product mellom hver rad i tabell1and tabellen som kommer av å evaluere tabell2 i konteksten til gjeldende rad fra tabell1.

Syntaks

GENERATE(<table1>, <table2>)

Parametere

Vilkår Definisjon
table1 Alle DAX uttrykk som returnerer en tabell.
table2 Alle DAX uttrykk som returnerer en tabell.

Returner value

En tabell med kartesisk product mellom hver rad i tabell1and tabellen som kommer av evaluering av tabell2 i konteksten til gjeldende rad fra tabell1

Merknader

  • If evalueringen av tabell2 for gjeldende rad i tabell1 returnerer en tom tabell, vil resultattabellen not inneholde gjeldende rad fra tabell1. Dette er forskjellig fra GENERATEALL() der gjeldende rad fra tabell1 inkluderes i resultatene and kolonner som tilsvarer tabell2 vil ha null values for denne raden.

  • All kolonnenavn fra tabell1andtabell2 må være forskjellige or en error returneres.

  • Denne funksjonen støttes not for bruk i DirectQuery-modus når den brukes i beregnede kolonner or regler for sikkerhet på radnivå (RLS).

Eksempel

I eksemplet nedenfor ønsker brukeren en sammendragstabell over salg etter område andProduct kategori for forhandlerkanalen, for eksempel følgende tabell:

SalesTerritory[SalesTerritoryGroup] ProductCategory[ProductCategoryName] [Forhandlersalg]
Europa Tilbehør $ 142,227.27
Europa Sykler $ 9 970 200,44
Europa Klær $ 365,847.63
Europa Komponenter $ 2 214 440,19
Nord-Amerika Tilbehør $ 379,305.15
Nord-Amerika Sykler $ 52 403 796,85
Nord-Amerika Klær $ 1,281,193.26
Nord-Amerika Komponenter $ 8882 848,05
Fredelig Tilbehør $ 12 769,57
Fredelig Sykler $ 710,677.75
Fredelig Klær $ 22 902,38
Fredelig Komponenter $ 108 549,71

Følgende formel produserer tabellen ovenfor:

GENERATE(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory 
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
  1. Den firstSUMMARIZE setningen, SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup]), produserer en tabell med distriktsgrupper, der hver rad er en distriktsgruppe, som vist nedenfor:

    SalesTerritory[SalesTerritoryGroup]
    Nord-Amerika
    Europa
    Fredelig
    NA
  2. Den secondSUMMARIZE setningen, SUMMARIZE(ProductCategory, [ProductCategoryName], "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])), produserer en tabell med Product kategorigrupper med forhandlersalg for hver gruppe, som vist nedenfor:

    ProductCategory[ProductCategoryName] [Forhandlersalg]
    Sykler $ 63,084,675.04
    Komponenter $ 11 205 837,96
    Klær $ 1 669 943,27
    Tilbehør $ 534,301.99
  3. Når du imidlertid tar tabellen ovenfor andevaluate den under konteksten for hver rad fra tabellen distriktsgrupper, får du forskjellige resultater for hvert distrikt.