PowerQueryを使いこなしていくと、数か月後にはPowerQueryのファイルパス(つまりソースとなるパス)を動的に操作する方法があれば、クエリはもっと良くなるのに、と思ったことがあるでしょう。
実は、あるんです!
この記事では、Excel Power Queryであたかも変数に値を導入して動的に値を変更する方法をご紹介します。
準備
まず、テーブル「Settings」を作成します。A列に「Name」B列に「Value」を入力します。A列には変数を、B列には値を入力します。参考までに今回のケースではCsv1Pathという変数を可変的にしていきたいと思います。

データ -> データの取得 -> クエリの結合 -> Power Queryエディターの起動をクリック

左のクエリエリアから右クリック=> 新しいクエリ => その他ソース => 空のクエリをクリックします。

詳細エディターをクリック

詳細エディターの中身には以下のように設定をします。詳細は次のコードをコピーして参照してみてください。

そしてクエリの名前をConfigに変更します。

let Config=(NameLabel) =>
let
Source = Excel.CurrentWorkbook(){[Name="Settings"]},[Content],
value = Source{[Name=NameLabel]}[Value]
in
value
in Config
ファイルパスを動的に変化させる
ファイルを読み込んでいる部分を変更していたいと思います。
現状ではFile.Contains(“ファイルのフルパス”)になっているところを
File.Contains(Config(“ファイルの変数名”))に変更したいと思います。


このように固定値であったファイルパスを変更することによって、変数のように扱うことができます。これを用いることによって、例えばExcelのひな形ファイルをテンプレートとして保存しておき、Settingsのテーブルの中身を変えるだけで様々なファイルを変更することができます。

コメントは受け付けていません。