(Excel で実行するように) 値を計算してその他のタスクを実行するだけでなく、(アプリが必要とするように) ユーザー入力に応答する数式を使用して、キャンバス アプリを構成します。
- Excelでは、セルを設定し、テーブルとグラフを作成する数式を作成します。
- Power Apps では、セルではなくコントロールを構成し、同様の数式を構築します。 さらに、スプレッドシートではなく特定のアプリに適用される数式を構築します。
Power AppsではPower Fxを使用します。これは、ロジック、データ操作、アプリの動作を表現するために使用できるExcelに基づくオープンソースのローコードの数式言語です。
たとえば、ユーザーがボタンの選択、スライダーの調整、またはその他の入力の指定を実行するときにアプリがどのように応答するかを決定する数式を構築します。 これらの数式により、異なる画面を表示したり、アプリの外部にあるデータ ソースを更新したり、既存のテーブルに存在するデータのサブセットが含まれるテーブルを作成したりできます。
数式は、さまざまなシナリオで利用できます。 たとえば、デバイスの GPS、マップ コントロール、Location.Latitude と Location.Longitude を使用する数式を使用して、現在の場所を表示できます。 移動すると、マップによって場所が自動的に追跡されます。
この記事では、数式の操作の概要について説明します。 詳細情報や、使用できる関数、演算子、その他の構成要素のリスト全体については、数式のリファレンスを参照してください。
前提条件
- Power Apps に登録し、資格情報を使用してサインインします。
- Power Apps でコントロールを構成する方法を説明します。
Power Fx 数式バーを使用する
Power Apps Studio の上部にある Power Fx 数式バーでは、アプリの数式を作成および編集できます。 IntelliSense (オートコンプリート候補、構文の強調表示、インライン エラー メッセージ) が提供され、数式の作成をより迅速かつ少ないミスで行うことができます。
- Power Apps Studio でアプリを開き、編集を行います。
- キャンバス内の任意のコントロールまたは画面を選択します。
- 数式バーの左側にあるプロパティ ドロップダウンで、数式を設定するプロパティ ( Text や OnSelect など) を選択します。
- 数式バーを選択し、数式の入力を開始します。 入力すると、入力に一致する関数とプロパティの候補が IntelliSense に表示されます。
- 候補を選択するか、数式が完了するまで入力を続けます。
ヒント
Copilot数式の候補を使用して、自然言語を使用して数式を生成または説明します。 数式バーで、Copilot アイコン (使用可能な場合) を選択し、数式の実行内容を説明します。
値を表示する
Excel では、42 という数字や Hello World というフレーズなど、特定のデータをセルに打ち込んで入力できます。 このセルには、入力したとおりにデータが表示されます。 Power Apps では、同じように変更されないデータを指定できます。このためには、ラベルの Text プロパティに目的の一連の文字を二重引用符で囲んで正確に設定します。
空白のキャンバス アプリ を作成します。
数式バーは画面の最上部にあります。
テキスト コントロールを画面に追加します。
テキスト ラベルを追加すると、プロパティ リストに Text プロパティが自動的に表示され、コントロールに表示される内容が表示されます。 既定では、このプロパティの値は "Text" です。
二重引用符で囲んだ文字列を数式バーに入力することにより、Text プロパティの値を "Hello World" に設定します。
入力すると、ラベルにはこの新しい値が反映されます。 入力中に、黄色い感嘆符アイコンが画面に表示される場合があります。 これらのアイコンはエラーを示しますが、有効な値の入力が完了すると消えます。 たとえば、両側に二重引用符のない文字列は無効です。
Excel では、42 などの数値を表示するには、その数値をセルに入力したり、=SUM(30,12) などのその数値を分解する数式を入力したりします。 Power Apps では、ラベルなどのコントロールの Text プロパティを 42 または Sum(30,12) に設定することで、同じ効果を得ることができます。 ワークシートまたはアプリでの他の変更に関係なく、セルとラベルにはこの数値が表示されます。
ヒント
Power Apps では、Excel で実行するように数式の前に等号またはプラス記号を使用することはありません。 数式バーでは、そこに入力したものはすべて既定で数式として処理されます。 さらに、先ほどテキストの文字列を指定したときのように、二重引用符 (") で数式を囲むことはしません。
ラベルの Text プロパティで、"Hello World" を Sum(1,2,3) に置き換えます。
入力中、数式バーはこの関数の説明と必要な引数を表示するのに役立ちます。 "Hello World" の末尾の二重引用符と同様に、この数式の末尾のかっこを入力するまで、画面にはエラーを示す赤い十字が表示されます。
最後の括弧を追加した完成形の式:
入力に基づいて値を変更する
Excel では、=A1+A2 とセルに入力すると、セル A1 と A2 に含まれる値の合計が表示されます。 これらの値の一方または両方が変更されると、数式が含まれるセルには更新された結果が自動的に表示されます。
Power Apps では、コントロールを画面に追加してそのプロパティを設定することで、同様の結果を得ることができます。 この例では、Text1 という名前のテキスト ラベルと、TextInput1 と TextInput2 という名前の 2 つの Text入力コントロールを示します。 Text1 コントロールに数式を追加して、TextInput1 と TextInput2 に数値を入力すると、値が一緒に追加されて Text1 に表示されるようにします。
テキスト入力コントロールに入力する数値に関係なく、Text プロパティは次の数式 () に設定されているため、TextInput1.Text + TextInput2.Text ラベルには常にそれらの数値の合計が表示されます。
Excel では、条件付き書式の数式を使用して、たとえば負の値を赤色で表示します。 Power Apps では、計算式を使用して、コントロールのプライマリ値だけでなく、カラーなどのプロパティも決定できます。
この例では、ラベルの Color プロパティの数式は、負の値を自動的に赤で表示します。 If 関数は Excel とよく似ています。
If( Value(Label1.Text) < 0, Color.Red, Color.Black )
ユーザー入力に基づいて色を変更する
ユーザーがアプリの外観または動作を変更できるように、数式を使用してアプリを構成できます。 たとえば、ユーザーが指定したテキストの文字列を含むデータのみを表示するフィルターを作成したり、ユーザーが特定の列に基づいて一連のデータを並べ替えたりすることができます。
この例では、スライダーを調整して、ユーザーが画面の背景色を変更できるようにします。
前の手順からのコントロールを削除するか、前に実行したように空のアプリを作成し、それに 3 つのスライダー コントロールを追加します。 [挿入] ウィンドウの検索ボックスでスライダーを検索し、[スライダー] を選択してキャンバスにスライダーを追加します。 3つのスライダーを追加するには、この操作を繰り返します。
重ならないようにスライダーを配置し、3 つのラベルを追加して、そのラベルを構成することで、赤、緑、青 のテキスを表示できます。
各スライダーの Max プロパティを 255 (既定値は 100) に設定します。これは 、RGBA 関数のカラー コンポーネントの最大値です。
画面を選択してコントロールの選択を解除し、画面の Fill プロパティを RGBA( Slider1.Value, Slider2.Value, Slider3.Value, 1) の数式に設定します。 画面が暗い灰色に変わり、スライダーの現在位置が反映されます。
数式では、プロパティ セレクターを使用してコントロール プロパティにアクセスできます。 たとえば、Slider1.Value はスライダーの Value プロパティを参照し、ユーザーがスライダーを Min 値と Max 値の間のどこに配置したかを表します。
プレビュー (F5) を選択し、スライダーを調整して、それぞれが画面の背景色を変更する方法を確認します。
各スライダーが変更されると、 RGBA 数式が再計算され、画面の色がすぐに更新されます。
アプリ動作を管理する
数式を使用すると、計算や外観の変更だけでなく、アクションを実行することもできます。 たとえば、ボタンの OnSelect プロパティを Navigate 関数を含む数式に設定できます。 ユーザーがこのボタンを選択すると、数式で指定する画面が表示されます。
Navigate 関数や Collect 関数など一部の関数を、動作の数式でのみ使用できます。 このコンテキストでのみ関数を使用できる場合は、数式参照が呼び出されます。
関数をセミコロン (;)) で区切ることで、動作数式で複数のアクションを実行できます。 たとえば、コンテキスト変数を更新し、データ ソースにデータをプッシュしてから、1 つの OnSelect 数式で別の画面に移動できます。
ヒント
動作に使用する関数がわからない場合は、数式バーで
カテゴリ別のプロパティの一覧を表示する
プロパティの一覧にはプロパティがアルファベット順に表示されますが、カテゴリ別に編成されたコントロールのすべてのプロパティを表示することもできます。 コントロール (Text1 など) を選択し、[プロパティ] ウィンドウで [詳細設定] タブを選択すると、そのコントロールのプロパティの完全な分類された一覧が表示されます。
このビュー内で直接数式を編集できます。 プロパティの動作や外観をすばやく見つけて変更するには、プロパティ検索ボックスを使用します。
数式の構文
数式バーに数式を入力すると、異なる構文要素が異なる色で表示され、読みやすさが向上し、長い数式をより簡単に理解できるようになります。 こちらが Power Apps のカラー コードです。