Power Query: 複数のフォルダーのファイルを結合する

Power Query: 複数のフォルダーのファイルを結合する

この投稿では、パワー クエリで作業を行い、ネットワーク、デスクトップ、OneDrive、または SharePoint 内の複数のフォルダーからファイルを結合します。

この例では、フォルダー内に 3 つの CSV ファイルがあり、データは次のようになります。

Power Query: 複数のフォルダーのファイルを結合する

Excel でパワー クエリを使用します。これは、LuckyTemplates のパワー クエリとまったく同じように機能します。

目次

ネットワーク内のフォルダーに接続する

パワー クエリに関するチュートリアルから始めて、複数のフォルダーのファイルを空の Excel ファイルと結合し、データ タブに移動して、 [データの取得][ファイルから]、 [フォルダーから]の順にクリックします。

Power Query: 複数のフォルダーのファイルを結合する

これは、C ドライブまたはネットワーク上のフォルダーに接続する方法です。SharePoint 上のファイルに接続する場合は、このコネクタを使用します。

Power Query: 複数のフォルダーのファイルを結合する

参照ボックスを使用してフォルダーを検索します。次に、「データの結合と変換」ボタンをクリックします。

Power Query: 複数のフォルダーのファイルを結合する

次に、これが CSV ファイルの種類を尋ねられます。[OK]をクリックし、機能しない場合は、戻って正しい CSV ファイル タイプに変更します。

Power Query: 複数のフォルダーのファイルを結合する

パワークエリでこの大きなステップのブロックを取得します。これは少し気が遠くなり、混乱するかもしれません。これら 3 つのファイルは互いに積み重ねられていますが、これは私たちが望んでいることではありません。

Power Query: 複数のフォルダーのファイルを結合する

最初のファイルをクリックし、次にTransform Sample Fileをクリックします。このファイルに加えた変更は、他のファイルにも適用されます。

Power Query: 複数のフォルダーのファイルを結合する

データのクリーンアップ

まずはこれを整理しましょう。この日付をすべてのレコードに対して埋めたいと考えています。Column1に date という単語が含まれている場合、その日付を他の列に配置し、その日付を記入します。

Power Query: 複数のフォルダーのファイルを結合する

Column1 が date という単語と等しい場合は Column2 の値が必要であるという条件付き列を追加します。それ以外の場合は空白のままにしてください。

Power Query: 複数のフォルダーのファイルを結合する

日付と NULL 列を選択し、右クリックして入力します。

Power Query: 複数のフォルダーのファイルを結合する

結果は、すべての日付を含む列になります。

Power Query: 複数のフォルダーのファイルを結合する

ここで空白とヌルを削除するには、「空の削除」をクリックします。

Power Query: 複数のフォルダーのファイルを結合する

最初の行を見出しとして使用したくありませんが、日付が見出し行に押し込まれるため、[最初の行をヘッダーとして使用]ボタンも使用できません。

Power Query: 複数のフォルダーのファイルを結合する

そうすると、すべてのファイルの日付が変更されます。最も簡単な解決策は、これらの列の名前を手動で変更することです。

Power Query: 複数のフォルダーのファイルを結合する

すべての列を選択し、右クリックして、「他の列を削除」をクリックします。

Power Query: 複数のフォルダーのファイルを結合する

小見出しを編集したら、ほぼ設定が完了しました。

Power Query: 複数のフォルダーのファイルを結合する

DemoFolderをクリックすると、エラー メッセージが表示されます。ほとんどの場合、これは変換サンプル ファイルに少し変更を加えたときに発生します。

Power Query: 複数のフォルダーのファイルを結合する

ほとんどの場合、この「型の変更」ステップによって、もう存在しない元の Column1 を変更しようとするため、エラーが発生します。

Power Query: 複数のフォルダーのファイルを結合する

このステップを削除するだけでエラーは解決します。

Power Query: 複数のフォルダーのファイルを結合する

最初のファイルに対して行った内容はすべて、すべてのファイルに適用されます。実際には、ソース ファイルが同じように構造化されていることが前提となります。違っていれば不可能ではありませんが、かなり難しくなります。

それでは、これらのクエリを振り返って、何が起こっているのかを解明してみましょう。サンプル ファイルのソース ステップに移動すると、Parameter1というものを参照しています。

Power Query: 複数のフォルダーのファイルを結合する

左側に目を向けると、Parameter1 はサンプル ファイルと呼ばれます。

Power Query: 複数のフォルダーのファイルを結合する

サンプル ファイルのソースに移動すると、レコード 0 に移動します。

Power Query: 複数のフォルダーのファイルを結合する

パワー クエリはゼロベースの言語です。つまり、Record1 は実際には項目 0 です。最初のファイルを取得するだけで、その後の他の手順は自動的に変換されます。これは素晴らしいことです。昔は、これを [ファイルの変換] タブで手動で行う必要がありました。

これを展開すると、ファイル名が表示され、すべての手順が表示されます。

Power Query: 複数のフォルダーのファイルを結合する

