PR

Power Queryでパラメータを使ってファイルパスを指定する

Power Query応用
スポンサーリンク

PowerQueryを使って、Excelファイルを読み込んでデータ加工を行っているケースはあると思います。

次の図ではC:\PowerQuery1\売上明細データ.xlsxにあるExcelファイルを、売上月報xlsxファイルがPower Queryを使って読み込んでいます。

Excelファイルの読み込み

しかし、PowerQuery2といった違うフォルダにファイルが移動してしまうと、ファイルが読み込めなくなります。

Excelファイルが移動した場合

Power Queryエディタを開いてソースの設定を見ると、ファイルパスがハードコーディングになっているためです。

ファイルパスがハードコーディング

ファイルパスを修正すれば良いのですが、Power Queryの設定が複雑になればどこを設定すれば良いのか分かりくくなります。

自分が作ったものを他人が理解しやすいようにするためにも、パラメータを使う方が良いです。

スポンサーリンク

サンプルデータ

次の売上明細データを使います。

サンプルデータ

サンプルデータはこちらからダウンロードしてください。

スポンサーリンク

パラメータの設定

パラメータは、「パラメータ管理」と「パラメータクエリ」の2種類あります。

「パラメータクエリ」については推奨されませんが、それぞれの使い方を解説します。

パラメータの管理を使う

Power Queryのパラメータ管理機能を使います。

Power Queryエディタを開き、「ホーム」タブー「パラメータの管理」をクリックします。

パラメータの管理

「新規作成」をクリックします。

パラメータの管理の新規作成

次を入力し、OKをクリックします。

名前:「param_sales_filepath」を入力
説明:パラメータの意味が分かる説明
種類:「テキスト」を選択
提案された値:「任意の値」を選択
現在の値:「C:\PowerQuery1\売上明細データ.xlsx」を入力

パラメータの管理の設定画面

パラメータが作成されました。作成されたパラメータをクリックし「現在の値」を変更することでパラメータを変更可能です。

パラメータ変更可能

作成したパラメータを使用するには、適用したステップの「ソース」をクリックし、ファイルパスの部分をパラメータの名前を入力します。

ファイルパスをパラメータに置き換え

これでファイルパスが変わっても、パラメータの値を変更すれば良くなります。

パラメータクエリを使う

クエリを作成し、クエリの出力結果をパラメータとして使用する方法です。

パラメータ用のシートを作成します。Excelのシートを作成し、シート名は「パラメータ」とします。

シート追加

1行目に列名として「ファイルパス」、2行目にパラメータの値としてファイルのパスを入力します。「挿入」ー「テーブル」をクリックし、テーブル形式に変換します。

パラメータを入力

「先頭行をテーブルの見出しとして使用する」にチェックを入れ、OKをクリックします。

テーブル作成

テーブル名はパラメータと分かるように名前を変更します。

「テーブルデザイン」タブを開き、「テーブル名」に「param_sales_filepath2」を入力します。

テーブル名変更

「データ」タブー「テーブルまたは範囲から」をクリックし、パラメータをクエリに読み込みます。

データの取得

Power Queryエディタが開きます。1行目を右クリックし、「ドリルダウン」をクリックします。

パラメータクエリの取得

パラメータクエリが出来ました。

パラメータクエリの完成

パラメータクエリはExcelのシートに出力する必要がないため、接続専用の設定を行います。

「ホーム」タブー「閉じて読み込む」の▼ボタンをクリックし、「閉じて次に読み込む」をクリックします。

閉じて次に読み込む

「接続の作成のみ」を選択し、OKをクリックします。

データのインポート設定画面

クエリが接続専用になりました。

接続専用に変更

作成したパラメータクエリを使用すると、以下のエラーメッセージが表示されます。

他のクエリまたはステップを参照しているため、データ ソースに直接アクセスできません。このデータの組み合わせを再構築してください。

ファイルパスをパラメータに置き換え

Power Queryでは、File.Contents の引数に他のクエリ(例:パラメータクエリ)を使うと、動的なデータソースとみなされてブロックされることがあります。

エラーを回避するには次の手順を試してください。

「ファイル」ー「オプションと設定」ー「クエリのオプション」をクリックします。

クエリのオプション

「プライバシー」ー「プライバシーレベルを無視すると、…」を選択し、OKをクリックします。

プライバシーレベルの設定画面

エラーが解消されました。

エラー解消後の画面

プライバシーレベルを変更すると次の警告が記載されております。便利ですが、できれば使用しない方が良いと考えます。

この設定により、未承認の人に重要なデータや機密のデータが開示される可能性があります。

プライバシーレベル変更の警告メッセージ

Excel/Power Queryのデータ加工相談サービス

Excel/Power Queryのデータ加工で悩んでおり、ネットや本で調べても解決しない場合は、一度ご相談下さい。

やりたいことをヒアリングして解決までサポートいたします。

ご相談内容の例
  • 前任者が作ったExcelファイルの数式等が意味不明で困っている
  • Power Queryを使ってExcelでデータ加工を行いたいが、うまく使いこなせない
  • 手作業が多く、業務効率化を行いたいが、どう進めていいか分からない

ココナラでご相談を受け付けております。ココナラの会員登録が必要になります。

Power Queryの学習に役立つおすすめ本
初心者向け 初心者~中級者向け 中級者~上級者向け
Power Query応用
スポンサーリンク
プロフィール
たがみ

IT業界20年程度のシステムエンジニアです。
構築したシステムのデータ検証をExcelで実施することが多く、検証作業の効率化を模索しているときにPower Queryと出会いました。
Excel業務効率化の手助けになればと当ブログを開設しました。
今ではデータ分析でPower BIを活用しており、Power BI、Excelの両方でPower Queryを活用しています。

たがみをフォローする
シェアする
たがみをフォローする
タイトルとURLをコピーしました