Excel:PowerQueryでデータ ソースを動的に変更する方法
ここではPowerQueryでデータソースを動的に変更する方法について説明していきます。
セルに指定したファイルのパスをクエリのソースにできるので、ツールの利用者などでも簡単にパスを変更することができます。
0.流れ
- Excelのシートにソースとなるパスをセルに記載する
- 対象セルを「テーブル」にする
- 「テーブル」をクエリエディターで読み込む
- 読み込まれたクエリを「ドリルダウン」にする
- 動的にしたいクエリのソースのパスに③の「クエリ名」を指定する。
1.Excelのシートのセルにパスを記載
以下のように、ExcelのシートにPowerQueryでソースが参照したいファイルのパスを記載します。このパスからデータソースを読み込むようにします。
2.対象セルを「テーブル」にする
3.「テーブル」をクエリエディターで読込む
※Excelのバージョンによって文言や場所が微妙に違います。
※読み込まれたクエリ名はクエリを選択し右クリックや、「F2」で変更できるので分かりやすい名前に変更しておきます。
4.読み込まれたクエリを「ドリルダウン」にする
5.動的にしたいクエリのソースのパスに「3」で作成した「クエリ名」を指定
(1)PowerQueryエディターで動的にしたいクエリを選択し、右のクエリの設定で「ソース」を選択します。
ダブルクオーテーションは不要です。
※「数式バー」が表示されない場合は以下を参照してください。
6.設定の確認とエラーが出た場合の対処方法
以上の設定が完了し、以下のように指定したパスのソースが読み込まれば正常に設定完了となります。
エラー対応
PowerQueryでソースのパスを動的設定すると、以下のエラーが出ることがあります。
- Formula.Firewall: クエリ ‘Sheet1’ (ステップ ‘ソース’) は他のクエリまたはステップを参照しているため、データ ソースに直接アクセスできません。このデータの組み合わせを再構築してください。
Excel:PowerQueryで「データ ソースに直接アクセスできません」というエラーの対処方法
【Excel PowerQuery】「Formula.Firewall: ・・・データ ソースに直接アクセスできません」というエラーの対処方法