PowerAppsで変数を扱う3つの方法【入門者向け】

スポンサードリンク



こんにちは。sinyです。

この記事はPowerApps入門者向けです。

PowerAppsで変数を扱う3つの方法についてまとめました。

PowerAppsで使える3つの変数

PowerAppsでは以下の3種類の変数を利用することができます。

種類 範囲 関数
Global変数 アプリ全体で利用 Set()
Context変数 特定の画面内で利用 UpdateContext()
Collection アプリ全体で利用 Collect(), ClearCollect()等

 

Set関数

PowerAppsアプリのどこからでもアクセス可能な変数を定義する場合はSet関数を利用します。

使い方は、Set(変数名,値)のように定義します。

具体例
  • アプリケーション開始時にアプリ利用ユーザ名を取得する場合
     Set(_userName, User().FullName)
  • 画面のボタン制御をするためのフラグ変数を定義する
     Set(errFlag, false)

UpdateContext関数

UpdateContext関数で定義した関数は、その画面内でのみ利用可能な変数になります。

UpdateContext関数の使い方
UpdateContext( { 変数名1: 値,  変数名2, 値 } )

利用例は以下のサイトも参考

 

Collect関数

テーブルのデータなどを一時的に保持しておきたい場合はコレクションという機能を利用します。

例えば、発注Noに紐づく明細リスト情報を登録したいような場合、明細リスト情報はいくつ登録するかわからないので、一時的にコレクション内に格納して最後に一括でデータ登録をまとめて行うといったケースで利用できます。

Collect関数の書き方

Collect( DataSourceItem, ... )

  • DataSource – 必須。 データを追加するデータ ソース(
  • Item(s) - 必須。 データ ソースに追加する 1 つ以上のレコードまたはテーブル。

例えば、SharePointリストとして以下のような明細リストが定義されているとします。

Item(商品名)、Quantity(数)、Price(値段)、Total(合計金額)

この明細リストに登録するための登録フォームを「+」ボタン自動生成したいケースでは、「+」ボタンのOnSelectプロパティに以下のような関数を設定します。

Collect(MeisaiCol, {Itm:"", Quantity:0, Price:0, Total:0});

これで、「+」ボタンを押したときに明細リストを登録するフォームが1行追加されて、MeisaiColに規定値と一緒に1レコード追加されます。
ちょっとイメージしづらいかもしれませんが、初期値で設定された明細リストを入力するフォームが1行追加されるというイメージです。

赤字部分がレコードの列部分を定義していて、上記例ではItemは初期値を空に、それ以外は初期値0として定義しています。
Json形式のような感じで列を定義するようになっているようですね。

ClearCollect関数

既に生成されているコレクションのレコードをすべて削除した上でコレクション内に初期値を設定したい場合に使う関数です。

使い方はCollectと同じです。

ClearCollectの使い方

ClearCollect(Collection,Item, ... )

  • Collection- 必須。 クリアした後にデータを追加するコレクション。
  • Item(s)- 必須。 データ ソースに追加する 1 つ以上のレコードまたはテーブル

 

具体例は以下の公式サイトも参照してみてください。

 

おすすめの記事