【初心者向け】PowerApps Patch関数の使い方と実例解説

A子さん

「先輩、PowerAppsでデータ更新したいんですけど…フォーム使わないとできないんですか?」

先輩

「いや、そんなことないよ。むしろフォーム使わない方が柔軟にできるケースも多い」

A子さん

「えっ、そうなんですか!?
ボタン押したらデータ更新とか、新規登録とかやりたいんですけど…」

先輩

「それなら“Patch関数”だね。PowerAppsで一番よく使うやつ」

A子さん

「Patch関数…名前は見たことあるけど、正直よく分かってないです💦」

先輩

「最初はみんなそう。
でもこれ理解すると、アプリの自由度が一気に上がるよ」

👉 PowerAppsでアプリを作成していると、
**データの更新・追加で必ず登場するのが「Patch関数」**です。

  • フォームを使わずにデータを更新したい
  • ボタン1つでレコードを追加したい
  • 条件に応じてデータを書き換えたい

こういった処理は、すべてPatch関数で実現できます。

先輩

この記事では、
👉 Patch関数の基本的な使い方から実務での活用例まで
初心者にもわかりやすく解説していきます。

目次

1. Patch関数とは?

Patch関数は、PowerAppsで データソースのレコードを更新・作成 するための関数です。
フォームを使わずに特定の列だけを更新したい場合や、条件付きでレコードを作りたい場合に便利です。


2. Patch関数の基本構文

Patch( データソース, レコード, { 更新内容 } )
  • データソース:更新先のテーブル(例:SharePointリスト)
  • レコード:どのレコードを更新するか(新規の場合はDefaults()を使う)
  • 更新内容{列名: 値} の形式で指定

3. レコードを更新する例(SharePointリスト)

例)SharePointリスト「社員一覧」の「部署」列を更新する場合

Patch(
    社員一覧,
    LookUp(社員一覧, ID = 1),
    { 部署: "営業部" }
)
  • LookUp()で更新対象のレコードを指定
  • { 部署: "営業部" }で更新内容を指定

4. 新しいレコードを追加する例

Patch(
    社員一覧,
    Defaults(社員一覧),
    {
        氏名: "山田太郎",
        部署: "総務部",
        入社日: Today()
    }
)
  • Defaults(社員一覧)で新規作成モード
  • 複数列をまとめて設定可能

5. 複数レコードをまとめて更新する例

ForAll(
    Filter(社員一覧, 部署 = "開発部"),
    Patch(
        社員一覧,
        ThisRecord,
        { 部署: "企画部" }
    )
)
  • ForAll()で複数レコードをループ
  • 部署が「開発部」の人をまとめて「企画部」に変更

6. Patch関数の注意点

  1. 必須列は必ず指定する
    データソースによっては、必須列を指定しないとエラーになります。
  2. 数値・日付型は型に注意
    Text()Value()で型変換が必要な場合があります。
  3. Delegation(委任)制限に注意
    SharePointやSQLでは、条件検索が委任されないと取得件数が500件(既定)までになります。

7. まとめ

  • Patch関数はフォームを使わずにレコードを追加・更新できる
  • LookUp()Defaults()と組み合わせて使うのが基本
  • 複数更新にはForAll()が便利

PowerAppsで動的なデータ更新を実現するためには、Patch関数の理解が必須です。
まずは上記の例をコピーして試し、自分のデータソースに合わせてカスタマイズしてみましょう。

関連記事はコチラ

先輩

「Excelにデータを保存する方法については、こちらの記事で詳しく解説しています」


よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

かもろぐ屋です
Microsoftが大好きな社内SEです
転職経験あり・内定辞退経験あり

なお絶賛婚活中

コメント

コメントする

CAPTCHA


目次