英語で読む

次の方法で共有


クロス結合

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

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

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

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

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

    3 種類の製品を含むサンプル Product テーブルのスクリーンショット。

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

    4 種類の色を含むサンプル Colors テーブルのスクリーンショット。

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

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

クロス結合を実行する

Power Query でクロス結合操作を実行するには、まず Product テーブルに移動します。 リボンの [列の追加] タブで、[カスタム列] を選択します。 詳細については、「カスタム列を追加する」を参照してください。

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

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

クロス結合のカスタム列ダイアログのスクリーンショット。カスタム列の式に Color が入力されています。

重要

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

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

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

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

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

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