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])
)
)
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 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 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.