PowerApps の Set 関数Set function in PowerApps

グローバル変数の値を設定します。Sets the value of a global variable.


Set 関数を使用すると、グローバル変数の値を設定できます。グローバル変数とは、ユーザーがボタンを押した回数やデータ操作の結果など、一定の情報を一時的に格納する際に使用する変数です。Use the Set function to set the value of a global variable, which temporarily holds a piece of information, such as the number of times the user has selected a button or the result of a data operation.

グローバル変数はお使いのアプリ全体で、どの画面でも利用できます。Global variables are available throughout your app on all screens. グローバル変数は最も単純な種類の変数であり、たいていの状況でニーズを満たせます。These are the simplest kind of variables and fill the needs of most situations. 単一の画面でのみスコープをもつコンテキスト変数や行レベルでテーブルを変更できるコレクションもあります。There are also context variables which are scoped to a single screen and collections that allow row level modifications to tables. これらの他のオプションの詳細については、変数の利用に関するページをご覧ください。For more information on these other options see working with variables.

PowerApps では基本的に、ユーザーがアプリを操作すると、数式が自動的に再計算されます。PowerApps are based on formulas that automatically recalculate as the user interacts with an app. グローバル変数ではこの効果は得られません。そのため、グローバル変数を使うとアプリの作成が難しく、わかりにくくなる場合があります。Global variables don't offer this benefit and can make your app harder to create and understand. 変数を使用する前に、変数の利用に関するページを確認してください。Before you use a variable, review working with variables.


グローバル変数は Set 関数を使用して暗黙的に作成されます。Global variables are implicitly created by using the Set function. 明示的な宣言は必要ありません。There is no explicit declaration required. グローバル変数から Set 関数をすべて削除すると、そのグローバル変数は存在しなくなります。If you remove all the Set functions for a global variable, then that global variable will cease to exist. 変数をクリアするには、その値を Blank 関数の結果に設定します。To clear a variable set its value to the result of the Blank function.

作成環境の [ファイル] メニューの [変数] ビューで、変数の値、定義、使用について確認できます。You can see your variables' values, definitions, and uses with the Variables view under the File menu in the authoring environment.

具体例はこのトピックで後ほど紹介しますが、グローバル変数には以下をはじめとするさまざまな情報を格納できます。As the examples later in this topic show, global variables can hold several kinds of information, including these:

  • 単一の値a single value
  • レコードa record
  • テーブルa table
  • オブジェクト参照an object reference
  • 数式の結果any result from a formula

アプリが終了するまで、グローバル変数の値は保持されます。A global variable holds its value until the app is closed. アプリを終了すると、グローバル変数の値は失われ、アプリが再び読み込みされたときに再作成されます。Once closed, the global variable's value will be lost and must be recreated when the app is loaded again.

グローバル変数には既存のコレクションやコントロールと同じ名前は使用できません。Global variables cannot use the same name as an existing collection or control. 同じ名前がコンテキスト変数として使用されることがあります。It can use the same name as a context variable. この 2 つの間の曖昧さを解消するには、曖昧性除去演算子を使用します。To disambiguate between the two, use the disambiguation operator.

Set には戻り値がないため、動作の数式 の中でのみ使用できます。Set has no return value, and you can use it only within a behavior formula.


Set( VariableName, Value )Set( VariableName, Value )

  • VariableName - 必須。VariableName - Required. 作成または更新するグローバル変数の名前。The name of a global variable to create or update.
  • Value - 必須。Value - Required. コンテキスト変数に割り当てる値。The value to assign to the context variable.


数式Formula 説明Description 結果Result
Set( Counter, 1 )Set( Counter, 1 ) グローバル変数 Counter を作成または変更し、その値を 1 に設定します。Creates or modifies the global variable Counter, setting its value to 1. Counter に値 1 が設定されます。Counter has the value 1. この変数は、数式に Counter という名前を使用することで、どの画面からでも参照できます。You can reference that variable by using the name Counter in a formula on any screen.
Set( Counter, 2 )Set( Counter, 2 ) 前の例のグローバル変数 Counter の値を 2 に設定します。Sets the value of the Counter global variable from the previous example to 2. Counter に値 2 が設定されます。Counter has the value 2.
Set( Counter, Counter + 1 )Set( Counter, Counter + 1 ) 前の例のグローバル変数 Counter の値を 3 に増やします。Increments the value of the Counter global variable from the previous example to 3. Counter に値 3 が設定されます。Counter has the value 3.
Set( Name, "Lily" )Set( Name, "Lily" ) グローバル変数 Counter を作成または変更し、その値を Lily に設定します。Creates or modifies the global variable Name setting its value to Lily. Name に値 Lily が設定されます。Name has the value Lily.
Set( Person, { Name: "Milton", Address: "1 Main St" } )Set( Person, { Name: "Milton", Address: "1 Main St" } ) グローバル変数 Person を作成または変更し、その値をレコードに設定します。Creates or modifies the global variable Person, setting its value to a record. このレコードには、NameAddress の 2 つの列が存在します。The record contains two columns, named Name and Address. Name 列の値は MiltonAddress 列の値は 1 Main St です。The value of the Name column is Milton, and the value of the Address column is 1 Main St. Person にレコード { Name: "Milton", Address: "1 Main St" } の値が設定されます。Person has the value of record { Name: "Milton", Address: "1 Main St" }.

このレコード全体を参照する場合には、名前 Person を使用します。このレコードの個別の列を参照する場合には、Person.Name または Person.Address を使用します。Reference this record as a whole with the name Person, or reference an individual column of this record with Person.Name or Person.Address.
Set( Person, Patch( Person, {Address: "2 Main St" } ) )Set( Person, Patch( Person, {Address: "2 Main St" } ) ) Patch 関数を操作してグローバル変数 PersonAddress 列の値を 2 Main St に更新します。Works with the Patch function to update the Person global variable by setting the value of the Address column to 2 Main St. Person にレコード { Name: "Milton", Address: "2 Main St" } の値が設定されます。Person now has the value of record { Name: "Milton", Address: "2 Main St" }.