💹
Power Query | SharePoint内のExcelファイルへのデータ接続
Goal
- Power Queryを用いてSharePoint上のExcelファイルへデータ接続する
背景
これまでのPower Queryを用いた分析作業においては個人用途がメインであり、データ接続先もLocalファイルまたはOneDrive内のファイルに限定されていた。自分が作成したデータを他のメンバーにも利用してもらうこととなったので、元データをSharePointに保管したうえで、各メンバーにはSharePoint内のデータへ接続することでデータを利用してもらうこととなった。
How
SharePointのURLを取得
- WEBブラウザからSharePointにアクセスし、該当ファイルのファイル名の右側にある「…」をクリックし、「リンクのコピー」をクリック。
コピーされたURL
https://[XXX].sharepoint.com/:x:/r/sites/common/Documents/[PATH TO FILE]/[FILE NAME].xlsx
留意点
- ファイルの拡張子(上記の例だと「.xlsx」)以降の部分はパラメーターのため不要。削除してコピーすること。
- [PATH TO FILE] -> 各ファイルの保存フォルダのパス
- [FILE NAME] -> 各ファイルの名称(拡張子含む)
- PATHの中に「:x:/r」が存在する場合がある。その場合は当該部分は削除する。
補足
- Excelファイルを直接読み込むのではなく、URLを用いて読み込むメリットとしては、「誰かがExcelファイルを開いていても、参照側のファイルでデータ接続を更新できる」という点がある。Excelファイルとしてデータ取り込みをした場合、参照元のファイルを閉じないと参照先でデータ更新ができない。これが地味に面倒。
Excelにおいてデータ接続設定
「Web」からデータ取得
Excelにおいて「データ」→「データの取得」→「その他のデータソースから」→「Webから」を選択。
SharePoint内のファイルを読み込み
-
ポップアップが表示されるので、先ほどコピーしたURLを貼り付けして、「OK」ボタンを押下。
-
「ナビゲーター」が表示され、指定したURLのファイルが読み込まれていることが確認できる。読み込みたい「シート」または「テーブル」を指定して、「読み込み」ボタンを押下(※読み込み前にPower Queryでデータ型等を調整したい場合は「データの変換」を押下)。
-
Excelファイルに新規にSheetが作成され、読み込んだデータがテーブル形式で表示されていることが確認できる。
- また、画面右側には「クエリと接続」が表示される。Excelファイルへデータを表示する前にPower Queryを用いて加工したい場合は、「クエリと接続」内に表示されているクエリをダブルクリックする(or 右クリックして「編集」ボタンを押下する)。
- Sheet名はクエリ名と同じ名称で作成される。変更しても問題無いが、クエリ名と一致させておいた方が管理しやすい。Sheet名を変更する場合はクエリ名も併せて変更することをお勧めする(注:クエリの編集画面で当該クエリを別のクエリが使用している場合は注意が必要)。
まとめ
以上の通りSharePoint内にあるExcelファイルのURLを用いて別のExcelファイルからデータ接続する方法を整理した。
その他
- 今回は対象ExcelファイルをSharePointリストにアップロードしようとしたところ、データ容量の関係なのかは不明だが、アップロードできなかったため代替手段として検討した方法。
- 以下のケースでどの程度接続速度が変わるのかは今後要検討。
- URLで接続してデータ接続(<-今回のケース)
- SharePoint Listからのデータ接続
- Dataverseからのデータ接続
- Accessからのデータ接続
Discussion