Del via


GENERATEALL

Gælder for:Beregnet tabel beregningaf målingsvisualisering for en beregnet kolonne

Returnerer en tabel med det kartesiske produkt mellem hver række i table1 og den tabel, der er resultatet af evalueringen af table2 i konteksten af den aktuelle række fra table1.

Syntaks

GENERATEALL(<table1>, <table2>)  

Parametre

Begreb Definition
tabel1 Ethvert DAX-udtryk, der returnerer en tabel.
tabel2 Ethvert DAX-udtryk, der returnerer en tabel.

Returværdi

En tabel med det kartesiske produkt mellem hver række i table1 og den tabel, der er resultatet af evalueringen af table2 i konteksten af den aktuelle række fra table1

Bemærkninger

  • Hvis evalueringen af table2 for den aktuelle række i table1 returnerer en tom tabel, medtages den aktuelle række fra table1 i resultaterne, og kolonner, der svarer til table2 , har null-værdier for den pågældende række. Dette er anderledes end GENERATE(), hvor den aktuelle række fra table1 ikke medtages i resultaterne.

  • Alle kolonnenavne fra table1 og table2 skal være forskellige, ellers returneres der en fejl.

  • Denne funktion understøttes ikke til brug i DirectQuery-tilstand, når den bruges i beregnede kolonner eller RLS-regler (row-level security).

Eksempel

I følgende eksempel ønsker brugeren en oversigtstabel over salg efter område og produktkategori for forhandlerkanalen, f.eks. følgende tabel:

SalesTerritory[SalesTerritoryGroup] ProductCategory[ProductCategoryName] [Forhandlersalg]
Europa Accessories 142.227,27 USD
Europa Cykler 9.970.200,44 USD
Europa Tøj 365.847,63 USD
Europa Komponenter 2.214.440,19 USD
I/T Accessories
I/T Cykler
I/T Tøj
I/T Komponenter
Nordamerika Accessories 379.305,15 USD
Nordamerika Cykler 52.403.796,85 USD
Nordamerika Tøj 1.281.193,26 USD
Nordamerika Komponenter 8.882.848,05 USD
Stillehavsområdet Accessories 12.769,57 USD
Stillehavsområdet Cykler 710.677,75 USD
Stillehavsområdet Tøj 22.902,38 USD
Stillehavsområdet Komponenter 108.549,71 USD

Følgende formel opretter ovenstående tabel:

GENERATEALL(  
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])  
,SUMMARIZE(ProductCategory
, [ProductCategoryName]  
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])  
)  
)  
  1. Den første SUMMARIZE opretter en tabel med områdegrupper, hvor hver række er en områdegruppe, f.eks. dem, der er angivet nedenfor:

    SalesTerritory[SalesTerritoryGroup]
    Nordamerika
    Europa
    Stillehavsområdet
    I/T
  2. Den anden SUMMARIZE opretter en tabel over produktkategorigrupper med Forhandlersalg for hver gruppe, som vist nedenfor:

    ProductCategory[ProductCategoryName] [Forhandlersalg]
    Cykler 63.084.675,04 USD
    Komponenter 11.205.837,96 USD
    Tøj 1.669.943,27 USD
    Accessories 534.301,99 USD
  3. Men når du tager ovenstående tabel og evaluerer tabellen under konteksten for hver række fra tabellen med områdegrupper, får du forskellige resultater for hvert område.