Del via


GENERATEALL

gjelder:beregnet kolonneberegnet tabellmålevisualobjektberegning

Returnerer en tabell med det kartesiske produktet mellom hver rad i tabell1 og tabellen som er et resultat av å evaluere tabell2 i konteksten til gjeldende rad fra tabell1.

Syntaks

GENERATEALL(<table1>, <table2>)

Parametere

Vilkår Definisjon
table1 Alle DAX uttrykk som returnerer en tabell.
table2 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 gjeldende rad fra tabell1 inkluderes i resultatene, og kolonnene som tilsvarer tabell2 vil ha nullverdier for denne raden. Dette er forskjellig fra GENERATE() der gjeldende rad fra tabell1 ikke inkluderes i resultatene.

  • 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
NA Tilbehør
NA Sykler
NA Klær
NA Komponenter
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:

GENERATEALL(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
  1. Den første SUMMARIZE produserer en tabell med distriktsgrupper, der hver rad er en distriktsgruppe, som de som er oppført nedenfor:

    SalesTerritory[SalesTerritoryGroup]
    Nord-Amerika
    Europa
    Fredelig
    NA
  2. Den andre SUMMARIZE produserer 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 tabellen under konteksten for hver rad fra tabellen distriktsgrupper, får du forskjellige resultater for hvert distrikt.