はじめに
この記事ではPower Appsのアプリ内におけるデータ操作に関する関数について解説していきます。
データの読み込みや更新、削除においてデータの抽出方法はどの関数が最適か説明していきます。
データ操作に関する関数のおおまかな分類
1. データの取得
LookUp First Last Filter Search
2. データのフィルタリング・並び替え
Filter Sort SortByColumns
3. データの追加
Collect Patch ForAll
4. データの更新
Patch Update UpdateIf
5. データの削除
Remove RemoveIf Clear
6. データの一時保存
Collect ClearCollect
7. フォームとの連携
SubmitForm EditForm NewForm
LookUp Filter Collectについては以下の記事で解説しています。
Patch関数
Patch 関数は、データソースやコレクションのデータを更新・追加するための関数です。
Patch(データソース, レコードまたは条件, 変更内容)
- レコードを追加したい場合
Patch(データソース, Defaults(データソース), {レコード})
ここに 社員名簿テーブル があります。
新しい社員が入ったのでレコードを追加したいと思います。

Patch(
社員名簿テーブル,
Defaults(社員名簿テーブル),
{
姓: "西田",
名: "健司",
部署: "マーケティング部",
性別: "男"
}
)
//フルネームはテーブル上で 姓 と 名 を結合させた計算式となっているため設定無し
ボタンの OnSelect に設定して、この関数を作動させます。
最終行に新しいレコードが追加されました。
- 特定のレコードを更新したい場合
Patch(データソース, テーブルに含まれるレコード, {変更内容})
テーブルに含まれるレコード は LookUp 関数で取得することが可能です。
先ほど作成した新しいレコードの部署を 営業部 に変更してみましょう。
Patch(
社員名簿テーブル,
LookUp(
社員名簿テーブル,
フルネーム = "西田 健司"
),
{部署: "営業部"}
)
レコード作成時は マーケティング部 でしたが 営業部 に更新されました。

Patch 関数のまとめ
- Patch 関数はレコードの更新や追加を行うことができる関数
- LookUp 関数を使用することで特定のレコードの更新が可能
- Defaults 関数を使用すれば新しくレコードを追加することが可能
Remove関数
Remove 関数は、データソースやコレクションから特定のデータを削除するための関数です。
Remove(データソース, 削除するレコード)
//削除するレコードは LookUp などで指定が可能
-
特定のレコードを削除したい場合
先ほどPatch関数で追加した西田 健司さんのレコードを削除してみたいと思います。
関数を実行します。
Remove(
社員名簿テーブル,
LookUp(
社員名簿テーブル,
フルネーム = "西田 健司"
)
)
分かりづらいかもしれませんが、指定したレコードが削除されました。
RemoveIf関数
RemoveIf 関数は、条件に一致するすべてのレコードをデータソースやコレクションから削除するための関数です。
RemoveIf(データソース, 条件)
では、先ほどの 社員名簿テーブル から部署が 総務部 の人をフィルターしてレコードを削除してみたいと思います。
RemoveIf(
社員名簿テーブル,
部署 = "総務部"
)
Remove RemoveIf 関数のまとめ
-
Remove関数はLookUpを使用して 特定のレコードを削除 することが可能 -
RemoveIf関数は 複数のレコードを一括で削除 することが可能 -
AndやOr関数を使って複数条件を設定することも可能
警告
Remove RemoveIf 関数で削除したレコードは復活させることはできませんので、削除を実行する際は十分に気を付けてください。
ClearCollect関数
ClearCollect 関数は、コレクションをリセットし、新しいデータをセットするための関数です。
Clear 関数と Collect 関数がセットになった関数だと思っていただければ結構です。
ClearCollect(コレクション名, 新しいデータ)
社員名簿テーブル をそのまま Collection というテーブルに作成してみたいと思います。
ClearCollect(
Collection,
社員名簿テーブル
)
ギャラリー内の Items が Collection という名前でデータを表示させることができました。

その②まとめ
本記事では Patch Remove RemoveIf ClearCollect 関数について紹介しました!
その他記事についても今後作成していく予定です!
ぜひご参考にしてみてください!




