Del via


GENERERE

Gjelder beregnet beregning av beregnet tabellfor beregnet kolonne

Returnerer en tabell med det kartesiske produktet mellom hver rad i tabell1 og tabellen som kommer av evaluering av tabell2 i konteksten til gjeldende rad fra tabell1.

Syntaks

GENERATE(<table1>, <table2>)  

Parametere

Term Definisjon
tabell1 Alle DAX-uttrykk som returnerer en tabell.
tabell2 Alle DAX-uttrykk som returnerer en tabell.

Returverdi

En tabell med det kartesiske produktet mellom hver rad i tabell1 og tabellen som kommer av evaluering av tabell2 i konteksten til gjeldende rad fra tabell1

Merknader

  • Hvis evalueringen av tabell2 for gjeldende rad i tabell1 returnerer en tom tabell, vil ikke resultattabellen inneholde gjeldende rad fra tabell1. Dette er annerledes enn GENERATEALL() der gjeldende rad fra tabell1 vil bli inkludert i resultatene, og kolonner som tilsvarer tabell2 , har nullverdier for denne raden.

  • Alle kolonnenavn fra tabell1 og tabell2 må være forskjellige, ellers returneres en feil.

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

Eksempel

I eksemplet nedenfor ønsker brukeren en sammendragstabell over salg etter område og produktkategori 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
Stillehavskysten Tilbehør $ 12 769,57
Stillehavskysten Sykler $ 710,677.75
Stillehavskysten Klær $ 22 902,38
Stillehavskysten 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 første SUMMARIZE-setningen produserer SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])en tabell med distriktsgrupper, der hver rad er en distriktsgruppe, som vist nedenfor:

    SalesTerritory[SalesTerritoryGroup]
    Nord-Amerika
    Europa
    Stillehavskysten
    Ikke tilgjengelig
  2. Den andre SUMMARIZE-setningen produserer SUMMARIZE(ProductCategory, [ProductCategoryName], "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD]))en tabell med produktkategorigrupper 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 og evaluerer den under konteksten for hver rad fra tabellen distriktsgrupper, får du forskjellige resultater for hvert distrikt.