DX Microsoft デジタルツイン

PowerAppsよく使う関数早見表

PowerApps

こんにちは、皆さん。本日はローコードプラットフォームの一つであるPowerAppsについてお話しします。最近、IT業界ではローコードが注目されています。ローコードを使用することで、コーディングスキルがない人でもアプリケーションを作成することができ、業務の効率化やDXの推進を加速することを可能とします。特に、MicrosoftのPowerAppsは、その使いやすさとOffice 365との高い親和性から多くの企業で導入されています。

このブログでは、PowerAppsの基本的な関数について詳しく解説します。これからPowerAppsを学びたい方、すでに使っているけどもっと理解を深めたい方に向けて、具体的な例とともに関数の使い方をご紹介します。

テキスト操作系

テキスト関数は、テキストの操作やフォーマットを行うための関数群です。文字列の結合、切り出し、置換などの操作が可能です。

関数名
機能数式例表示例利用シーン
Lenテキストの長さを返します。Len("Text")4テキストの長さを図りたいときに利用します。
Left文字列の左端部分の文字を返します。Left("Text", 2)Te文字列の最初の数文字を取得したいときに使用します。
Right文字列の右端部分の文字を返します。Right("Text", 2)xt文字列の最後の数文字を取得したいときに使用します。
Mid文字列の中間部分の文字を返します。Mid("Text", 2, 2)ex文字列の特定部分を取得したいときに使用します。
Upper文字列内の文字をすべて大文字に変換します。Upper("text")TEXT文字列を大文字に変換したいときに使用します。
Lower文字列内の文字をすべて小文字に変換します。Lower("TEXT")text文字列を小文字に変換したいときに使用します。
Trim文字列の先頭と末尾、および内部の余分なスペースを削除します。Trim(" Text ")Text文字列の余分なスペースを削除したいときに使用します。
TrimEnds文字列の末尾のみから余分なスペースを削除します。TrimEnds(" Text ")Text文字列の末尾の余分なスペースを削除したいときに使用します。
Substitute文字列の一部を別の文字列に置き換えます。Substitute("Text", "e", "a")Taxt文字列の特定部分を置き換えたいときに使用します。
Replace文字列の一部を指定された位置で置き換えます。Replace("Text", 2, 2, "i")Tit文字列の一部を置き換えたいときに使用します。
Concatenate文字列を連結します。Concatenate("Te", "xt")Text複数の文字列を結合したいときに使用します。
Splitテキスト文字列をサブストリングのテーブルに分割します。Split("Te,xt", ",")Te, xt文字列を特定の区切り文字で分割したいときに使用します。
Text任意の値をテキスト文字列に書式設定します。Text(1234.56, "0.00")1234.56数値をテキストに変換したいときに使用します。
Char文字コードを文字列に変換します。Char(65)A文字コードから文字を取得したいときに使用します。
PlainText文字列から HTML タグと XML タグを削除します。PlainText("<b>Text</b>")TextHTMLタグを削除したいときに使用します。
EndsWithあるテキスト文字列が別のテキスト文字列で終わるかどうかを調べます。EndsWith("Text", "xt")true文字列が特定の文字で終わるか確認したいときに使用します。
StartsWithあるテキスト文字列が別のテキスト文字列で始まるかどうかを確認します。StartsWith("Text", "Te")true文字列が特定の文字で始まるか確認したいときに使用します。
Findある文字列が別の文字列内にあるかどうかを調べて、その位置を返します。Find("e", "Text")2文字列の位置を確認したいときに使用します。
Matchパターンに基づいてサブストリングを抽出します。Match("Text", "T.xt")Text正規表現に基づいて文字列を抽出したいときに使用します。
MatchAllパターンに基づいて複数のサブストリングを抽出します。MatchAll("TextText", "T.xt")Text, Text正規表現に基づいて複数の文字列を抽出したいときに使用します。
JSONテーブル、レコード、または値の JSON テキスト文字列を生成します。JSON({Name:"Text"}){"Name":"Text"}データをJSON形式で出力したいときに使用します。
EncodeUrlURL エンコードを使用して特殊文字をエンコードします。EncodeUrl("Text!")Text%21URLにエンコードしたいときに使用します。
EncodeHTMLHTML コンテキストで使用するためにエスケープする必要がある文字をエンコードします。EncodeHTML("<Text>")<Text>HTMLにエンコードしたいときに使用します。

日付と時刻操作系

