Megosztás a következőn keresztül:


GENERATE

A következőkre vonatkozik:Számított oszlopSzámított táblaMértékVizualizációszámítási

Egy táblázatot ad vissza, amelyben a Cartesian-termék szerepel tábla1 egyes sorai között, valamint azt a táblát, amely tábla2 kiértékelésével az aktuális sor kontextusában tábla1.

Szintaxis

GENERATE(<table1>, <table2>)

Paraméterek

Kifejezés Definíció
table1 Bármely DAX kifejezés, amely egy táblát ad vissza.
table2 Bármely DAX kifejezés, amely egy táblát ad vissza.

Visszaadott érték

Egy tábla a Cartesian termékkel tábla1 egyes sorai között, és az a tábla, amely tábla2 kiértékelését eredményezi az aktuális sor kontextusában tábla1

Megjegyzések

  • Ha tábla2 kiértékelése tábla1 aktuális sorához, üres táblát ad vissza, akkor az eredménytábla nem fogja tartalmazni tábla1aktuális sorát. Ez eltér a GENERATEALL() táblától, ahol a tábla1 aktuális sora szerepel az eredmények között, és az tábla2 oszlopai null értékűek lesznek az adott sorhoz.

  • Az table1 és table2 oszlopneveinek eltérőnek kell lenniük, vagy hiba jelenik meg.

  • Ez a függvény nem támogatott DirectQuery módban, ha számított oszlopokban vagy sorszintű biztonsági (RLS) szabályokban használják.

Példa

Az alábbi példában a felhasználó a Viszonteladók csatorna értékesítéseinek régió és termékkategória szerinti összesítő táblázatát szeretné, például az alábbi táblázatot:

SalesTerritory[SalesTerritoryGroup] ProductCategory[ProductCategoryName] [Viszonteladói értékesítés]
Európa Kiegészítők 142 227,27 USD
Európa Kerékpárok 9 970 200,44 USD
Európa Ruházat 365 847,63 USD
Európa Összetevők 2 214 440,19 USD
Észak-Amerika Kiegészítők 379 305,15 USD
Észak-Amerika Kerékpárok 52 403 796,85 USD
Észak-Amerika Ruházat 1 281 193,26 USD
Észak-Amerika Összetevők 8 882 848,05 USD
Békés Kiegészítők 12 769,57 USD
Békés Kerékpárok 710 677,75 USD
Békés Ruházat 22 902,38 USD
Békés Összetevők 108 549,71 USD

A fenti táblázatot a következő képlet állítja elő:

GENERATE(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory 
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
  1. Az első SUMMARIZE utasítás, SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])egy területcsoporttáblát hoz létre, ahol minden sor egy területcsoport, ahogy az alább látható:

    SalesTerritory[SalesTerritoryGroup]
    Észak-Amerika
    Európa
    Békés
    NA
  2. A második SUMMARIZE utasítás( SUMMARIZE(ProductCategory, [ProductCategoryName], "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD]))) a termékkategória-csoportok tábláját állítja elő az egyes csoportok viszonteladói értékesítéseivel, az alábbiak szerint:

    ProductCategory[ProductCategoryName] [Viszonteladói értékesítés]
    Kerékpárok 63 084 675,04 USD
    Összetevők 11 205 837,96 USD
    Ruházat 1 669 943,27 USD
    Kiegészítők 534 301,99 USD
  3. Ha azonban a fenti táblázatot a területcsoportok táblából származó egyes sorok kontextusában értékeli ki, különböző eredményeket kap az egyes területekhez.