Sdílet prostřednictvím


GENERATEALL

platí pro:Počítaný sloupecPočítaná tabulkamíravizuální

Vrátí tabulku s kartézským součinem mezi jednotlivými řádky v tabulka1 a tabulkou, která je výsledkem vyhodnocení tabulky2 v kontextu aktuálního řádku z tabulky1.

Syntax

GENERATEALL(<table1>, <table2>)

Parametry

Semestr Definice
table1 Libovolný DAX výraz, který vrací tabulku.
table2 Libovolný DAX výraz, který vrací tabulku.

Návratová hodnota

Tabulka s kartézským součinem mezi jednotlivými řádky v tabulka1 a tabulkou, která je výsledkem vyhodnocení tabulky2 v kontextu aktuálního řádku z tabulky1

Poznámky

  • Pokud vyhodnocení tabulky 2 pro aktuální řádek v tabulce1 vrátí prázdnou tabulku, bude aktuální řádek z tabulky tabulka1 zahrnut do výsledků a sloupce odpovídající tabulka2 budou mít pro tento řádek hodnoty null. To se liší od GENERATE(), kde aktuální řádek z tabulky tabulka1nebude zahrnut do výsledků.

  • Všechny názvy sloupců z tabulky1 a tabulka 2 musí být jiné nebo se vrátí chyba.

  • Tato funkce není podporována pro použití v režimu DirectQuery při použití v počítaných sloupcích nebo pravidlech zabezpečení na úrovni řádků (RLS).

Příklad

V následujícím příkladu chce uživatel souhrnnou tabulku prodeje podle oblastí a kategorie produktů pro kanál Prodejců, například následující tabulka:

SalesTerritory[SalesTerritoryGroup] ProductCategory[ProductCategoryName] [Reseller Sales]
Evropa Příslušenství $ 142,227,27
Evropa Kola $ 9,970,200,44
Evropa Oděv $ 365,847,63
Evropa Součásti $ 2,214,440,19
SODÍK Příslušenství
SODÍK Kola
SODÍK Oděv
SODÍK Součásti
Severní Amerika Příslušenství $ 379,305,15
Severní Amerika Kola $ 52,403,796,85
Severní Amerika Oděv $ 1,281,193,26
Severní Amerika Součásti $ 8,882,848,05
Mírumilovný Příslušenství $ 12,769,57
Mírumilovný Kola $ 710,677.75
Mírumilovný Oděv $ 22,902,38
Mírumilovný Součásti $ 108,549,71

Následující vzorec vytvoří výše uvedenou tabulku:

GENERATEALL(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
  1. První SUMMARIZE vytvoří tabulku skupin oblastí, kde každý řádek je skupina oblastí, jako jsou ty uvedené níže:

    SalesTerritory[SalesTerritoryGroup]
    Severní Amerika
    Evropa
    Mírumilovný
    SODÍK
  2. Druhý SUMMARIZE vytvoří tabulku skupin Kategorií produktů s prodejem prodejců pro každou skupinu, jak je znázorněno níže:

    ProductCategory[ProductCategoryName] [Reseller Sales]
    Kola $ 63,084,675,04
    Součásti $ 11,205,837,96
    Oděv $ 1,669,943,27
    Příslušenství $ 534,301,99 Kč
  3. Když ale vezmete výše uvedenou tabulku a vyhodnotíte ji v kontextu každého řádku z tabulky skupin oblastí, získáte pro každé území jiné výsledky.