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