Sdílet prostřednictvím


CROSSJOIN

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

Vrátí tabulku, která obsahuje kartézský součin všech řádků ze všech tabulek v argumentech. Sloupce v nové tabulce jsou všechny sloupce ve všech tabulkách argumentů.

Syntax

CROSSJOIN(<table>, <table>[, <table>]…)

Parametry

Semestr Definice
table Libovolný výraz DAX, který vrací tabulku dat

Návratová hodnota

Tabulka, která obsahuje kartézský součin všech řádků ze všech tabulek v argumentech.

Poznámky

  • Názvy sloupců z argumentů table musí být ve všech tabulkách odlišné nebo se vrátí chyba.

  • Celkový počet řádků vrácených CROSSJOIN() se rovná součinu počtu řádků ze všech tabulek v argumentech; Celkový počet sloupců ve výsledné tabulce je také součet počtu sloupců ve všech tabulkách. Pokud TableA má například řádky rA a sloupce cA a tabulkaB rB řádky a sloupce cB a TableC má rC řádky a cC sloupec; výsledná tabulka pak obsahuje rA × × rC řádky a cA + cB + cC sloupce.

  • 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

Následující příklad ukazuje výsledky použití CROSSJOIN() na dvě tabulky: Barvy a šablony.

Tabulka Barvy obsahuje barvy a vzory:

Barva Vzor
Červený Vodorovný pruh
Zelený Svislý pruh
Modrý Vyšrafovat

Tabulka šablony obsahuje písma a prezentaci:

Písmo Prezentace
serif vypouklý
sans-serif vrytý

Výraz pro vygenerování křížového spojení je uveden níže:

CROSSJOIN( Colors, Stationery)

Pokud se výše uvedený výraz použije všude, kde se očekává výraz tabulky, výsledky výrazu budou následující:

Barva Vzor Písmo Prezentace
Červený Vodorovný pruh serif vypouklý
Zelený Svislý pruh serif vypouklý
Modrý Vyšrafovat serif vypouklý
Červený Vodorovný pruh sans-serif vrytý
Zelený Svislý pruh sans-serif vrytý
Modrý Vyšrafovat sans-serif vrytý