PowerAppsは、誰でも簡単にアプリ開発ができるツールです。
関数を用いることで複雑な作業が可能で、かつ直感的にUI設計ができるため、ビジュアル・機能の両面でレベルの高いアプリを開発できます。ノーコードでは対応できない複雑な処理を実現しつつ、直感的にアプリ開発ができるツールを求めている方には、まさに最適なローコード開発ツールです。
本記事では、PowerAppsでのアプリ開発において欠かせない関数の使い方を詳しく解説します。アプリ開発の初歩を学びたい方にぴったりの内容です。ぜひ本記事を読みながら、PowerAppsを操作し、関数を使ってみましょう。
PowerApps関数の基本的な使い方
PowerAppsではアプリの内容を作るために、関数を使って数式を構築します。関数や数式と聞くと複雑に感じるかもしれませんが、Excel(SpreadSheet)と同様に使えるので、初めての方でも簡単です。
ただし、基本的な構文や関数の呼び出し方法などが分かっていないと、スムーズにアプリ開発が進まなくなります。以下では、PowerAppsの基礎的な関数の使い方を3つのステップで解説しますので、実際にPowerAppsを操作しながら扱い方を学んでいきましょう。
PowerApps関数の基本的な構文
PowerAppsにおける構文は、使用する関数によって異なります。しかし、基本的には関数を入れた時点でExcel(SpreadSheet)のように構文が表示されますので、迷わず入力できるはずです。最もシンプルな構文としては、以下のタイプがあります。
PowerApps関数の基本的な構文(数式)
- 関数(内容)
カッコ内に「,」や「{}」などを使って、やってほしい処理の内容を記載していきます。また、数式内にいくつかの関数を入れていきたい場合は「)」のあとに「;」を入れて改行し、新たな数式を入れていきます。
PowerAppsの関数の呼び出し方法
PowerAppsで関数を呼び出したい場合は、数式入力欄の左側にある「Fx」を選択しましょう。まず関数カテゴリ(理論、アクション、日時など)から、自分が使用したいカテゴリを選択してください。カテゴリが選択できたら、自分が使用したい関数をダブルクリックします。
関数を選択すると、右側の数式欄に関数が入っていますので、ガイドに従って数式を入力していきましょう。関数の意味が分からない場合は、それぞれの関数をワンクリックすると下側に説明が表示されるので、参考にしてください。Microsoftの公式ページでも、関数の説明を見れますので、開発前に目を通しておきましょう。
PowerAppsの関数の定義方法
PowerAppsでは、開発者が関数を定義できる「カスタム関数」という機能があります。カスタム関数は、いくつかの関数を組み合わせてオリジナルの関数を作れる機能です。まず設定から「拡張コンポーネントのプロパティ」をオンにしましょう。
次に、ツリービューの「コンポーネント」から新しいコンポーネントを作成します。そしてカスタムプロパティにある「新しいカスタムプロパティ」を選択すれば、カスタム関数の定義が可能です。カスタム関数については、後ほど詳しく解説しますので参考にしてください。
PowerAppsでよく使われる関数
PowerAppsで関数を使いこなすには、まず「どんな関数があるのか」を知る必要があります。よく使われる関数は以下の通りです。
PowerAppsでよく使われる関数
- テキスト操作関数:Concat、Len、Substituteなど
- 数値操作関数:Sum、Average、Roundなど
- 日付と時間操作関数:Now、DateAdd、DateDiffなど
上記3種類の関数は、アプリ開発において高頻度で使用します。使い分けができるように、ジャンルと各関数をそれぞれ覚えておきましょう。以下ではそれぞれの関数について、実例を交えながら紹介します。画像も参考にしながら、ぜひ関数を使ってみてください。
テキスト操作関数の使い方
本記事での「テキスト操作関数」は、テキストを操作したりテキスト情報を確認したりするのに使用する関数です。代表的な関数には「Text関数」があります。
Text関数は、日時や数字に関する書式設定ができる関数です。ほかにも、2つ以上の文字列を連結できる関数や、テキストの文字数を出せる関数などさまざまな種類があります。代表的な関数を3つ紹介します。
Contact関数:2つ以上のテキスト文字列を連結できる
- Concat(コレクション名,列名) // 結果:該当列のデータ
Len関数:テキスト文字列の長さ(文字数)を返す
- Len(“Hello”) // 結果:5
Substitute関数:テキスト中の特定の文字を置き換え
- Substitute(Label1.Text,”ようす”,”様子”) // 結果:「ようす」が「様子」に置換される
上記のように、テキストを多く扱うアプリの開発にはとても便利です。スケジュールアプリやメモアプリなどを開発する際などに重宝します。
数値操作関数の使い方
テキストだけでなく、数値を操作する関数も多く搭載されています。特に「Sum関数」や「Avetage関数」などは、Excelで馴染みのある方も多いのではないでしょうか。PowerAppsはExcelと同じマイクロソフトが開発しているため、多くの関数がExcelに準拠しています。以下を参考にしながら、数値操作関数を使ってみましょう。
Sum関数:対象の合計値を求める
- Sum(注文票1,単価*個数) // 結果:注文の合計金額が表示される
Average関数:対象の平均値を求める
- Average(10月受注票,客単価) // 結果:受注票にある各客単価の平均値が求められる
Round関数:対象の数値を四捨五入する
- Round(302.821,0) // 結果:303
数値操作関数は、予約管理や受発注管理などのアプリを開発する際にとても便利な関数です。上記のほかにも、Max関数・Min関数・RoundUp関数・RoundDown関数などさまざまな種類があります。
日付と時間操作関数の使い方
日付と時間操作関数などは、チャットツールやスケジュール管理ツールなどさまざまなアプリにおいて重宝します。その日の日付を表示させたい場合だけでなく、時差を出したい場合にも使える関数が多くあるので、ぜひ参考にしてください。
することが可能です。
Now関数:今日の日付を返す
- Now() // 結果:2023年12月15日 12時15分
DateAdd関数:日時に任意の数値を足す
- DateAdd(Now(), 2, Hours) // 結果:2023年12月15日 14時15分(現在から2時間後)
DateDiff関数:2つある日時の差を出す
- DateDiff(”2022/12/15 12:30″,”2023/12/15 17:30”,Hours ) // 結果:5
例えばDateAdd関数を利用すれば、日本時間をもとにして各国の時間を表示させる機能が使えます。DateDiff関数を使えば、国ごとに日本とどのくらい時差があるかを算出
PowerAppsのカスタム関数の作成方法
PowerAppsでは、開発者自身が定義した関数を使用できる「カスタム関数」という機能が搭載されています。カスタム関数では、いくつかの関数の機能を組み合わせた新しい関数を設定できます。画像を見ながら「詳細」にある「拡張コンポーネントのプロパティ」をオンにしましょう。
準備が完了したら、コンポーネントのメニューにある「新しいカスタムプロパティ」から定義をします。パラメーターまで設定できたらカスタムプロパティを作成し、プロパティを作成したものに変更して、数式を入力していきます。今回は「TextStyleChange」という名前のカスタム関数としました。
よくある事例として、会計処理や統計調査などに使うExcelの関数と同じものを、カスタム関数で作る方法があります。また、半角と全角を置換したり、Excelの「Echo関数」と同様のものを作ったりするのも可能です。もし「この関数があれば」と思う内容があれば、このカスタム関数を用いて作成してみましょう。
効率的なPowerApps関数の使い方
PowerApps関数を扱う際には、いくつかのルールやコツがあります。特に命名規則を知っておかないと、基礎的なアプリの開発時はもちろん、カスタム関数を作成する際にもトラブルが発生しやすくなるので注意が必要です。また、最初は関数を使う際によくあるエラーを知っておくのも重要になります。以下では、効率的にPowerApps関数を使うためのコツを2つ解説するので、初めてアプリ開発をする方はぜひご覧ください。
関数の命名規則と組織化
あらかじめルールを設けておくと、開発がどれだけ長期化・複雑化しても作業が比較的スムーズに進みます。命名規則とは、変数や関数などの命名に関するルールです。PowerAppsの場合は、以下のような命名規則を推奨しています。
PowerAppsで推奨されている命名規則
- 画面名:スクリーンリーダーの読み上げ機能を使っても理解できるよう、末尾に「Screen」と入れる
- コントロール名:スペースを詰め、先頭以外の単語の頭文字を大文字にするキャメルケースで、先頭の単語は3文字に省略
- データソース名:スペースを詰め全単語の頭文字を大文字にするパスカルケースで対応
- 変数名:グローバル変数は先頭を「gbl」コンテキスト変数は先頭を「loc」として、キャメルケースで対応
- コレクション名:先頭を「col」としたうえで、キャメルケースで対応
例えば「User Name」や「Microsoft Office」といった単語を登録したい場合を考えましょう。人それぞれ「User_Name(スペースをアンダーバーに置換)」「MicrosoftOffice(スペースを詰める)」「UN(単語の頭文字だけ)」などバラバラのルールで登録していたら、登録内容を探せなくなります。そのため、命名規則を設けて組織化に役立てるのです。上記の方法で命名のルールを把握しておけば、チームで開発を進めたとしても問題なく情報共有ができます。
エラーを避けるための関数の使い方
PowerAppsで初めてアプリ開発を行う場合、頻繁に関数エラーがでてしまうかもしれません。PowerAppsの関数や数式は、エラーを起こしやすいポイントがあります。注意ポイントを把握して関数の使い方を学べば、より効率よく開発が進められるはずです。
エラーを避けるための関数の使い方
- 大文字・小文字がミスしていないか
- プロパティが間違っていないか
- 引数の指定や、依存先などの設定が間違っていないか
- 不要な部分に「,」を入れていないか
- 「”」の位置が違わないか
- 非動作プロパティで新規変数を作成していないか
- OnStartでコレクションを作成した際に「実行」を押したか
上記のように、ほんのささいなミスでもエラーは出てしまいます。また、エラー表示を見ても具体的に何がミスしているのか分からないケースも少なくありません。上記の項目を確認して、エラーが出ている原因を探りましょう。
まとめ
PowerAppsは、直感的にアプリを開発できる便利なツールです。関数を使いこなせれば、とても複雑な処理でも可能になります。しかし、初心者の方だと「どんな関数があるか」「自分がやりたいことをするには、どの関数を使うのか」が分からず、戸惑う場面もあるでしょう。
もしアプリ開発時に迷ってしまったら、本記事を読みながら改めて関数の使い方を復習してみてください。基礎的な部分が掴めれば、エラーを出さずに数式が構築できるようになります。本記事の内容が、アプリ開発の参考になれば幸いです。