2016-07-20 14 views
0

PowerQueryを使用してPowerPivotデータモデルにコンパイルしたい.xlsワークブックの階層に固執しています。PowerQueryを使用して複数のワークブックを複数のサブディレクトリ内の複数のワークブックから取り出す

マスターディレクトリ - 小売業者のフォルダ#1 - ブランド#1ワークブック - SKUワークシート#1 - SKUワークシート#2 - ブランド#2ワークブック - 小売フォルダの#2 - ブランド#1ワークブック - SKUワークシート#1 - SKUワークシート#2 - ブランド#2ワークブック

PowerQueryを使用して簡単にこれを行う方法はありますか?

1つの問題:すべてのワークブックには、除外する必要がある最後の2つのサマリータブが含まれています。同様に、すべてのフォルダには除外する必要がある集計でもある集計ブックが含まれています。

答えて

1

個人的に私は、デバッグするのが難しいと感じるので、機能を避けることを好みます。&代わりに、私はちょうど式を使用してカスタム列を追加し、その後、フォルダやフィルタから私がしたいファイルに使用します。

= Excel.Workbook ([Contents])

次にあなたは、シートやテーブルにこれを拡張し、そのリストをフィルタリングし、Excelを拡張することができます。データのセルに到達するためのWorkbook.Data列。各行のソース(どのフォルダ/ファイル/シート)を識別するのに十分なメタデータ列を保持できます。

これは、PQ UI内のクエリ全体のメンテナンスを維持します。問題が発生した場合(Excelソースでは避けられない)、プロセス全体を一歩進んで問題を特定できます。

私は、異なるソースクエリから複数の呼び出しがある場合にのみ関数を使用します。それはここの場合のようには聞こえません。

+1

これは素晴らしいです!私は昨日PowerQueryを使い始めました。かなり汚いデータの複数のディレクトリを単一のデータベースにコンパイルすることができました。私の代わりのソリューションは、VBAでこれらのディレクトリをループし、巨大な配列に引っ張り、CSVに書き込んでいました。これははるかに簡単です。お返事をありがとうございます。 –

0

する必要があります。フォルダから(Folder.Files)を使用してExcelワークブックにアクセスし、要約ブックをフィルタすることができます。残りのワークブックについては、Excelワークブックが与えられたら、必要なワークシートに移動して最後の2つの列を削除する関数を作成できます。この関数を呼び出すカスタム列を追加することができます。

関連する問題