キャンバス アプリの数式の使用を始める
(Excel で実行するように) 値を計算してその他のタスクを実行するだけでなく、(アプリが必要とするように) ユーザー入力に応答する数式を使用して、キャンバス アプリを構成します。
- Excel では、たとえばセルに入力しテーブルとグラフを作成する数式を構築します。
- Power Apps では、セルではなくコントロールを構成し、同様の数式を構築します。 さらに、スプレッドシートではなく特定のアプリに適用される数式を構築します。
たとえば、ユーザーがボタンの選択、スライダーの調整、またはその他の入力の指定を実行するときにアプリがどのように応答するかを決定する数式を構築します。 これらの数式により、異なる画面を表示したり、アプリの外部にあるデータ ソースを更新したり、既存のテーブルに存在するデータのサブセットが含まれるテーブルを作成したりできます。
数式は、さまざまなシナリオで利用できます。 たとえば、デバイスの GPS、マップ コントロール、Location.Latitude と Location.Longitude を使用する数式を使用して、現在の場所を表示できます。 移動すると、マップによって場所が自動的に追跡されます。
この記事では、数式に関する作業の概要についてのみ説明します。 詳細情報や、使用できる関数、演算子、その他の構成要素のリスト全体については、数式のリファレンスを参照してください。
前提条件
- Power Apps に登録し、資格情報を使用してサインインします。
- Power Apps でコントロールを構成する方法を説明します。
Power Fx 数式バーを使用する
Power Fx 数式バーは、アプリの数式をより直感的かつ効率的に記述できます。 数式バーを使用するには、次の手順に従います。
- Power Apps Studio でアプリを開き、編集を行います。
- 画面の上部で数式バーを選択して開きます。
- バーに数式を入力し始めます。 入力すると、数式バーに入力に一致する関数の候補が表示されます。
- 完了するまで、数式の入力を続けるか、候補を選択します。
値を表示する
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 では、コントロールを画面に追加してそのプロパティを設定することで、同様の結果を得ることができます。 この例には、ラベル1 と呼ばれるラベル コントロール、および TextInput1 および TextInput2 と呼ばれる 2 つの テキスト入力 コントロールが表示されます。 Label1 コントロールに数式を追加して、TextInput1 と TextInput2 に数値を入力すると、加算されて Label1 に表示されるように設定できます。
テキスト入力コントロールにどのような数値を入力しても、ラベルには常にその数値の合計が表示されます。これは、Text プロパティに次の数式が設定されているためです: TextInput1.Text + TextInput2.Text
。
Excel では、条件付き書式の数式を使用して、たとえば負の値を赤色で表示します。 Power Apps では、計算式を使用して、コントロールのプライマリ値だけでなく、カラーなどのプロパティも決定できます。
この例では、ラベルの Color プロパティの数式は、負の値を自動的に赤で表示します。 If 関数は Excel とよく似ています。
If( Value(Label1.Text) < 0, Color.Red, Color.Black )
ユーザー入力に基づいて色を変更する
ユーザーがアプリの外観または動作を変更できるように、数式を使用してアプリを構成できます。 たとえば、ユーザーが指定したテキストの文字列を含むデータのみを表示するフィルターを作成できます。 ユーザーがデータ セット内の特定の列に基づいてデータ セットを並べ替えることができます。
この例では、1 つ以上のスライダーを調整することにより、ユーザーが画面の色を変更できるようにします。
前の手順からのコントロールを削除するか、前に実行したように空のアプリを作成し、それに 3 つのスライダー コントロールを追加します。 挿入 ページの検索ボックスでスライダー コントロールを検索すると、入力でコントロールを見つけることができます。 スライダーを追加するには、コントロールをキャンバスにドラッグ アンド ドロップします。
重ならないようにスライダーを配置し、3 つのラベルを追加して、そのラベルを構成することで、赤、緑、青 のテキスを表示できます。
各スライダーの Max プロパティを 255 (既定は 100) に設定します。この値は RGBA 関数の色コンポーネントの最大値です。
画面を選択してコントロールの選択を解除し、画面の Fill プロパティを次の式に設定します: RGBA( Slider1.Value, Slider2.Value, Slider3.Value, 1 )。 画面が濃い灰色に変わり、スライダーの現在の位置が反映されます。
数式では、プロパティ セレクターを使用してコントロール プロパティにアクセスできます。 たとえば、Slider1.Value はスライダーの Value プロパティを参照し、ユーザーがスライダーを Min 値と Max 値の間のどこに配置したかを表します。
アプリをプレビューし、スライダーを調整します。 画面の背景色を変更するために、各コントロールがどのように色分けされているかがわかります。
各スライダーを変更すると、RGBA 関数を含む数式が再計算され、画面の表示がすぐに変更されます。
アプリ動作を管理する
数式は、計算の実行や外観の変更だけでなく、アクションの実行にも利用できます。 たとえば、ボタンの OnSelect プロパティを Navigate 関数を含む数式に設定できます。 ユーザーがこのボタンを選択すると、数式で指定する画面が表示されます。
Navigate 関数や Collect 関数など一部の関数を、動作の数式でのみ使用できます。 このコンテキスト内のみで関数を使用できる場合、数式のリファレンスが呼び出されます。
セミコロン (;) で関数を分離する場合、動作の数式で複数のアクションを実行できます。 たとえば、コンテキスト変数を更新し、データ ソースにデータを格納し、最後に別の画面に移動できます。
カテゴリ別のプロパティの一覧を表示する
プロパティ リストにはアルファベット順にプロパティが表示されますが、たとえば Label1 などのコントロールを選択し、プロパティ ペインの詳細タブを選択すると、そのコントロールのプロパティの長いリストが表示されます。
このビュー内で直接数式を編集できます。 プロパティ検索を使用すると、そのコントロールのプロパティをすばやく検索し、コントロールの動作と外観を変更できます。
数式の構文
数式バーに数式を入力すると、異なる構文要素が異なる色で表示され、読みやすさが向上し、長い数式をより簡単に理解できるようになります。 こちらが Power Apps のカラー コードです。