Sdílet prostřednictvím


CROSSJOIN

Platí pro: Výpočet počítané tabulky Počítaná tabulka Výpočet vizuálu

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ů.

Syntaxe

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

Parametry

Pojem definice
table Libovolný výraz DAX, který vrací tabulku dat

Vrácená hodnota

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

Poznámky

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

  • Celkový počet řádků vrácených funkceMI 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 například TabulkaA obsahuje řádky rA a sloupce cA a TabulkaB obsahuje řádky rB a sloupce cB a tabulkaC má řádky rC a sloupec cC; výsledná tabulka má rA × rb × 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.

Barvy tabulky obsahují barvy a vzory:

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

Šablony tabulek obsahují 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í:

Color 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ý