CROSSJOIN 関数 (DAX)

引数のすべてのテーブルのすべての行のデカルト積を含むテーブルを返します。 新しいテーブルの列は、すべての引数テーブルのすべての列に対応します。

構文

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

パラメーター

  • table
    データのテーブルを返す任意の DAX 式。

戻り値

引数のすべてのテーブルのすべての行のデカルト積を含むテーブル。

説明

  • 引数 table の列名は、すべてのテーブルにおいてすべて異なっている必要があります。そうでないと、エラーが返されます。

  • CROSSJOIN() によって返される行の数は、引数のすべてのテーブルの行の数の積です。また、結果のテーブルの列の数は、すべてのテーブルの列の数の合計です。 たとえば、TableA の行数が rA、列数が cATableB の行数が rB、列数が cBTableC の行数が rC、列数が cC である場合、結果のテーブルの行数は rA × rb × rC、列数は cA + cB + cC となります。

使用例

次の例に、ColorsStationery の 2 つのテーブルに CROSSJOIN() を適用した結果を示します。

テーブル Colors には、色とパターンが含まれています。

パターン

横ストライプ

縦ストライプ

クロスハッチ

テーブル Stationery には、フォントと効果が含まれています。

フォント

効果

セリフ

エンボス

サンセリフ

浮き彫り

クロス結合を生成する式は次のとおりです。

CROSSJOIN( Colors, Stationery)

テーブル式が必要とされる場所で上記の式を使用した場合、次の結果が生成されます。

横ストライプ

セリフ

エンボス

縦ストライプ

セリフ

エンボス

クロスハッチ

セリフ

エンボス

横ストライプ

サンセリフ

浮き彫り

縦ストライプ

サンセリフ

浮き彫り

クロスハッチ

サンセリフ

浮き彫り