研修資料Power Apps

Power Appsの関数とは?引数・戻り値の意味と使い方を初心者向けに解説

Power Appsの関数名・引数・戻り値を説明する初心者向け記事のサムネイル 研修資料
この記事は約6分で読めます。

Power Appsでボタンの動きや一覧の表示を設定するとき、よく使うのが関数です。

関数は難しいプログラムのように見えるかもしれません。しかし、基本は「決められた名前に必要な情報を渡すと、決められた処理をしてくれる仕組み」です。たとえば、今日の日付を表示する、一覧を絞り込む、別の画面へ移動するといった処理を、短い式で表せます。

この記事では、関数の基本を「魔法の呪文」にたとえながら、関数名・引数・戻り値の3つに分けて説明します。最後には、長い式を読むコツも確認します。

まずは完成イメージを見てみよう

Power Appsでは、画面上のボタンやラベルなどの部品をコントロールと呼びます。そして、コントロールの表示や動きを決める設定項目がプロパティです。

たとえば、次のように関数を使います。

やりたいこと 関数を入力する場所 式の例
ラベルに今日の日付を表示する ラベルの Text プロパティ Today()
ボタンを押したら別画面へ移動する ボタンの OnSelect プロパティ Navigate(BrowseScreen1)
条件に合うデータだけを一覧表示する ギャラリーの Items プロパティ Filter(社員一覧, 部署 = "営業部")

つまり、関数は単独で覚えるのではなく、どのプロパティで、何を実現したいのかと組み合わせて考えるのがポイントです。

関数は「決められた働きをする道具」

関数をひとことで表すと、必要な情報を受け取り、決められた処理をする仕組みです。

初めは「魔法の呪文」のように考えてもかまいません。正しい呪文を、決められた形で唱えると、決められた効果が起きるからです。

魔法にたとえると Power Appsでは 意味
呪文の名前 関数名 何をするかを表す名前
呪文に込める材料 引数(ひきすう) 関数に渡す対象や条件
呪文の効果 戻り値(もどりち) 関数を実行して得られる結果
関数名・引数・戻り値の関係を示した図

たとえば、Int(3.7) は「3.7の小数点以下を切り捨てる」という式です。

  • 関数名:Int
  • 引数:3.7
  • 戻り値:3

この3つの役割を分けて見ると、式の意味を読み取りやすくなります。

「引数」は関数に渡す情報

引数は、関数に渡す対象や条件です。基本的には、関数名の後ろにあるカッコの中へ書きます。

引数が1つの例

Int(3.7)

Int 関数に 3.7 を渡すと、小数点以下を切り捨てた 3 が返ります。

引数が2つある例

Mod(130, 60)

Mod 関数は、割り算の余りを求める関数です。

  • 第1引数:130(割られる数)
  • 第2引数:60(割る数)
  • 戻り値:10

引数には順番があります。Mod(60, 130) と書くと結果は 60 になるため、同じ数字でも順番を入れ替えると意味が変わります。

分からない関数が出てきたら、Microsoft公式ドキュメントの「構文」を確認してください。構文を見ると、どの位置に何を指定するかが分かります。

引数がない関数もある

Today()
Now()

Today() は実行した日の日付、Now() は実行した時点の日付と時刻を返します。どちらも引数はありませんが、関数であることを表すカッコ () は必要です。

省略できる引数もある

公式ドキュメントの構文で [ ] に囲まれている部分は、省略できる引数です。たとえば、Navigate 関数は次の形で説明されています。

Navigate(画面 [, 画面切り替えの効果 [, コンテキスト変数 ]])

最初の「画面」は必須です。それより後ろの [ ] に入った部分は、必要なときだけ指定します。

Navigate(BrowseScreen1)

この式では、移動先の画面だけを指定し、画面切り替えの効果などは省略しています。

「戻り値」は関数を実行して得られる結果

戻り値は、関数を実行して得られる結果です。「返り値(かえりち)」と呼ばれることもありますが、意味は同じです。

戻り値には、数値や文字だけでなく、日付、true/false、データ1行分、データの表など、さまざまな種類があります。

