Power Query では、同じスキーマを持つ複数のファイルを 1 つの論理テーブルに結合できます。
この機能は、同じフォルダー内にあるすべてのファイルを結合する場合に便利です。 たとえば、会社のすべての発注書を含む月次ファイルを含むフォルダーがある場合は、これらのファイルを組み合わせて注文を 1 つのビューに統合できます。
ファイルは、次のようなさまざまなソースから取得できます (ただし、これらに限定されません)。
- ローカル フォルダー
- SharePoint サイト
- Azure Blob ストレージ
- Azure Data Lake Storage (Gen1 および Gen2)
これらのソースを操作する場合は、ファイル システム ビューと呼ばれる同じテーブル スキーマを共有していることに注意してください。 次のスクリーンショットは、ファイル システム ビューの例を示しています。
ファイル システム ビューの [コンテンツ ] 列には、各ファイルのバイナリ表現が含まれています。
注
使用可能なフィールドのいずれかを使用して、ファイル システム ビュー内のファイルの一覧をフィルター処理できます。 このビューをフィルター処理して、結合する必要があるファイルのみを表示することをお勧めします。たとえば、[ 拡張子] や [フォルダー パス] などのフィールドをフィルター処理します。 詳細をフォームし、[ フォルダー] に移動します。
[コンテンツ] 列で [バイナリ] 値のいずれかを選択すると、その特定のファイルへの一連のナビゲーション手順が自動的に作成されます。 Power Query は、 Text/CSV、 Excel、 JSON、 XML など、使用可能なコネクタのいずれかを使用してバイナリの解釈を試みます。
ファイルの結合は、次の段階で行われます。
テーブルのプレビュー
前述のコネクタのいずれかを使用してデータ ソースに接続すると、テーブル プレビューが開きます。 フォルダー内のすべてのファイルを結合することが確実な場合は、画面の右下隅にある [結合 ] を選択します。
または、[ データの変換 ] を選択して Power Query エディターにアクセスし、ファイルの一覧のサブセットを作成することもできます (たとえば、フォルダー パス列のフィルターを使用して、特定のサブフォルダーのファイルのみを含めることができます)。 次に、[ コンテンツ] 列のバイナリを含む列を選択し、次のいずれかを選択して、ファイルを結合します。
[ファイルの結合] ダイアログ
[ファイルの 結合 ] または [ファイルの結合 ] コマンドを選択すると、[ ファイルの結合 ] ダイアログが開き、次の操作が実行されます。
- Power Query では、サンプル ファイル (既定では、一覧の最初のファイル) が分析され、そのファイルを開くために使用する正しいファイル コネクタが決定されます。
- このダイアログでは、ファイル コネクタのエクスペリエンスは、そのサンプル ファイルに直接接続する場合とまったく同じように提供されます。
- サンプル ファイルに別のファイルを使用する場合は、[サンプル ファイル ] ドロップダウン メニューから選択できます。
- 省略可能: [Skip files with errors]\(エラーのあるファイルをスキップ する\) を選択して、エラーが発生したファイルを最終的な出力から除外できます。
次の図では、Power Query は最初のファイルに .csv ファイル名拡張子があることを検出するため、 Text/CSV コネクタを使用してファイルを解釈します。
結合されたファイルの出力
ファイルの 結合 プロセスが完了すると、Power Query は自動的に次のアクションを実行します。
1 つのファイルに対して必要なすべての抽出手順を実行するサンプル クエリを作成します。 [ファイルの 結合 ] ダイアログでサンプル ファイルとして選択したファイルが使用されます。
この例のクエリの名前は、[クエリ] ペインの [サンプルの変換] ファイルです。
サンプル クエリに対するファイル/バイナリ入力をパラメーター化する関数クエリを作成します。 サンプル クエリと関数クエリがリンクされているため、サンプル クエリへの変更が関数クエリに反映されます。
これらのクエリは、 ヘルパー クエリ グループに一覧表示されます。
入力バイナリ (フォルダー クエリなど) を使用して、関数クエリを元のクエリに適用します。 そのため、各行にバイナリ入力の関数クエリを適用し、結果のデータ抽出を最上位レベルの列として展開します。
プレフィックス Transform ファイル を含む新しいグループを作成し、最初のクエリをサフィックスとして作成し、グループ内にこれらの結合ファイルを作成するために使用されるすべてのコンポーネントを整理します。
同じファイルの種類と構造 (同じ列を含む) を持っている限り、特定のフォルダー内のすべてのファイルを簡単に結合できます。 また、自動的に生成されたサンプル クエリを変更することで、他の関数クエリ ステップの変更や作成を気にすることなく、より多くの変換または抽出手順を適用することもできます。
注
サンプル クエリ内の手順を変更して、クエリ内の各バイナリに適用される関数を変更できます。 サンプル クエリは関数にリンクされているため、サンプル クエリに加えられた変更は関数クエリに反映されます。
変更のいずれかが列名または列データ型に影響する場合は、必ず出力クエリの最後の手順を確認してください。 列の種類の変更ステップを追加すると、テーブルを視覚化できないステップ レベルのエラーが発生する可能性があります。 詳細については、「 エラーの処理」を参照してください。