クロス結合

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

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

サンプルの入力および出力テーブル。

この例のサンプル ソース テーブル:

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

    3 種類の製品を含むサンプル Product テーブル。

  • Colors: 在庫にある可能性がある、色別のすべての製品のバリエーションを含むテーブル。

    4 種類の色を含むサンプル Colors テーブル。

目標は、これら 2 つのテーブルでクロス結合操作を実行して、次の表に示すように、在庫にある可能性があるすべての一意の製品の一覧を作成することです。 この操作が必要なのは、Product テーブルに汎用製品名だけが含まれ、どのような製品バリエーション (色など) があるかを知るために必要な詳細のレベルが得られないためです。

合計 12 行の 4 種類の色を持つ各製品を一覧表示するクロス結合後の最終的なテーブル。

クロス結合を実行する

Power Query でクロス結合操作を実行するには、まず Product テーブルに移動します。 リボンの [列の追加] タブで、[カスタム列] を選択します。 詳細情報: カスタム列を追加する

カスタム列コマンド。

[カスタム列] ダイアログ ボックスで、[新しい列名] ボックスに任意の名前を入力し、[カスタム列の式] ボックスに Colors と入力します。

クロス結合用のカスタム列。

重要

クエリ名に Product Colors のようなスペースが含まれている場合、[カスタム列の式] セクションに入力する必要があるテキストは、構文 #"Query name" に従っている必要があります。 Product Colors の場合、#"Product Colors" と入力する必要があります。

クエリの名前は、画面の右側の [クエリの設定] ウィンドウまたは左側の [クエリ] ウィンドウで確認できます。

[カスタム列] ダイアログ ボックスで [OK] を選択すると、新しい列がテーブルに追加されます。 新しい列見出しで、[展開]を選択して、新しく作成した列の内容を展開し、[OK] を選択します。

クロス結合カスタム列が追加されました。

[OK] を選択すると、ProductColors のすべての可能な組み合わせでテーブルを作成するという目標が達成されます。

4 色 (赤、青、黒、白) でそれぞれ一覧表示された 3 つの製品 (シャツ、ジーンズ、レギンス) のそれぞれを含む最終テーブル。