日付と時刻関数は、日付や時刻の操作や計算を行うための関数です。現在の日付や時刻の取得、日付の加算・差分計算などが可能です。
関数名機能数式例表示例利用シーン
DateYear, Month, and Day の値に基づいて、日付/時刻値を返します。Date(2024, 6, 28)6/28/2024特定の日付を作成したいときに使用します。
DateAdd日数、月数、四半期数、または年数を日付/時刻値に加算します。DateAdd(Today(), 1, "d")明日日付に特定の期間を加算したいときに使用します。
DateDiff2 つの日付値の差を、日数、月数、四半期数、または年数で返します。DateDiff(Date(2024, 6, 28), Date(2023, 6, 28), "d")3652つの日付の差を計算したいときに使用します。
DateValue日付のみの文字列を日付/時刻値に変換します。DateValue("2024-06-28")6/28/2024文字列から日付を取得したいときに使用します。
DateTimeValue日付と時刻の文字列を日付/時刻値に変換します。DateTimeValue("2024-06-28T12:34:56")6/28/2024 12:34:56 PM文字列から日付と時刻を取得したいときに使用します。
Day日付/時刻値の日付部分を取得します。Day(Date(2024, 6, 28))28日付から日部分を取得したいときに使用します。
Month日付/時刻値の月部分を取得します。Month(Date(2024, 6, 28))6日付から月部分を取得したいときに使用します。
Year日付/時刻値の年部分を取得します。Year(Date(2024, 6, 28))2024日付から年部分を取得したいときに使用します。
TimeHour、Minute、Second の値に基づいて、日付/時刻値を返します。Time(12, 34, 56)12:34:56 PM特定の時刻を作成したいときに使用します。
TimeValue時刻のみの文字列を日付/時刻値に変換します。TimeValue("12:34:56 PM")12:34:56 PM文字列から時刻を取得したいときに使用します。
Now現在の日付と時刻を返します。Now()現在の日付と時刻現在の日付と時刻を取得したいときに使用します。
Today現在の日付を返します。Today()今日の日時現在の日付を取得したいときに使用します。
TimeZoneOffset現在のタイムゾーンのオフセットを分単位で返します。TimeZoneOffset()タイムゾーンのオフセット現在のタイムゾーンのオフセットを取得したいときに使用します。
Weekday日付/時刻値に対応する曜日を取得します。Weekday(Date(2024, 6, 28))6(=金曜日)日付の曜日を取得したいときに使用します。

数学的関数

数学関数は、数値の操作や計算を行うための関数です。合計値の計算、数値の丸め、絶対値の取得などが可能です。
関数名機能数式例表示例利用シーン
Abs数値の絶対値を返します。Abs(-123)123数値の絶対値を取得したいときに使用します。
Round数値を指定した精度に四捨五入します。Round(123.456, 2)123.46数値を四捨五入したいときに使用します。
RoundDown数値を指定した精度に切り捨てます。RoundDown(123.456, 2)123.45数値を切り捨てしたいときに使用します。
RoundUp数値を指定した精度に切り上げます。RoundUp(123.456, 2)123.46数値を切り上げしたいときに使用します。
Min複数の数値のうち、最小の値を返します。Min(1, 2, 3)1数値の最小値を取得したいときに使用します。
Max複数の数値のうち、最大の値を返します。Max(1, 2, 3)3数値の最大値を取得したいときに使用します。
Sum数値の合計を返します。Sum(1, 2, 3)6数値の合計を取得したいときに使用します。
Average数値の平均を返します。Average(1, 2, 3)2数値の平均を取得したいときに使用します。
Mod除算の剰余を返します。Mod(10, 3)1除算の剰余を取得したいときに使用します。
Power基数を指定した累乗数に上げます。Power(2, 3)8数値の累乗を計算したいときに使用します。
Sqrt数値の平方根を返します。Sqrt(4)2数値の平方根を計算したいときに使用します。
Rand0以上1未満のランダムな小数値を返します。Rand()0.xxxxランダムな数値を取得したいときに使用します。
RandBetween指定された範囲のランダムな整数を返します。RandBetween(1, 10)1~10の間の整数指定範囲内のランダムな整数を取得したいときに使用します。
Int数値の整数部分を返します。Int(123.456)123数値の整数部分を取得したいときに使用します。

論理関数

論理関数は、条件分岐や論理演算を行うための関数です。条件に応じて値を返したり、複数の条件を組み合わせたりします。
関数名機能数式例表示例利用シーン
If条件に基づいて異なる結果を返します。If(1 > 0, "True", "False")True条件に基づいて結果を分岐させたいときに使用します。
Andすべての条件が真である場合に真を返します。And(true, false)Falseすべての条件が真かどうか確認したいときに使用します。
Orいずれかの条件が真である場合に真を返します。Or(true, false)Trueいずれかの条件が真かどうか確認したいときに使用します。
Not条件の真偽値を反転させます。Not(true)False条件の真偽を反転させたいときに使用します。
Switch値に基づいて複数の結果を返します。Switch(2, 1, "One", 2, "Two", "Other")Two複数の値に基づいて結果を分岐させたいときに使用します。
IsBlank値が空かどうかを確認します。IsBlank("")True値が空かどうか確認したいときに使用します。
IsEmptyテーブルが空かどうかを確認します。IsEmpty([ ])Trueテーブルが空かどうか確認したいときに使用します。
IsNumeric値が数値かどうかを確認します。IsNumeric("123")True値が数値かどうか確認したいときに使用します。
IsToday日付が今日の日付かどうかを確認します。IsToday(Today())True日付が今日かどうか確認したいときに使用します。
IsError値がエラーかどうかを確認します。IsError(1/0)True値がエラーかどうか確認したいときに使用します。
Coalesce最初の非空の値を返します。Coalesce("", "Default")Default複数の値から最初の非空の値を取得したいときに使用します。
Boolean値を論理型に変換します。Boolean("true")True値を論理型に変換したいときに使用します。

