PowerAppsでのPatch関数の使い方と活用方法を徹底解説

「Patch関数の使い方がわからない…」

「Patch関数で特定のレコードを更新するのってどうやるの?」と考え込んでしまう人は少なくありません。

PowerAppsでデータを送信するときは、既存のレコードを更新したり、新しいデータを追加したりするケースが多々あります。

そのような場面で活躍するのが「Patch関数」です。

Patch関数を使えば、フォームを使わずに特定のレコードを直接更新したり、新規作成したりすることができます。

本記事では、PowerAppsのPatch関数の基本的な使い方や活用方法を詳しく解説しています。

記事の内容を参考に、Patch関数をマスターしてしまいましょう。

PowerAppsをもっと効率的に学びたいと考えている方には、Udemyのオンライン講座がおすすめです。
初心者向けのコースが充実しており、動画で実践的に学べるため、独学よりもスムーズにスキルを習得できます。
特に、PowerAppsの基本操作や関数の使い方を体系的に学びたい方に最適です。

この記事を書いた人
  • 一部上場企業に勤める会社員
  • ITエンジニア未経験
  • 2024年7月から社内DX担当に異動
  • 同時期にPowerPlatformを始める
  • 効率的に学ぶためにブログスタート
ちょびです!
目次

PowerAppsのPatch関数とは?

PowerAppsのPatch関数は、データソースの特定のレコードを更新、または新しいレコードを追加するために使われる関数です。

フォームを使用せずにデータを変更できるため、より柔軟なアプリ開発が可能になります。

Patch関数の主な用途は以下の通りです。

  • 特定のレコードの更新(例:特定のタスクのステータスを変更)
  • 新しいレコードの追加(例:新規ユーザーをリストに追加)
  • 特定のフィールドのみの部分更新(例:価格フィールドのみ変更)

PowerAppsのPatch関数の基本的な使い方

Patch関数の基本構文は以下の通りです。

Patch(データソース, レコード, 更新する内容)

例えば、SharePointリスト「Tasks」の特定のタスクのステータスを「完了」に更新する場合、次のように記述します。

Patch(
    Tasks,
    LookUp(Tasks, ID = 1),
    {
        Status: "完了"
    }
)

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

新しいデータを追加する場合は、Defaults関数を使用します。

Patch(
    Tasks,
    Defaults(Tasks),
    {
        Title: "新しいタスク",
        Status: "未着手"
    }
)

上記コードをボタンなどのOnSelectに入れると、Tasksリストに新しいレコードを追加します。

2. 複数のレコードを一括更新する

Patch関数はForAll関数と組み合わせることで、複数のレコードを一括で更新できます。

ForAll(
    Filter(Tasks, Status = "進行中"),
    Patch(
        Tasks,
        ThisRecord,
        {
            Status: "完了"
        }
    )
)

上記のコードは、ステータスが「進行中」のすべてのタスクを「完了」に変更します。

PowerAppsのPatch関数を使う際の注意点

Patch関数を使うときは、以下のような注意点を理解した上でコーディングできると、データ操作が最適化されたアプリを開発できますよ。

  • Patch関数とSubmitForm関数の違いを理解する
  • デリゲーションに気をつける
  • エラー処理を実装する

それぞれ誰もが陥りがちなポイントなので、詳しく見ていきましょう。

Patch関数とSubmitForm関数の違い

Patch関数は特定のレコードを個別に更新するために使用されますが、SubmitForm関数はフォームを使ってデータを送信します。

  • Patch関数: フォームなしでデータを個別に変更
  • SubmitForm関数: フォームのデータ全体を送信

どちらを使うかは、アプリの構造や要件によって決めると良いでしょう。

デリゲーションに気をつける

PowerAppsでは、Patch関数を使用する際にデリゲーション(データのサーバー処理)が発生することがあります。

特にSharePointを使用する場合、大量のデータ処理をする際にはデリゲーション制限を考慮する必要があります。

エラー処理を実装する

Patch関数を使用する際は、エラーが発生する可能性もあるため、IfError関数などを活用してエラーハンドリングを行いましょう。

IfError(
    Patch(
        Tasks,
        LookUp(Tasks, ID = 1),
        {
            Status: "完了"
        }
    ),
    Notify("更新に失敗しました", NotificationType.Error)
)

上記のコードは、IfErrorがfalseになったときにNotify関数の”更新に失敗しました”がポップアップされます。

まとめ

PowerAppsのPatch関数を活用することで、データの更新や新規追加を柔軟に行えます。

フォームを使わずに特定のレコードのみを変更したり、複数のデータを一括で更新したりできるため、アプリ開発の自由度が大幅に向上します。

ただし、大量データの処理やデリゲーションの影響には注意が必要です。

適切なエラーハンドリングを実装しながら、Patch関数を効果的に活用しましょう。

PowerAppsはUdemyで学べる!

Udemy
学習スタイルオンライン講座
・動画
・スライド
運営会社株式会社ベネッセコーポレーション
期間購入した講座は無期限で視聴可能
料金1,500円〜29,000円(税込)
サポート年間通してセール多数開催
購入前に無料視聴可能
30日間返金保証 など

Udemyは、オンラインで幅広い分野のスキルを手軽に学べる、世界最大級のオンライン学習プラットフォームです。

PowerAppsだけでなく、PowerAutomateを含むPowerPlatform系以外にも以下のような講座があります。

Udemyで学べるジャンル
  • ビジネス
  • プログラミング
  • デザイン
  • 語学
  • 趣味 など

20万以上のコースから、動画講座で自分のペースで学習できます。

Udemyは不定期ですが頻繁にセールを開催します。
95%以上割引かれて1,500円で購入できる講座もありますよ!

最大95%OFFのセールをチェック! /

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