概要
Power Apps のキャンバスアプリのでデータソースに対してデータを追加する時には Patch 関数と Collect 関数が使えます。このどちらを使えばいいのかを今回は解説します。
また、この情報は 2021/05/10 時点の日本環境でのものとなります。
Collect 関数とは
公式より
Collect 関数は、データ ソースにレコードを追加します。
Patch 関数とは
公式より
Collect 関数は、データ ソース 内で 1 つ以上の レコード を変更または作成するか、データ ソースの外部でレコードをマージします。
違い
Patch 関数には以下のメリット・デメリットがあります。
- 1件のデータを登録する時には結果が戻り値として帰ってくるので使いやすい
- Patch 内で起こったエラーを拾える
- 大量のデータを入れると時間がかかる or そもそもできない
- 公式のサンプルアプリでは Patch が使われている
Collect 関数には以下のメリット・デメリットがあります。
- 複数のデータを登録する時は高速
- 公式のサンプルアプリでは使われていない
- 戻り値が基本的にテーブル型で帰ってくるため、Firstなどの関数を使う必要がある
- エラーが拾いにくい
結論
おそらくこの両者を実際に業務で使う場合以下の部分を検討し、選ぶ必要があります。
- エラーを拾う必要があるようなアプリケーションか
- データを大量に入れるかつ速度が必要か
1 の場合、Patch 関数を使うのが楽ですし、 2の場合は Patch の実行時間を考慮できるかという問題になります。
Collect を選ぶ場合は 1 の考慮をどのように行うのか、また、途中でエラーが起こった場合どのようにそのエラーを検知するのかといったことを検討して、使うべき関数を選びましょう。