Power Appsの使い方

Power AppsとPower Automateの使い方やできることがわかるブログを目指しています。

Power Apps As 演算子で可読性を向上させよう!

As演算子は、ThisRecord と同じようにレコードを参照しやすくしてくれる演算子です。

この演算子を使用するとコードの可読性が向上するとともに、多重ループの処理を簡単に書くことができます。

 

シンプルな例

ForAll(

    [1,2,3,4,5As Index,

    Patch(SampleDataSourceDefaults(SampleDataSource), { IDNumber:Index.Value } )

)

 

具体例

ForAll(

    colItems,

    Patch(

        DataSourceItems,

        LookUp(DataSourceItems As Item,Item.ID = ThisRecord.ID),

        {

            CostThisRecord.Cost,

            StatusThisRecord.Status

        }

    )

)

 

 

ForAll() での利点

ThisRecord は一番深いネストのレコードを参照することができません。As では各テーブルに名前を設定することで、親階層のループレコードを参照することができます。

また、明示的に名前を指定することでコードの可読性を向上させることができます。

 

Gallery での利点

Gallery.Items に指定するテーブルに名前をつけることで、コレクション化や変数に入れておかなくてもGalleryItemsを参照することができます。

 

Gallery.AllItemsでも同じように参照することができますが、こちらはコントロールの情報も含まれており、ケースによっては使用しにくい問題がありました。これを解決することができます。

 

また、こちらもForAll()と同様にネストでの参照に対応することができます。Galleryをネストしている場合でも、現在のレコードを簡単に参照できます。

実装前は現在のレコード参照はTthisItemのみであり、最も深いネストのGalleryしか参照することができませんでした。これが解決されます。

 

まとめ

As演算子ができる前は実装が難しかった入れ子になったForAll()の実装などが簡単に行えるようになりました。また、名前をつけることで参照しているテーブル(レコード)が明示化され、コードの可読性も向上させることができます。

 

これが扱えるようになればPower Apps の実装の幅が広がります。是非とも押さえておきたい演算子ですね。

 

PR

Power Apps  Power Automate のアプリ作成支援や導入支援サービスを提供しています。

Power Apps / Power Automate 技術支援サービス | ZEE CitizenDevSupport

https://powerapps.zee-citizendevsupport.com/

Power Apps や Power Automate に関する仕事のご依頼は下記ページからお問い合わせください。
ZEE CitizenDevSupport