ForAll + Patch で複数レコードを一括更新する with ThisRecord
以前同様の記事を書きましたが、Power Apps の機能が強化されもっと簡単に一括更新が行えるようになりました。(ThisRecord機能は結構前にアップデートされてた)
こちらの記事では、ThisRecordを使用した更新方法について書いていきます。こちらのほうがコードの可読性も向上しますので、おすすめです。
やり方
こんな感じで実装できます。
ForAll(
colItems,
Patch(
DataSourceItems,
LookUp(DataSourceItems As Item,Item.ID = ThisRecord.ID),
{
Cost: ThisRecord.Cost,
Status: ThisRecord.Status
}
)
)
以前のやり方に比べて、かなりスッキリ記述することができています。
ThisRecordについて
ThisRecordはForAll()やFilter()などで現在のレコードを参照するプロパティです。感覚的にはGalleryのThisItemに近いです。ThisRecordが使用可能な関数が入れ子になっている場合は、一番階層の深いものを参照します。親階層は参照できません。
参考URL
ThisRecord 演算子
https://docs.microsoft.com/ja-jp/powerapps/maker/canvas-apps/functions/operators#thisrecord-operator
PR
Power Apps や Power Automate のアプリ作成支援や導入支援サービスを提供しています。
Power Apps / Power Automate 技術支援サービス | ZEE CitizenDevSupport