高度なエディタを使用する場合は、この警告が表示されます。後で再確立することができないため、これを行わないことをお勧めします。通常、すべての調整はサンプル ファイル内で行うだけです。

Power Query: 複数のフォルダーのファイルを結合する

この統合ステップで何が起こったかというと、フォルダーに移動し、隠しファイルやシステム ファイルがフィルターで除外されました。次に、呼び出されたカスタム関数を追加し、いくつかの列の名前を変更し、その他すべてを削除しました。

Power Query: 複数のフォルダーのファイルを結合する

1 つ気がつくのは、列の型が失われているということです。したがって、変換サンプル ファイルで選択した列タイプは、統合ファイルには継承されません。

次に、 「閉じてロード」をクリックします。「更新」をクリックするたびに、そのフォルダーがスキャンされます。

SharePoint または OneDrive のフォルダーに接続する

ファイルが OneDrive または SharePoint フォルダーにある場合、プロセスは実質的に同じですが、微妙に異なります。OneDrive の正しいパス (自分の名前までの URL) が必要です。[データの取得]、[SharePoint フォルダー] の順にクリックします。

Power Query: 複数のフォルダーのファイルを結合する

リンクを貼り付ける URL を入力するよう求められます。次に、OneDrive にあるほぼすべてのファイルが一覧表示されます。「データの変換」に入ったら、いくつかの異なる手順を実行する必要があります。まず、適切なフォルダー、 DemoOneDriveFolder を見つける必要があります

Power Query: 複数のフォルダーのファイルを結合する

[Text Filter]をクリックし、[Contains]をクリックして、「 DemoOneDrive 」と入力します。これを行わないと、何年もスクロールし続け、探しているものが見つからない可能性があります。

Power Query: 複数のフォルダーのファイルを結合する

Power Query: 複数のフォルダーのファイルを結合する

Power Query: 複数のフォルダーのファイルを結合する

このプロセスにより、適切なフォルダーにフィルタリングされます。ご覧のとおり、3 つのファイルがあります。素晴らしい。

Power Query: 複数のフォルダーのファイルを結合する

[フォルダー パス]列に移動し、右クリックして[テキスト フィルター]に移動し、[等しい]を選択します。

Power Query: 複数のフォルダーのファイルを結合する

こうすることで、contains 部分ではなく適切なパスを取得できます。後者のステップは必要ないので削除できます。

もう 1 つのアドバイスは、他のファイルがここにドロップされる場合に備えて、テキスト フィルターが CSV ファイルと等しいフィルターを作成することです。

Power Query: 複数のフォルダーのファイルを結合する

最後の推奨事項は、このクエリにOneDriveFolder という名前を付けて参照することです。これは、後でデバッグしようとして元に戻る必要がある場合や、フォルダーを変更する必要がある場合にも役立ちます。

Power Query: 複数のフォルダーのファイルを結合する

これは、私たちが取り組んだ以前の例よりも複雑になります。この場合に必要なのは、Content 列Name列だけです。

Power Query: 複数のフォルダーのファイルを結合する

右クリックして他の列を削除します。

Power Query: 複数のフォルダーのファイルを結合する

小さな両矢印をクリックすると、ファイルが結合されます。

Power Query: 複数のフォルダーのファイルを結合する

この時点以降のプロセスは、ヘルパー クエリも作成された前の例と同じになります。

Excel ファイルを統合している場合、ポップアップ表示される中間画面の 1 つで、どのシートを統合するかを尋ねられることに注意してください。複数の Excel ファイルを統合すると乱雑になる可能性があるため、シートには同じ名前を付ける必要があります。

これは、前の例で行ったように、すべてがきちんと結合された、変換されたサンプル ファイルです。

Power Query: 複数のフォルダーのファイルを結合する

最後に、これは、プッシュされてデータ モデルにロードされる統合ファイルです。

Power Query: 複数のフォルダーのファイルを結合する

また、OneDriveFolderという名前の追加フォルダーも 1 つあります。最後に、ステップの名前を便利で意味のあるものに変更することを忘れないでください。

Power Query: 複数のフォルダーのファイルを結合する


データ モデルの Power Query のベスト プラクティス
LuckyTemplates でクエリをグループに整理する

結論

このチュートリアルでは、パワー クエリに取り組み、ネットワーク、デスクトップ、OneDrive、または SharePoint の複数のフォルダーにあるファイルを結合しました。

この特定のチュートリアルで取り上げたコンテンツを気に入っていただけた場合は、LuckyTemplates TV チャンネルに登録してください。私自身やさまざまなコンテンツ作成者からの膨大な量のコンテンツが常に公開されており、すべて LuckyTemplates と Power Platform の使用方法を改善することに専念しています。


Power Automate の文字列関数: Substring と IndexOf

Power Automate の文字列関数: Substring と IndexOf

Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。

2 つの方法による SharePoint 列の検証

2 つの方法による SharePoint 列の検証

SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。

Power Automate のオンプレミス データ ゲートウェイ

Power Automate のオンプレミス データ ゲートウェイ

ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。

DAX 数式での LASTNONBLANK の使用

DAX 数式での LASTNONBLANK の使用

DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。