PowerAppsで使用できる3つの変数~Set,Context,With~
PowerAppsでも変数を使用することができます。
ただ、一般的なコードと少し違っているので、どのように違っていてどう使えばいいのか分かりづらい部分が多いです。
この記事では、PowerAppsで使用することができ、よく使用している変数3種類と、それぞれの使い方について紹介していきます。
実際に私が使っているものですので、参考にしてみていただければと思います。
目次(クリックで読みたい部分にジャンプできます)
使用可能な3つの変数
PowerAppsで使用できる3つの変数について紹介します。
使用できる変数は以下の3つです。
- 中間変数
- コンテキスト変数
- グローバル変数
これら3つの違いは、適用範囲の違いにあります。
以降でそれぞれの変数について詳しく紹介しますが、以下のような位置付けだと覚えておいてください。
3つの変数の位置付け
グローバル変数
=アプリ全体に対して使用できる変数
コンテキスト変数
=1画面の中のみで使用できる変数
中間変数
=With関数内で使用される変数
グローバル変数
PowerAppsにおけるグローバル変数は、
アプリ全体で共有される変数のことを言います。
これらの変数は、アプリのどこからでもアクセス可能で、アプリの異なるスクリーンやコントロール間でデータを共有するのに、非常に便利です。
グローバル変数は、Set関数を用いて設定され、その値はアプリが閉じられるまで維持されます。
グローバル変数の設定方法
グローバル変数の設定方法です。
Set関数を使用することで、設定することができます。
Set(globalVar, "こんにちは!")
変数を使用する際には、
グローバル変数をそのまま宣言することで参照が可能です。
例えば、ラベルのTextプロパティに
グローバル変数を表示させたい場合には、次のように設定します。
globalvar
コンテキスト変数
PowerAppsのコンテキスト変数は、アプリの特定のスクリーン(画面)に固有の変数です。
これらの変数は、そのスクリーン内でのみ有効であり、
他のスクリーンからは直接アクセスすることはできません。
コンテキスト変数は、主にスクリーン内のコントロール間でデータを受け渡したり、
特定のスクリーンに関連する状態を管理するために使用できます。
グローバル変数と似ていて、違いは有効な範囲の違いのみになります。
スクリーン内のみで使用できるのが、コンテキスト変数。
アプリ全体で使用できるのが、グローバル変数です。
コンテキスト変数の設定方法
コンテキスト変数の設定方法は、UpdataContext関数を使用して設定されます。
UpdateContext({varExample: "Hello World"})
設定方法もグローバル変数と似た設定方法になっています!
グローバル・コンテキスト変数の実践的な使用例
では、グローバル関数の実践的な使用例について紹介していきます。
グローバル変数とコンテキスト変数の使用方法は似ているので、例では「グローバル変数」のみで紹介しています。
この中で、参考になる部分があったら嬉しいです。
グローバル変数にユーザーの選択を保存
ユーザーがドロップダウン(コンボボックス)から、
選択した値をグローバル変数に保存し、アプリ全体でその選択を参照する例です。
- コンボボックス(ComboBox1)にいおくつかの選択肢を設定します。
- ComboBox1のOnChangeイベントに以下のコードを設定します。
Set(globalUserChoice, ComboBox1.Selected.Value)
そうすると、ユーザーがドロップダウンから選択すると、その選択がグローバル変数に保存されます。
テキスト入力からデータをグローバル変数に格納
ユーザーがテキストボックスに入力したテキストをグローバル変数に保存する例です。
- テキスト入力コントロール(TextInput1)を配置します。
- TextInput1のOnSelectイベントに以下のコードを設定します。
Set(globalTextInput, TextInput1.Text)
ユーザーがテキストを入力し、コントロールからフォーカスが外れると、
入力されたテキストが、globalTextInputに保存されます。
複数の値を持つグローバル変数の使用
複数の値を持つレコードをグローバル変数に格納する例です。
- ボタン(Button1)を配置し、OnSelectイベントに以下のコードを設定します。
Set(globalUserInfo, {Name: "ユーザー名", Age: 30, City: "東京"})
このコードはglobalUserInfo
という名前のグローバル変数に、
名前、年齢、都市という複数の属性を持つレコードを格納します。
中間変数
PowerAppsの中間変数は、
With 関数を使用して一時的な名前(別名)を作成します。
これにより、同じ計算や参照を何度も繰り返さずに済み、コードをより読みやすく、効率的にすることができます。
コンテキスト変数、グローバル変数との違い
違いは、Withブロック内でのみ変数を使用できることです。
With
関数を使用すると、
指定した式の結果を一時的な変数(中間変数)に格納し、そのWith
ブロック内で何度もその変数を参照できます。
これは、一時的なコンテキストを作成し、そのコンテキスト内で変数を使用することに似ていますが、
コンテキストやグローバル変数とは異なり、With
ブロックの外ではその変数は使用できません。
これにより、メモリの圧迫を防ぎ、パフォーマンスの向上が期待できます。
中間変数の設定方法~With~
With({ LocalVariable: Expression }, ResultExpression)
LocalVariable
はWith
ブロック内で使用するための一時的な変数(エイリアス)です。Expression
はLocalVariable
に割り当てる値または式です。ResultExpression
はLocalVariable
を使用する式です。
簡単な例を通してみた方が早いので、まずはいくつかの使用例を紹介します。
中間変数の使用例
単純な計算の例
数値計算を行う場合、
計算結果を一時的な変数に格納し、その結果を複数回使用することができます。
With({ result: 5 + 10 }, result * result)
この例では、まず5と10を足し、その結果(15)をresult
というローカル変数に格納します。
次に、result
の値を自身で乗算します(15 * 15)。
この場合、結果は225と表示されます。
データソースからの検索
LookUpなどの関数を使用して、データソースからデータを取得して変数に格納することも可能です。
With({ selectedProduct: LookUp(Products, ID = 123) }, selectedProduct.Price)
この例では、IDが123の製品をProducts
データソースから検索しています。
その結果をselectedProduct
という変数に格納します。その後、selectedProduct
のPrice
属性を取得します。
このようにWith関数の中で、使用することができる変数のことを中間変数と言います。
複数のローカル変数を定義することも可能です。
With({ var1: Expr1, var2: Expr2 }, ResultExpr)
式を簡略化するのに役立ちますので、使用してみることをお勧めします。
PowerAppsを学ぶにはUdemyがおすすめ
この記事では
「PowerAppsで使用できる3つの変数~Set,Context,With~」を詳しく解説しました。
この知識も私がUdemyで学んだことから得られたものです。
実は、Udemyでは本には載っていない専門的な分野や最新の技術トレンドに関する豊富なコースが用意されています。
これらのコースを通じて、私は多くの実践的なスキルを身につけることができました。
あなたもUdemyで新しい技術を学び、キャリアや趣味に生かしてみませんか?
興味のあるコースを探して、今すぐ学び始めることができます。
下記のリンクからアクセスして、あなたに合ったコースを見つけてください。
PowerAppsのさらに深い理解と実践的なスキルを身につけるために、Udemyのコースを活用することをお勧めします。
まとめ
今回は、PowerAppsで使用可能な変数について紹介していきました。
特にwith関数を使用すると、より便利に使うことができます。
ForAllなどの繰り返し処理で使用するのに便利ですので、活用してみてくださいね。
では、また。