今度は、「データ接続を切り替える」という方法について学習していきます。この操作は、これまでの内容と比べると少し難しく感じるかもしれません。先にお伝えしておくと、今回はPower Queryの「詳細エディター」という機能を使用します。
まず、基本的な考え方から確認していきましょう。Power BIでは、元となるデータに接続し、そのデータを使ってデータモデルを作成し、さらにそのデータモデルをもとにグラフやビジュアルを作成していきます。たとえば、現在このようなレポートがあるとします。
「元のデータ」
↓
「Power Query」
↓
「データモデル」
↓
「既存のビジュアル」
という構成です。ところが、レポートを長期間運用していると、元となるデータに変更が発生することがあります。
たとえば、新しいデータソースに変更されたり、ファイルが新しくなったり、システムの変更によって列が追加されたり、場合によっては列名が変更されたりすることもあります。このようなローデータの変化は、長期的にPower BIを運用していれば、どうしても発生するものです。
そのたびにPower BIのレポートを最初から作り直していたのでは、大変です。そこで利用できるのが、「データ接続を切り替える」という方法です。
つまり、現在使用している古いデータソースから、新しいデータソースへ接続先を変更し、既存のデータモデルやビジュアルをできるだけそのまま利用するという考え方です。
前回の「データ ソース設定」は、「同じ構造のファイルの置き場所が変わった」ときの対応でした。一方、ファイルの種類やシート名、取り込み方そのものが変わるような場合には、Power Queryの「詳細エディター」でクエリの中身を直接書き換えるほうが、確実に切り替えられます。
では、実際に見てみましょう。Power Queryエディターを開き、クエリウィンドウで「販売実績」を選択した状態で、「ホーム」タブの「詳細エディター」をクリックします。すると、このクエリがやっていることがM言語のコードとして表示されます。
先頭のほうに「ソース = Excel.Workbook(File.Contents("C:\...\powerbi-sample-data.xlsx"), null, true)」のような行があります。これが「元のデータはどこにあるか」を示している部分です。その下の「ナビゲーション」にあたる行で、どのシート(またはテーブル)を取り出すかが指定されています。
データソースを切り替えるときは、この「ソース」の行と、シートやテーブルを指定している行を、新しいファイルに合わせて書き換えます。「完了」をクリックして、データ確認ウィンドウに新しいデータが表示されれば、切り替えは成功です。あとは「閉じて適用」でデータモデルに反映させます。
ポイントは、新旧のデータで列名がそろっていれば、リレーションもビジュアルもそのまま生き続けるということです。逆に、列名が変わってしまうと、その列を使っているビジュアルはエラーになりますので、その場合は列名の変更ステップをPower Queryで追加するか、ビジュアル側を修正することになります。
M言語のコードを見ると身構えてしまうかもしれませんが、書き換える箇所はほんの数か所です。分からないときは、コードをそのまま生成AIに見せて、「このクエリの参照先を、別のExcelファイルに変えたい」と相談してみてください。