PowerBI

【Power BI入門】データ格納場所をローカルからSharePointに変更する方法~ヘルパークエリとは?~

ミムチ
ミムチ
Power BIのデータソースの場所を、ローカルフォルダから、SharePointフォルダへ移行したいのですが、上手くいきませんぞ…

パワ実
パワ実
データソースをSharePointフォルダに変更する場合は、Power Queryでソースの変更だけじゃなく、ヘルパークエリの変更も必要だよ!

この記事では、Power BIのデータ格納場所をSharePointフォルダへ変更する方法について、ヘルパークエリの説明とあわせて解説します。

この記事でわかること

  1. Power BIのデータ格納場所をSharePointフォルダへ変更する方法
  2. ヘルパークエリとは何か?
  3. ヘルパークエリの活用方法

Youtube動画で見たい方は、こちらからどうぞ!

データを格納する場所について

データの格納場所とは?

Power BIでレポートを作成する際の元データとして、ExcelやCSV等のファイルを取得することも多いと思います。

取得するファイルを格納する場所の候補は、いくつかあります。

ミムチ
ミムチ
データを毎日自動で更新する等したい場合は、SharePointフォルダや、OneDriveが良いのですな!

パワ実
パワ実
そうだね。逆に一度レポートを作ったら、データ更新がない場合や、一時的に作るレポートなら、ローカルフォルダからの取得でもOKだよ!

Power BIレポートは毎月システムからデータ出力する等データを更新する場合も多いと思うので、SharePointフォルダ、Teamsのフォルダ、OneDrive等にファイルを格納するのがおすすめです。

SharePointフォルダ、Teamsフォルダ、OneDriveはどれも、SharePointフォルダからのデータ取得になります。

SharePointフォルダからファイルを取得し、データの自動更新(スケジュール更新)設定をする方法については、以下の記事を参考にしてください。

Power BIでSharePointフォルダに接続し、自動更新設定する方法 この記事では、Power BIでSharePointフォルダーからデータを読み込み、自動更新設定する方法を解説します。 ...

データ格納場所の変更例

データーソースの変更例としては以下のようなパターンがあり、それぞれPower Queryでの修正方法が異なる点に注意しましょう。

ローカルフォルダ間で格納場所を変更する場合、Power Queryでは「適用したステップ」の「ソース」の設定(⚙)から、フォルダパスを変更するのみです。

一方で、SharePointフォルダへ格納場所を変更する場合、「ソース」の変更と「ヘルパークエリ」の変更も必要な点に注意しましょう。

特にローカルフォルダ➡SharePointフォルダの場合、「ソース」の設定(⚙)からではなく、式(M言語)自体の修正が必要なので、気を付けてください。

ヘルパークエリとは?

ヘルパークエリは、Power Queryで「Fileの結合」をした際に、自動的に作成されるクエリです。

フォルダーをデータソースにしている場合、基本的に複数のExcelやCSVファイルを格納し、ファイルの結合していることが多いと思います。

「Fileの結合」をすると、1ファイルずつ、ヘルパークエリのサンプルファイルで設定した処理(適用したステップ)がされ、最後に1つのテーブルに結合し、元のクエリに反映されます。

そのため「適用したステップ」で「ファイルの結合」をしている場合、データソースの変更だけではなく「ヘルパークエリ」の変更も必要になります。

基本的にはデータソースの置き場所を変えるのは面倒なので、誰がデータソースにアクセスできる必要があるのか、データ更新の必要があるか等を考えて、データの置き場所を決めましょう。

ミムチ
ミムチ
何だか「ヘルパークエリ」とは、勝手に作成されるし、邪魔な感じですな…

パワ実
パワ実
そんなことないよ!
「ヘルパークエリ」は、1ファイルずつ処理したいステップを追加できたりもするから、結構便利なんだよ。

例えば以下のように、ヘルパークエリの「サンプルファイルの変換」で、ステップを追加し「月ベル順位」列を追加します。

すると、ヘルパークエリで1ファイル(1月分のデータ)ごとに、売上金額が多い順に「月別順位」が1位~4位の値で登録され、元の「Sales」クエリには全ファイルが結合された状態で反映されます。

これにより、例えば以下のように、ショップごとの月別順位をPower BIレポートに表示することができます。

ミムチ
ミムチ
なるほど、ヘルパークエリにはこういった使い方もあるのですな!

フォルダー場所の変更方法

パワ実
パワ実
それではデータソースの格納場所を変更する具体的な方法を解説します!

SharePointフォルダ ➡ SharePointフォルダ

SharePointフォルダに格納しているファイルを、別のSharePointサイトのフォルダに変更する場合の手順を説明します。

元の格納場所は、SharePointサイト「PowerBIData」のドキュメントフォルダ「SalesData」です。

