見出し画像

Power BI -フォルダ内のファイルを一括取得(最新のファイルだけ取得)する方法

同一形式のファイルが毎月、毎週、毎日生成されるような場合、
それらのファイルを「一括で取得」して、
更新のたびに「自動でマージして処理」したいことがあると思います。

このような処理をする場合は、(簡単に行うためには)以下の条件があります。

1. 各ファイルが同一フォルダにあること
2. 各ファイルのデータフォーマットが同一(※)であること
3. ファイル形式が類似(※)していること

(※) データフォーマットが同じであれば(例えばエクセルだと、同一のセル番地に、同種類のデータが入っていること)、細かいデータ形式(xlsx, csv, xlsなど)の違いは問わないという意味です

フォルダから一括でファイルを取得してマージする方法

次のステップでできます。

Step 1:「データの取得」から「フォルダー」を選択

画像1


Step 2:マージしたい複数ファイルが入ったフォルダアドレスを指定して、「データの変換」を選択

画像2

画像3

「データの変換」を押すと、次のようにQueryエディターが起動し、取り込まれたデータが表示されます。
(データは、”1ファイル1行”として取り込まれます)

画像4

ちなみに、マージしたくないファイルがある場合は、この段階でソート(いらないファイルを除外)をしておけばよいです。


Step 3:「Content」の↓↓ボタンを押してファイルを自動でマージ(結合)

画像5

Content列の↓↓ボタンを押すと、「クエリを評価しています・・」などと表示されてクエリが勝手にマージするための下準備をしてくれます。
この表示が終わると、「Fileの結合」という画面が表示されます。

画像6

Fileの結合が表示されると、「サンプルファイル」が表示されて、
このサンプルファイルで選んだシートやテーブルと同一の、サンプルファイル以外のファイルのシートやテーブルがマージされます。

上記の例では、すべてのファイルのSheet1に同じフォーマットの売上データが入っているので、Sheet1を選択して「OK」を押します。
こちらが結合された後のクエリエディタの状態になります。

画像7

ヘルパークエリが自動で追加されていると思います。
これは「詳細エディター」を使って自分で各ファイルをマージすることもできる(らしい)のですが、それを自動で行うためにPower BIが作ってくれたクエリになります。
(気になる方は、「Power BI ヘルパークエリ」などと調べてみるとよいかと思います)


フォルダの中に格納されている最新ファイルだけを取得する方法

上述のように、フォルダ内の複数のファイルをマージせずに、
「最新のファイルだけを抽出」したい場合は、
上記のStep2の段階で、次のようにソートをかけます(超簡単です)

画像8

「最も遅い」が”最も直近”を意味します。
(「遅い」は英語の直訳なので一瞬迷うかもしれませんね)

ソートに使える列は複数ありますが、次の3つのどれかを使い分けるのが一般的だと思います。

「Date accessed」列:当該ファイルへ最後にアクセスした日時
「Date modified」列:最後に編集した日時
「Date created」列:最初にファイルが作成された日時

実務上、作成されたファイルがその後、少し編集されて最終化されるのであれば、
「Date modified」で直近編集されたファイルを抽出するのが適当かと思います。


以上になります。

この記事が気に入ったらサポートをしてみませんか?