Power Queryを使用して、1 つのフォルダーに格納されている同じスキーマを持つ複数のファイルを 1 つのテーブルに結合します。 たとえば、月ごとに複数の部署の予算ブックを結合する場合、列は同じですが、行数と値の数は各ブックで異なります。 設定したら、インポートした 1 つのデータ ソースと同様に追加の変換を適用し、 データを更新 して毎月の結果を表示できます。
メモ このトピックでは、フォルダーからファイルを結合する方法について説明します。 SharePoint、Azure Blob Storage、Azure Data Lake Storageに格納されているファイルを結合することもできます。 プロセスは似ています。
シンプルに保つ:
-
結合するすべてのファイルが、不要なファイルを含まない専用フォルダーに含まれていることを確認します。 それ以外の場合、フォルダー内のすべてのファイルと選択したサブフォルダーが、結合するデータに含まれます。
-
各ファイルには、一貫性のある列ヘッダー、データ型、列の数を含む同じスキーマが必要です。 列は、列名で一致する順序と同じ順序である必要はありません。
-
可能であれば、JSON ファイル、Excel ブック、Access データベースなど、複数のデータ オブジェクトを持つデータ ソースに関連しないデータ オブジェクトは避けてください。
これらの各ファイルは単純なパターンに従い、各ファイル内のデータのテーブルは 1 つだけです。
-
[データ] > [フォルダーからデータ > を取得する] > を選択します。 [ 参照 ] ダイアログ ボックスが表示されます。
-
結合するファイルを含むフォルダーを見つけます。
-
フォルダー内のファイルの一覧が、[フォルダー パスの> <] ダイアログ ボックスに表示されます。 必要なすべてのファイルが一覧表示されていることを確認します。
-
ダイアログ ボックスの下部にあるコマンドの 1 つを選択します (例: [> の結合 ] & 読み込み)。 「すべてのコマンドについて」セクションで説明されているその他 のコマンドがあります。
-
[ 結合 ] コマンドを選択すると、[ ファイルの結合 ] ダイアログ ボックスが表示されます。 ファイルの設定を変更するには、[ サンプル ファイル] ボックスから各ファイルを選択し、必要に応じて [ファイルの配信元]、[ 区切り記号]、[ データ型の検出] を設定します。 ダイアログ ボックスの下部にある [ エラーのあるファイルをスキップ する] チェック ボックスをオンまたはオフにすることもできます。
-
[OK] を選択します。
結果
Power Queryは、各ファイルのデータをワークシートに統合するためのクエリを自動的に作成します。 作成されるクエリ ステップと列は、選択したコマンドによって異なります。 詳細については、「 すべてのクエリについて」セクションを参照してください。
-
[データ] > [フォルダーからデータ > を取得する] > を選択します。 [ 参照] ダイアログ ボックスが表示されます。
-
結合するファイルを含むフォルダーを見つけます。
-
フォルダー内のファイルの一覧が、[フォルダー パスの> <] ダイアログ ボックスに表示されます。 必要なすべてのファイルが一覧表示されていることを確認します。
-
ダイアログ ボックスの下部にあるコマンドの 1 つを選択します (例: [結合 ]> [結合] & 変換)。 「すべてのコマンドについて」セクションで説明されているその他 のコマンドがあります。 Power Query エディターが表示されます。
-
[値] 列は構造化 リスト 列です。 [ 展開 ] アイコンを選択し、[新しい行に展開] を選択します。
-
Value 列が構造化 レコード 列になりました。 [ 展開 ] アイコンを選択します。 ドロップダウン ダイアログ ボックスが表示されます。
-
すべての列を選択したままにします。 [プレフィックスとして元の列名を使用する] ボックスをオフチェック場合があります。 [OK] を選択します。
-
データ値を含むすべての列を選択します。 [ ホーム] を選択し、[ 列の削除] の横にある矢印を選択し、[ その他の列の削除] を選択します。
-
[ ホーム ]> [ & 読み込みを閉じる] を選択します。
結果
Power Queryは、各ファイルのデータをワークシートに統合するためのクエリを自動的に作成します。 作成されるクエリ ステップと列は、選択したコマンドによって異なります。 詳細については、「 すべてのクエリについて」セクションを参照してください。
これらの各データ ソースには、インポートする複数のオブジェクトを含めることができます。 Excel ブックには、複数のワークシート、Excel テーブル、または名前付き範囲を含めることができます。 Access データベースには、複数のテーブルとクエリを含めることができます。
-
[データ] > [フォルダーからデータ > を取得する] > を選択します。 [ 参照] ダイアログ ボックスが表示されます。
-
結合するファイルを含むフォルダーを見つけます。
-
フォルダー内のファイルの一覧が、[フォルダー パスの> <] ダイアログ ボックスに表示されます。 必要なすべてのファイルが一覧表示されていることを確認します。
-
ダイアログ ボックスの下部にあるコマンドの 1 つを選択します (例: [> の結合 ] & 読み込み)。 「すべてのコマンドについて」セクションで説明されているその他 のコマンドがあります。
-
[ファイルの結合] ダイアログ ボックスで、次 の手順を 実行します。
-
[ サンプル ファイル ] ボックスで、クエリの作成に使用するサンプル データとして使用するファイルを選択します。 オブジェクトを選択することも、1 つのオブジェクトだけを選択することもできません。 ただし、複数を選択することはできません。
-
多数のオブジェクトがある場合は、[ 検索 ] ボックスを使用して、オブジェクトまたは [表示オプション] を [ 更新 ] ボタンと共に見つけてリストをフィルター処理します。
-
ダイアログ ボックスの下部にある [ エラーのあるファイルをスキップ する] チェック ボックスをオンまたはオフにします。
-
-
[OK] を選択します。
結果
Power Queryは、各ファイルのデータをワークシートに統合するためのクエリを自動的に作成します。 作成されるクエリ ステップと列は、選択したコマンドによって異なります。 詳細については、「 すべてのクエリについて」セクションを参照してください。
柔軟性を高めるために、[ファイルの結合] コマンドを使用して、Power Query エディター内のファイルを明示的に結合できます。 たとえば、ソース フォルダーにファイルの種類とサブフォルダーが混在しており、同じファイルの種類とスキーマを持つ特定のファイルをターゲットにしたいが、他のファイルをターゲットにしたくないとします。 これにより、パフォーマンスが向上し、変換が簡略化されます。
-
[データ] > [ファイル > フォルダーからデータ > を取得する] を選択します。 [ 参照 ] ダイアログ ボックスが表示されます。
-
結合するファイルを含むフォルダーを見つけて、[ 開く] を選択します。
-
フォルダーとサブフォルダー内のすべてのファイルの一覧が、[ フォルダー パス>< ] ダイアログ ボックスに表示されます。 必要なすべてのファイルが一覧表示されていることを確認します。
-
下部にある [ データの変換] を選択します。 Power Query エディターが開き、フォルダー内のすべてのファイルとサブフォルダーが表示されます。
-
目的のファイルを選択するには、拡張機能やフォルダー パスなどの列をフィルター処理します。
-
ファイルを 1 つのテーブルに結合するには、各バイナリ (通常は最初の列) を含む [コンテンツ] 列を選択し、[ホーム] > [ファイルの結合] を選択します。 [ ファイルの結合 ] ダイアログ ボックスが表示されます。
-
Power Queryは、適切なコネクタを使用して一致する列を識別するために、既定ではリスト内の最初のファイルであるサンプル ファイルを分析します。
サンプル ファイルに別のファイルを使用するには、[ サンプル ファイル ] ドロップダウン リストからファイルを選択します。 -
必要に応じて、下部にある [ エラーのあるファイルをスキップ する] を選択して、それらのファイルを結果から除外します。
-
[OK] を選択します。
結果
Power Queryは、各ファイルのデータをワークシートに統合するためのクエリを自動的に作成します。 作成されるクエリ ステップと列は、選択したコマンドによって異なります。 詳細については、「 すべてのクエリについて」セクションを参照してください。
選択できるコマンドがいくつかあり、それぞれに異なる目的があります。
-
データの結合と変換 すべてのファイルをクエリと結合し、Power Query エディターを起動するには、[結合 ]> [データの結合と変換] を選択します。
-
結合と読み込み [サンプル ファイル] ダイアログ ボックスを表示するには、クエリを作成し、ワークシートに読み込み、[結合 ]> [結合と読み込み] を選択します。
-
結合と読み込み [サンプル ファイル] ダイアログ ボックスを表示するには、クエリを作成し、[インポート] ダイアログ ボックスを表示し、[結合 ]> [結合] と [読み込み] を選択します。
-
負荷 1 つの手順でクエリを作成し、ワークシートに読み込むには、[ 読み込み ]> [読み込み] を選択します。
-
読み込み対象 1 つの手順でクエリを作成し、[ インポート ] ダイアログ ボックスを表示するには、[ 読み込み ]> [読み込み先] を選択します。
-
データの変換1 つの手順でクエリを作成し、Power Query エディターを起動するには、[データの変換] を選択します。
ただし、ファイルを結合すると、[ヘルパー クエリ] グループの下の [ クエリ ] ウィンドウにいくつかのサポート クエリが作成されます。
-
Power Queryは、サンプル クエリに基づいて "サンプル ファイル" クエリを作成します。
-
"ファイルの変換" 関数クエリでは、"Parameter1" クエリを使用して、各ファイル (またはバイナリ) を "サンプル ファイル" クエリへの入力として指定します。 このクエリでは、ファイルの内容を含む Content 列も作成され、構造化 レコード 列が自動的に展開され、列データが結果に追加されます。 "ファイルの変換" クエリと "サンプル ファイル" クエリがリンクされているため、"サンプル ファイル" クエリの変更が "ファイルの変換" クエリに反映されます。
-
最終的な結果を含むクエリは、"その他のクエリ" グループにあります。 既定では、ファイルをインポートしたフォルダーの名前が付けられます。
さらに調査するには、各クエリを右クリックし、[ 編集] を選択して各クエリ ステップを調べ、クエリがどのように連携しているかを確認します。