三島正裕のOffice 365徹底活用コラムPower Apps編「ExcelテーブルをSharePoint Onlineへ移行するには。委任についても少し触れます」
目次
はじめに
こんにちは!クラウドビジネス担当の三島です。今回はExcelテーブルをSharePoint Onlineへ移行する方法について紹介をしたいと思います。当コラムでは、よくExcelを使ったPower Appsアプリの作り方を紹介させて頂いているのですが、実を申しますと、Excelはデータベースではありませんので、大人数で利用をするアプリのデータソースとしては向いてはいないのです。
では、SharePoint Onlineのリストは如何でしょう?こちらは簡易ではありますがデータベースの機能を備えていますので、Excelよりはデータソースとして適しています。良いアプリを作るのであれば、本来ならば、SharePoint Onlineを使用するべきですが、ExcelよりもSharePoint Onlineが有利な点は何なのでしょうか?その違いを説明するために、「委任」というキーワードについて、少しだけお話をさせて頂きたいと思います。
「Power Apps」と「Excel テーブル」のやり取り
ExcelテーブルがPower Appsに接続されている場合、その間のやりとりはどのようになっているのでしょうか。例えばPower Appsアプリでユーザーが一覧からデータを選択し、その詳細情報を見ようとします。Power Appsはデータを取得するためにExcelテーブルに問い合わせます。「ユーザーが選択されたデータだけを下さい」。ところが、Excelはデータベースのように検索したデータをアプリに返す機能がないので、持っているテーブルデータを全て返してしまいます。「私にはどのデータかわからないので、全てお渡しします」。Power Appsはデータを全て受け取り、自分で検索をして画面にデータを表示するのです。
Excel 側に大量のデータがあると・・・
Excelテーブルにわずかなデータしかなければ、このやり取りでも良いのかもしれませんが、例えばもし、Excelテーブルに1万件のデータがあったらどうなるでしょう。Power AppsがExcelに問い合わせる度に1万件のデータがPower Apps側に送られるわけです。外出先のスマホでこのやりとりをしていたら、アプリによってはあっという間にデータ通信量の上限を超えてしまうかもしれませんよね。
そうならないためにも、Power Appsでは受信出来るレコード数に制限を設けていて、デフォルトの設定で500レコード。最大2000レコードまでしか受け取れないような仕組みが設けられているのです。
では、これがSharePoint Onlineではどうなるのでしょう。SharePoint Onlineはデータベースの機能を備えていますので、Power Appsが条件を指示すると、その指示通りにデータを送信してくれます。この機能がデータベースの「委任」と呼ばれる部分です。この機能があるおかげで、Power Appsが受け取れるレコードの上限に引っかかる可能性は極めて少なくなります。下図の例では、SharePoint OnlineはPower Appsでユーザーが選択したレコードを1件だけ返すはずです。
Power Appsはアプリ内で関数を使うことで、データソースに対して様々な指示を出すことが出来ます。この指示が受け取れないデータソースは、テーブルに保存をしているレコードを全て返してしまうわけですが、逆に実行出来る指示の数が多いデータソースほど、より高速で、高度なアプリ開発が行えるデータソースとなるわけです。SharePoint Onlineよりも委任が出来る数が多いデータソースとしては、AzureのSQL DatabaseやPower PlatformのCommon Data Serviceがあります。Microsoft365のライセンスのみで委任が出来るデータソースはSharePoint Onlineまでで、それ以上の性能を持つデータソースを利用する場合は、有償のPower Appsライセンスを購入する必要があります。
サイトを作成しなくてはならないという手間はありますが、SharePoint OnlineのリストがExcelよりもデータソースとして優れているという点があるということはご理解出来ましたでしょうか。それではSharePoint OnlineへのExcelテーブルの移行方法について説明をさせて頂きます。移行をする前にSharePoint Onlineで移行先のサイトを作成しておく必要がありますが、作成方法については、今回のコラムでは割愛させて頂きます。今回使用するのはローカルにあるExcelです。テーブル形式で保存されたExcelファイルを開くと、テーブルデザインというタブが表示されています。この中にある「エクスポート」を選択して、「テーブルをSharePointリストにエクスポート」をクリックします。
エクスポートウィンドウが表示されますので、SharePoint Onlineのサイトアドレスをコピーして、アドレス欄に張り付けます。名前の入力フォームに新たに作成するリスト名を入力して「次へ」をクリックします。次のステップでリストへの変換内容を確認して、問題がなければ「完了」ボタンを押します。
しばらくするとエクスポートが完了し、リンク先が表示されたダイアログが表示されます。リンク先を確認するとサイトにリストが作成されているのがわかると思います。
移行結果を確認して、内容に問題がなければ完了です。もし、Excelテーブル側に接続をしているPower Appsアプリがありましたら、Power Apps上で接続先をSharePointリストに切り替えて、項目名などを整えます。
さいごに
今回はExcelテーブルの移行について紹介しましたが如何でしたでしょうか。SharePoint リストに切り替えるだけでも、レコード件数の問題をクリア出来るケースは多くありますので、Excelテーブルで運用されているアプリがございましたら、ぜひトライをしてみて下さい。
最後に、SharePointリストのレコード件数についてですが、当コラム執筆時点でのしきい値は5000レコードとなっています。これを超えるレコードを登録していると、下図のように警告メッセージが表示されます。その際は、少ないレコード件数で運用出来る仕組みに変えるか、より高度なデータソースを使用する必要がありますので、移行される際にはご注意下さい。
「Microsoft Power Apps」につきましては、ディーアイエスサービス&ソリューションまでお気軽にお問い合わせください。それでは次回もお楽しみに。
本コラムは2020年12月時点での情報を基に作成しています。
三島正裕が登壇!オンデマンドウェビナー
Excelでまとめている、その商談記録。わずか10分でスマホアプリにしてみます!
どんなレイアウトでも大丈夫。フリーアドレス座席予約アプリを10分で作成します。
Dataverse をさらっと知りたい皆様へ。画像付きドキュメント管理アプリを10分で作成します。
https://www.cloudtimes.jp/dynamics365/resource/low-code-tool-dataverse-for-teams