Dela via


CROSSJOIN

gäller för:beräknad kolumnberäknad tabellMåttVisuell beräkning

Returnerar en tabell som innehåller kartesisk produkt för alla rader från alla tabeller i argumenten. Kolumnerna i den nya tabellen är alla kolumner i alla argumenttabeller.

Syntax

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

Parametrar

Term Definition
table Alla DAX uttryck som returnerar en datatabell

Returvärde

En tabell som innehåller kartesisk produkt för alla rader från alla tabeller i argumenten.

Anmärkningar

  • Kolumnnamn från table argument måste vara olika i alla tabeller eller så returneras ett fel.

  • Det totala antalet rader som returneras av CROSSJOIN() är lika med produkten av antalet rader från alla tabeller i argumenten. Dessutom är det totala antalet kolumner i resultattabellen summan av antalet kolumner i alla tabeller. Om TableA till exempel har rA rader och cA- kolumner och TableB har rB rader och cB kolumner och TableC har rC rader och cC kolumn; den resulterande tabellen har sedan rA × rb × rC rader och cA + cB + cC kolumner.

  • Den här funktionen stöds inte för användning i DirectQuery-läge när den används i beräknade kolumner eller säkerhetsregler på radnivå (RLS).

Exempel

I följande exempel visas resultatet av att tillämpa CROSSJOIN() på två tabeller: Colors och Stationery.

Tabellen Färger innehåller färger och mönster:

Färg Mönster
Röd Vågrät rand
Grön Lodrät rand
Blå Korshatch

Tabellen innehåller teckensnitt och presentation:

Teckensnitt Presentation
Serif Präglade
sans-serif Graverade

Uttrycket för att generera korskopplingen visas nedan:

CROSSJOIN( Colors, Stationery)

När ovanstående uttryck används varhelst ett tabelluttryck förväntas blir resultatet av uttrycket följande:

Färg Mönster Teckensnitt Presentation
Röd Vågrät rand Serif Präglade
Grön Lodrät rand Serif Präglade
Blå Korshatch Serif Präglade
Röd Vågrät rand sans-serif Graverade
Grön Lodrät rand sans-serif Graverade
Blå Korshatch sans-serif Graverade