Power Apps As 演算子で可読性を向上させよう!
As演算子は、ThisRecord と同じようにレコードを参照しやすくしてくれる演算子です。
この演算子を使用するとコードの可読性が向上するとともに、多重ループの処理を簡単に書くことができます。
シンプルな例
ForAll(
[1,2,3,4,5] As Index,
Patch(SampleDataSource, Defaults(SampleDataSource), { IDNumber:Index.Value } )
)
具体例
ForAll(
colItems,
Patch(
DataSourceItems,
LookUp(DataSourceItems As Item,Item.ID = ThisRecord.ID),
{
Cost: ThisRecord.Cost,
Status: ThisRecord.Status
}
)
)
ForAll() での利点
ThisRecord は一番深いネストのレコードを参照することができません。As では各テーブルに名前を設定することで、親階層のループレコードを参照することができます。
また、明示的に名前を指定することでコードの可読性を向上させることができます。
Gallery での利点
Gallery.Items に指定するテーブルに名前をつけることで、コレクション化や変数に入れておかなくてもGalleryのItemsを参照することができます。
Gallery.AllItemsでも同じように参照することができますが、こちらはコントロールの情報も含まれており、ケースによっては使用しにくい問題がありました。これを解決することができます。
また、こちらもForAll()と同様にネストでの参照に対応することができます。Galleryをネストしている場合でも、現在のレコードを簡単に参照できます。
実装前は現在のレコード参照はTthisItemのみであり、最も深いネストのGalleryしか参照することができませんでした。これが解決されます。
まとめ
As演算子ができる前は実装が難しかった入れ子になったForAll()の実装などが簡単に行えるようになりました。また、名前をつけることで参照しているテーブル(レコード)が明示化され、コードの可読性も向上させることができます。
これが扱えるようになればPower Apps の実装の幅が広がります。是非とも押さえておきたい演算子ですね。
PR
Power Apps や Power Automate のアプリ作成支援や導入支援サービスを提供しています。
Power Apps / Power Automate 技術支援サービス | ZEE CitizenDevSupport