フィルター関数

データソースから特定の条件に一致するレコードを取得するための関数です。データソース内のデータを効率的に抽出して表示したり、処理したりする際に使用されます。
関数名機能数式例表示例利用シーン
Filter条件に基づいてテーブルからレコードを抽出します。Filter([1, 2, 3], Value > 1)[2, 3]テーブルから特定の条件に合致するレコードを抽出したいときに使用します。
Lookup条件に基づいてテーブルから単一のレコードを検索します。Lookup([1, 2, 3], Value = 2)2テーブルから条件に一致するレコードを検索したいときに使用します。
Search文字列がテーブル内のフィールドに含まれるかどうかを検索します。Search(["Text1", "Text2"], "Text")[Text1, Text2]テーブル内のフィールドに特定の文字列が含まれるか検索したいときに使用します。
AddColumnsテーブルに計算列を追加します。AddColumns([1, 2, 3], "Square", Value * Value)[{Value: 1, Square: 1}, {Value: 2, Square: 4}, {Value: 3, Square: 9}]テーブルに計算列を追加したいときに使用します。
DropColumnsテーブルから指定された列を削除します。DropColumns([1, 2, 3], "Column")テーブルから列を削除したいときに使用します。
RenameColumnsテーブル内の列をリネームします。RenameColumns([1, 2, 3], "OldName", "NewName")列をリネームしたいときに使用します。
ShowColumnsテーブルから特定の列のみを表示します。ShowColumns([1, 2, 3], "Column")特定の列のみを表示したいときに使用します。
Sortテーブルを指定された列に基づいて並べ替えます。Sort([1, 3, 2], Value, Ascending)[1, 2, 3]テーブルを並べ替えたいときに使用します。
SortByColumns複数の列に基づいてテーブルを並べ替えます。SortByColumns([1, 3, 2], ["Column1", "Column2"], [Ascending, Descending])複数の列に基づいてテーブルを並べ替えたいときに使用します。
Clearコレクションのすべてのレコードを削除します。Clear(Collection)コレクションのすべてのレコードを削除したいときに使用します。
ClearCollectコレクションをクリアし、新しいレコードを追加します。ClearCollect(Collection, [1, 2, 3])コレクションをクリアして新しいレコードを追加したいときに使用します。
Collectコレクションにレコードを追加します。Collect(Collection, [1, 2, 3])コレクションにレコードを追加したいときに使用します。
Removeコレクションから特定のレコードを削除します。Remove(Collection, 1)コレクションから特定のレコードを削除したいときに使用します。
RemoveIfコレクションから特定の条件に合致するレコードを削除します。RemoveIf(Collection, Value > 1)コレクションから条件に合致するレコードを削除したいときに使用します。
ForAllコレクションの各レコードに対して数式を適用します。ForAll([1, 2, 3], Value * Value)[1, 4, 9]コレクションの各レコードに対して数式を適用したいときに使用します。

その他の関数

上記カテゴリに当てはまらない関数を記載しています。
関数名機能数式例表示例利用シーン
Navigate別の画面に移動します。Navigate(Screen1, ScreenTransition.Fade)画面間の移動を行いたいときに使用します。
Back前の画面に戻ります。Back()前の画面に戻りたいときに使用します。
Exitアプリを終了します。Exit()アプリを終了したいときに使用します。
Refreshデータソースを再読み込みします。Refresh(DataSource)データソースを再読み込みたいときに使用します。
Setグローバル変数に値を設定します。Set(GlobalVar, 1)グローバル変数に値を設定したいときに使用します。
UpdateContextコンテキスト変数に値を設定します。UpdateContext({LocalVar: 1})コンテキスト変数に値を設定したいときに使用します。
Collectコレクションにレコードを追加します。Collect(MyCollection, {Name: "John", Age: 30})コレクションにレコードを追加したいときに使用します。
ClearCollectコレクションをクリアし、新しいレコードを追加します。ClearCollect(MyCollection, {Name: "John", Age: 30})コレクションをクリアして新しいレコードを追加したい

まとめ

それでは、今日のブログはここまでです。PowerAppsの関数についての理解が深まったことを願っています。次回も、PowerAppsをより効果的に活用するための情報をお届けしますので、ぜひお楽しみに。皆さんのPowerAppsでの創造的なアプリ作りが、ビジネスに新たな価値をもたらすことを期待しています。それでは、

お問い合わせ

  • この記事を書いた人
  • 最新記事

駒井 源之丞(gennojo komai)

お客様の成功を支援するセールスマネージャーとして日々猛進中です! 前職でのMicrosoft 365とPowerPlatformのコンサル経験を活かし、業務効率化でお客様のビジネス変革をサポートしています。 AI、デジタルツインなどの先進技術と革新的なソリューションで最適なサービスをご提案いたします。

-DX, Microsoft, デジタルツイン
-,