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