戻り値の種類 例 関数の例
数値 3、10 Int、Mod、Sum
文字列 "9:00" Text
日付・時刻 今日の日付、現在時刻 Today、Now
true/false 条件に合うかどうか StartsWith
レコード 社員1人分など、データ1行 LookUp、Last
テーブル 条件に合うデータの一覧 Filter、Search、Sort

戻り値の種類と、入力先のプロパティが合っていることも大切です。たとえば、ギャラリーの Items プロパティには、一覧表示できるテーブルを返す式を入力します。

結果を返す関数と、動作を起こす関数

関数の中には、値を計算して返すものだけでなく、画面を移動したり、データを保存したりするものもあります。

主な目的 よく使うプロパティ 関数の例
表示や計算に使う結果を得る Text、Items、Default Today、Filter、Sum
アプリに動作を起こさせる OnSelect、OnSuccess Navigate、SubmitForm、Notify

たとえば、ボタンの OnSelect プロパティに次の式を書くと、ボタンを選択したときに BrowseScreen1 へ移動します。

Navigate(BrowseScreen1)

なお、Navigate 関数も、正常に実行されたときは true、エラーが起きたときは false を返します。ただし、通常は画面を移動させる目的で使うため、戻り値を意識する場面は多くありません。

複数の動作は順番につなげられる

日本語環境など、小数点にピリオドを使う地域では、複数の動作を半角セミコロン ; でつなぎます。

NewForm(EditForm1); Navigate(EditScreen1)

この式は、次の順番で実行されます。

  1. NewForm(EditForm1) でフォームを新規入力モードにする
  2. Navigate(EditScreen1) で編集画面へ移動する

区切り記号は地域設定によって変わる

Power Fxの区切り記号は、作成者の言語・地域設定によって変わります。

  • 日本語環境など:引数は ,、処理の連結は ;
  • 小数点にカンマを使う地域:引数は ;、処理の連結は ;;

この記事では日本語環境の表記で説明しています。別の環境で式をコピーしたときにエラーが出る場合は、まず区切り記号を確認してください。

長い式は「内側から」読む

ある関数の戻り値を、別の関数の引数として使うことがあります。このような書き方をネスト(入れ子)といいます。

Sort(
    Search(社員一覧, TextInput1.Text, エリア),
    Title,
    SortOrder.Descending
)

長い式は、外側から一度に理解しようとせず、内側から順番に確認します。

  1. Search(...) が、検索語を含むデータの一覧を返す
  2. Sort(...) が、その一覧を Title 列の降順に並べ替える
  3. 最終的に、並べ替えた一覧がギャラリーなどに表示される
Search関数の結果をSort関数へ渡す流れを示した図

ポイントは、内側の関数の戻り値が、外側の関数の引数になることです。

Power Appsで実際に試してみよう

ここで一度、短い式を入力して動きを確認しましょう。

  1. キャンバスアプリにラベルを1つ追加します。
  2. ラベルを選択し、Text プロパティを開きます。
  3. 数式バーに Text(Today(), "yyyy/mm/dd") と入力します。
  4. ラベルに今日の日付が表示されることを確認します。

うまく表示されない場合は、次の点を順番に確認してください。

  • 関数名のつづりが正しいか
  • カッコの数が合っているか
  • 記号が半角になっているか
  • 引数の区切り記号が自分の地域設定に合っているか
  • 式を入力しているプロパティが Text になっているか

まとめ

  • 関数は、必要な情報を受け取り、決められた処理をする仕組み
  • 関数名は「何をするか」、引数は「何を渡すか」、戻り値は「何が得られるか」を表す
  • 引数には数、順番、省略できるかどうかの決まりがある
  • 戻り値の種類と、入力先のプロパティが合っていることが大切
  • 地域設定によって、引数や処理をつなぐ区切り記号が変わる
  • ネストされた長い式は、いちばん内側の関数から読む

関数を暗記する必要はありません。まずは「このプロパティで何を実現したいのか」を決め、分からない関数はMicrosoft公式ドキュメントの構文で確認する習慣をつけましょう。

参考:Power Fxの数式リファレンス(Microsoft Learn)

参考:Power Fxのグローバル対応と区切り記号(Microsoft Learn)

タイトルとURLをコピーしました