CROSSJOIN
引数内のすべてのテーブルのすべての行のデカルト積を含むテーブルを返します。 新しいテーブルの列は、すべての引数テーブルのすべての列になります。
構文
CROSSJOIN(<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 つのテーブルに適用した結果を示しています: Colors と Stationery。
Colors テーブルには色とパターンが含まれます。
色 | Pattern |
---|---|
[赤] | 横縞 |
[緑] | 縦縞 |
青 | 網目 |
Stationery テーブルには、フォントとプレゼンテーションが含まれます。
フォント | プレゼンテーション |
---|---|
セリフ | エンボス |
サンセリフ | 浮き彫り |
交差結合を生成する式を以下に示します。
CROSSJOIN( Colors, Stationery)
テーブル式がどこで必要な場合でも上記の式が使用された場合、式の結果は次のようになります。
色 | Pattern | フォント | プレゼンテーション |
---|---|---|---|
[赤] | 横縞 | セリフ | エンボス |
[緑] | 縦縞 | セリフ | エンボス |
青 | 網目 | セリフ | エンボス |
[赤] | 横縞 | サンセリフ | 浮き彫り |
[緑] | 縦縞 | サンセリフ | 浮き彫り |
青 | 網目 | サンセリフ | 浮き彫り |