PowerAppsのデータフローを構築する際に遭遇した問題。
SharePointサイトのドキュメントライブラリで管理しているExcelファイル、その中のテーブルで管理しているデータをDataverseテーブルへ連携したい。
連携にあたってはPowerAppsのデータフローを利用したい。PowerAutomateのワークフローによる連携もできなくはないがそもそもDataverseに入れるようなデータ規模感(件数)。パフォーマンス問題がほぼ確実に生じる。
Problem
Microsoft 365 Copilotさんに聞いてみると 「できない」 との回答。データフローではドキュメントライブラリのフォルダ内のファイルの一覧のようなファイルのメタデータの抽出はできるが、Excelに限らず個々のファイルのコンテンツについては抽出できない、と。。。
しかしMicrosoft 365 Copilotさんのことはそれなりに信頼しているものの、諦めきれず。ダメ元で試してみると、Dataverseの「データソースの選択」画面では「Excelブック」という選択肢が表示されるものの:
それをクリックすると表示される「データソースへの接続」画面では OneDrive利用が前提となっているよう に見受けられる:
それでも構わず「ファイルパスまたはURL」欄にドキュメントライブラリの「リンクのコピー」や「共有」メニューで取得したファイルのURLを入力してもエラーとなってしまう:
キャプチャでは「サインインしていません」との文言があるが、「サインイン」しても結果は同じ。
Solution
Excelファイルを開き 「情報」タブの「パスのコピー」ボタンで取得したURL を「ファイルパスまたはURL」欄に入力する。ただし末尾の?web=1
は削除する:
この状態で(資格情報は適宜入力)画面右下「次へ」をクリックするとすんなり接続成功、当該Excelファイルに存在するテーブルの一覧が表示され、データ連携のソースとして利用できるようになる。