MENU

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

PowerAppsを使ってアプリを作成していると、データを更新・追加する場面で必ず出てくるのが Patch関数 です。
この記事では、Patch関数の基本的な使い方から、SharePointリストやDataverseへの具体的な更新例までを解説します。

目次

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関数の理解が必須です。
まずは上記の例をコピーして試し、自分のデータソースに合わせてカスタマイズしてみましょう。

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

この記事を書いた人

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

なお絶賛婚活中

コメント

コメントする

CAPTCHA


目次