はじめに
この記事では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 関数について紹介しました!
その他記事についても今後作成していく予定です!
ぜひご参考にしてみてください!