CROSSJOIN
引数内のすべてのテーブルのすべての行のデカルト積を含むテーブルを返します。 新しいテーブルの列は、すべての引数テーブルのすべての列です。
構文
CROSSJOIN(<table>, <table>[, <table>]…)
パラメーター
用語 | 定義 |
---|---|
table |
データのテーブルを返す任意の DAX 式 |
戻り値
引数内のすべてのテーブルのすべての行のデカルト積を含むテーブル。
備考
table
引数の列名はすべて、すべてのテーブルで異なる必要があります。またはエラーが返されます。CROSSJOIN() によって返される行の合計数は、引数内のすべてのテーブルの行数の積と等しくなります。また、結果テーブルの列の合計数は、すべてのテーブルの列数の合計です。 たとえば、
TableA に rA 行とcA 列がされていて、tableB に rB 行とcB 列がされ 、tableC に rC 行とcC 列がある場合などです。その後、結果のテーブルには rA × rb × rC 行と cA + cB + cC 列がされます。 この関数は、計算列または行レベル セキュリティ (RLS) 規則で使用する場合、DirectQuery モードでは使用できません。
例
次の例は、CROSSJOIN() を 2 つのテーブルに適用した結果を示しています。色 と ひな形。
色
色 | パターン |
---|---|
赤い | 水平ストライプ |
緑 | 縦ストライプ |
青い | ハッチング |
ひな形
フォント | プレゼンテーション |
---|---|
セリフ | エンボス |
sans-serif | 刻ま れた |
クロス結合を生成する式を次に示します。
CROSSJOIN( Colors, Stationery)
テーブル式が想定される場所で上記の式を使用する場合、式の結果は次のようになります。
色 | パターン | フォント | プレゼンテーション |
---|---|---|---|
赤い | 水平ストライプ | セリフ | エンボス |
緑 | 縦ストライプ | セリフ | エンボス |
青い | ハッチング | セリフ | エンボス |
赤い | 水平ストライプ | sans-serif | 刻ま れた |
緑 | 縦ストライプ | sans-serif | 刻ま れた |
青い | ハッチング | sans-serif | 刻ま れた |