Excel:PowerQueryでデータ ソースを動的に変更する方法


 ここではPowerQueryでデータソースを動的に変更する方法について説明していきます。
 セルに指定したファイルのパスをクエリのソースにできるので、ツールの利用者などでも簡単にパスを変更することができます。

0.流れ

  1. Excelのシートにソースとなるパスをセルに記載する
  2. 対象セルを「テーブル」にする
  3. 「テーブル」をクエリエディターで読み込む
  4. 読み込まれたクエリを「ドリルダウン」にする
  5. 動的にしたいクエリのソースのパスに③の「クエリ名」を指定する。

1.Excelのシートのセルにパスを記載

以下のように、ExcelのシートにPowerQueryでソースが参照したいファイルのパスを記載します。このパスからデータソースを読み込むようにします。




2.対象セルを「テーブル」にする


対象のセルを選択し、「挿入」→「テーブル」をクリックします。

確認画面が出るので、問題なければ「OK」をクリックします。


3.「テーブル」をクエリエディターで読込む


「データ」タブ→「テーブルまたは範囲から」をクリックします。
※Excelのバージョンによって文言や場所が微妙に違います。
PowerQueryエディターが開き、以下のように読み込まれます。
※読み込まれたクエリ名はクエリを選択し右クリックや、「F2」で変更できるので分かりやすい名前に変更しておきます。

4.読み込まれたクエリを「ドリルダウン」にする


取り込んだクエリのパスで右クリック→「ドリルダウン」を選択します。
「表」マークが「ABC」というマークに変わります。



5.動的にしたいクエリのソースのパスに「3」で作成した「クエリ名」を指定

(1)PowerQueryエディターで動的にしたいクエリを選択し、右のクエリの設定で「ソース」を選択します。


(2)「クエリの設定」の「ソース」を選択すると、「数式バー」に以下のようにソースのリンクが表示されます。

(3)「ソース」の「数式バー」のパス部分を「3」で作成した「クエリ名」に変更します。
ダブルクオーテーションは不要です。

※「数式バー」が表示されない場合は以下を参照してください。

Excel:PowerQueryエディターの数式バーの表示方法

【Excel PowerQuery】PowerQueryエディターの数式バーの表示方法



6.設定の確認とエラーが出た場合の対処方法

以上の設定が完了し、以下のように指定したパスのソースが読み込まれば正常に設定完了となります。


もし以下のエラーが出た場合は、次のエラー対応方法を試してください。

エラー対応

 PowerQueryでソースのパスを動的設定すると、以下のエラーが出ることがあります。

  • Formula.Firewall: クエリ ‘Sheet1’ (ステップ ‘ソース’) は他のクエリまたはステップを参照しているため、データ ソースに直接アクセスできません。このデータの組み合わせを再構築してください。
 その場合、以下の記事の方法でプライバシー設定を変更すると接続できるようになり、エラーは解消されます。

Excel:PowerQueryで「データ ソースに直接アクセスできません」というエラーの対処方法

【Excel PowerQuery】「Formula.Firewall: ・・・データ ソースに直接アクセスできません」というエラーの対処方法




おすすめ