はじめに
Power Apps で Excelファイルのテーブルをデータソースにする場合のイケてないポイントってなんでしょう?
- 同時編集しようとすると (あるいはファイルを開いていると) アプリ側でエラーが出てしまう
- 委任可能なデータソースではない
- レコードの作成者などの情報が残らない
- Excel なのにセルに数式が入っているとエラーになる
これらは一人のユーザーだけがそのアプリを利用する場合には些細な問題ですが、複数のユーザーで利用するアプリであれば当然、運用に乗せられない原因になりえます。
とりわけ、同時編集と委任の問題はかなり強い制限で、前者はExcel ファイルであることの良さをスポイルしていますし、後者はレコード数の制限になってしまいます。
このあたりの話は Shane Young の以下のビデオで解説されています。
QTT - Power Apps Excel is a terrible data source - YouTube
Excel データソースに関する改善
以前のブログでも紹介しましたが、この状況を劇的に改善するようなアップデートがアナウンスされました。
この中で書かれていることは、『新しいExcel Onlineコネクターによって、Graph APIでサポートされるドキュメントライブラリ (OneDrive含む) の Excel ファイルを利用したアプリを複数ユーザーが使えるようになる』 というものです。
つまり、このアップデートによって、イケてないポイントの 「1.同時編集しようとすると (あるいはファイルを開いていると) アプリ側でエラーが出てしまう」 は改善されたことがわかります。
注意事項
アップデートされたExcel Online コネクターを利用して Excel ファイルにアクセスするためには 必ず データの追加から、Excel Online (Business) を選んでください。
Power Apps を作り始めるときのトップにある「Excel Online」は古いコネクターを使うので、上記のアップデートは適用されません。
追加のボーナス
ここからが本題です!
Excel Onlineコネクターはこれまで Power Automate で利用可能でした。そしてイケてないポイントの2, 4 (委任と数式入りセル) の問題はありませんでした。
Power Apps でも、Excel Onlineコネクターを利用したことにより、部分的な委任と、数式入りセルの評価がサポートされました!
委任可能な操作は、単一の条件でのFilterです。 もともと Power Automateでも単一条件での Filter queryがサポートされていたので、これを継承しています。
Power Apps では "="(イコール), StartsWith, EndsWith がFilterの中で利用できます。
数式入りのセルについても数式を含むセルの計算後の値が取得できていることがわかります。
また、Sort処理も対応されていて、なんと100万件でもOKというのを Matthewが検証してくれました!
OK, I've tested #PowerApps with an #Excel datasource and it can read-in all 1,048,575 rows.
— Matthew Devaney | MVP | #PowerAddicts (@mattbdevaney) April 30, 2021
Are you happy @ehansalytics?😂 pic.twitter.com/Kwe3ePmajh
アップデートまとめ
今回のExcel データソースに関するアップデートによって、ドキュメント化されていないものも含め、以下4点が可能になっています。
- ドキュメントライブラリのExcelファイルサポート
- 複数人での同時編集
- 数式を含むセルの評価
- 単純な委任処理
これはこれまでの「Excelファイルデータソースよくない」の常識を覆すアップデートですね!!
複数人で使う=SharePointリスト となっていましたが、用途によっては全然問題なくExcelで行けると思います!!
さらに
Ai Hirano さんに教えていただいたのですが、最近のExcel Onlineのアップデートで、セル単位の変更履歴が表示されるようになりました。
これで行単位でも誰が作成・更新したかを見ることができますね!