次の方法で共有


クロス結合

クロス結合は、結合内のテーブルから行のデカルト積を返す結合の一種です。 つまり、最初のテーブルの各行と 2 番目のテーブルの各行が結合されます。

この記事では、Power Query でクロス結合を実行する方法を実際の例で示します。

入力テーブルと出力テーブルのサンプル

この例では、サンプル ソース テーブルは次のとおりです。

  • 製品: 販売するすべての汎用製品を含むテーブル。

    3 つの異なる製品を含むサンプル Product テーブルのスクリーンショット。

  • : 在庫に含めることができるすべての製品バリエーションを色として含むテーブル。

    4 つの異なる色を含むサンプルの Colors テーブルのスクリーンショット。

目標は、次の表に示すように、これら 2 つのテーブルでクロス結合操作を実行して、インベントリに含めることができるすべての一意の製品の一覧を作成することです。 Product テーブルには汎用製品名のみが含まれており、どの製品バリエーション (色など) があるかを確認するために必要な詳細レベルが提供されないため、この操作が必要です。

クロス結合後の最終テーブルのスクリーンショット。各製品が 4 つの異なる色 (合計 12 行) で一覧表示されています。

クロス結合を実行する

Power Query でクロス結合操作を実行するには、次の手順に従います。

  1. Product テーブルを選択します。

  2. リボンの [ 列の追加 ] タブで、[ カスタム列] を選択します。 カスタム列の詳細については、「カスタム 列の追加」を参照してください

    [カスタム列] オプションが強調されている [Power Query 列の追加] タブのスクリーンショット。

  3. [ カスタム列 ] ダイアログ ボックスで、[ 新しい列名 ] ボックスに任意の名前を入力し、[ カスタム列の数式 ] ボックスに色テーブルまたはクエリの名前を入力します。 この例では、カスタム列の名前は Custom で、テーブル/クエリの名前は Colors

    [色] で塗りつぶされたカスタム列数式を使用したクロス結合のカスタム列ダイアログのスクリーンショット。

    Important

    クエリ名に Product Colors などのスペースがある場合、[ カスタム列の数式 ] セクションに入力する必要があるテキストは、構文 #"Query name"に従う必要があります。 [製品の色] には、「#"Product Colors"」と入力する必要があります。

    クエリの名前は、 クエリ設定 ペインまたは Power Query の [クエリ ] ペインで確認できます。

  4. [カスタム列] ダイアログ ボックスで [OK] を選択します。

  5. 新しい列見出しで、[ 展開 ] ( ) を選択して、新しく作成した列の内容を展開し、[ OK] を選択します

    展開されたクロス結合カスタム列のスクリーンショット。

  6. 製品のすべての可能な組み合わせの表を確認できます。

    3 つの製品 (シャツ、ジーンズ、レギンス) がそれぞれ 4 色 (赤、青、黒、白) で一覧表示されている最終テーブルのスクリーンショット。