これら5ファイルを、SharePointサイト「PowerBITest」のドキュメントフォルダ「SalesData」へ移動することにします。

1.Power BIデスクトップの「データの変換」から、Power Queryエディターを開きます。

2.適用したステップの「ソース」の設定(⚙)をクリックし、SharePointフォルダのURLを変更します。

※SharePointサイトの「ホーム」タブをクリックしたときの、URLをコピーします

格納しているフォルダ名等が異なる場合は、「フィルターされた行」のステップ等も変更しましょう。

3.最後のステップを選択してプレビューの更新をしてみると、「’サンプルファイル’クエリーでエラーが発生しました」と表示されています。

4.「ヘルパークエリ」の「サンプルファイル」を見てみます。

5.先ほどと同様の手順で、適用したステップの「ソース」を変更します。

必要であれば、「フィルターされた行」のステップも変更します。

6.元のクエリ「SalesData」に戻り、適用したステップの一番最後のステップを選択し、エラーがないことを確認したら、ホーム>閉じて適用をクリックします。

ローカルフォルダ ➡ SharePointフォルダ

次に、ローカルフォルダに格納しているファイルを、SharePointサイトのフォルダに変更する場合の手順を説明します。

ローカルフォルダに格納されたCSVファイルを、SharePointサイト「PowerBITest」のドキュメントフォルダ「SalesData」へ移動することにします。

1.先ほどと同様、Power Queryを開き「新しいソース」から、新規にSharePointフォルダからのデータ取得を行います。

クエリは任意の名称に変更します。(以下の図では「Sales_Master」)

SharePointフォルダからのデータ取得方法については、以下の記事も参考にしてください。

Power BIでSharePointフォルダに接続し、自動更新設定する方法 この記事では、Power BIでSharePointフォルダーからデータを読み込み、自動更新設定する方法を解説します。 ...

データソースをローカル➡SharePointフォルダに変更する方法については、以下2つのやり方を紹介します。

ローカル➡SharePointへのソース変更方法

  1. 元のクエリから、データマスタークエリを参照する
  2. 元のクエリ自体のソースのクエリを編集する

①データマスタークエリを参照する

1.元のクエリ「Sales」を選択し、適用したステップの「ソース」を「= Sales_Master」に変更します。

「Sales_Master」に含まれているステップは不要なので、「Sales」クエリからも削除します。

2.「Sales_Master」クエリはレポートでは使わないため、右クリックして「読み込みを有効にする」のチェックを外します。

これで、1つ目の方法は完了です。

SharePointフォルダからのデータ取得は「Sales_Master」クエリを新規に作り、元の「Sales」クエリは、「Sales_Master」クエリを参照しています。

その後の変換ステップがある場合は、「Sales」クエリの「ソース」以降に残しておけばOKです。

②元のクエリのソースを編集する

1.「Sales_Master」クエリから参照したくない場合、「Sales_Master」クエリを選択し、「詳細エディター」を開いて、クエリをコピーします。

2.元の「Sales」クエリの「詳細エディター」を開き、先ほどコピーしたクエリを貼り付けて「完了」をクリックします。

※「展開されたテーブル列」>「変更された型」以降のクエリがある場合は、残しておきます。

3.ヘルパークエリの「サンプルファイル」を選択し「ソース」の関数式を、「Sales」クエリの「ソース」の関数式からコピペします。

4.フィルターのステップ等がある場合は、サンプルファイルにも追加します。

5.元の「Sales」クエリの最後のステップを開いてみて、エラーが無ければOKです。

ミムチ
ミムチ
「Sales_Master」クエリを作っておけば、またデータ格納場所が変更されても、このクエリだけを変更すればよいのですな。

パワ実
パワ実
その通り!

データマスターのクエリは、1つのデータソースから参照して、複数のクエリを作成する際にも便利だよ!

最後に

この記事では、Power Queryの「ヘルパークエリ」とは何かについて解説し、ローカルフォルダーや、SharePointフォルダーに格納したデータの置き場所を変更する方法について説明しました。

「Fileの結合」をしている場合、元のクエリの「ソース」を変更したら、ヘルパークエリのサンプルファイルの「ソース」も変更が必要です。

元のクエリへの影響が少ない方法として、「データマスター」クエリを作成し、元のクエリから参照する方法も検討しましょう。

パワ実
パワ実
データソースの場所を変えるのは少し面倒なので、最初にデータ格納場所をよく間検討しておくことも大事です。

ABOUT ME
パワ実
DX推進担当(IT部門) 2021年からPower Platform(Power BI、Power Apps、Power Automate)を勉強中。 Power Platformを使っていく中で、知りえた情報を発信している。 Youtube、Twitterでの情報発信もしています!

Power Platformのご依頼・ご相談について

Power Platformについてのご相談、お仕事のご依頼については、
こちらのお問い合わせページをご確認ください。