Power Platformメモ
Power Appsのコレクション(Collection)の使い方の入口
Power Appsでデータを一時的に保持するコレクション(Collection)の基本的な作り方と使い方を整理したメモです。
Power Appsのコレクション(Collection)の使い方の入口
この記事の位置づけ
この記事は、Power Appsの初学者向け技術メモです。関数の動作は環境・バージョンによって変わることがあります。
実際のアプリで動作を確認してください。
ざっくり言うと
Power Appsで「複数のデータを一時的に保持してギャラリーに表示したい」「ユーザーが入力したデータをまとめて処理したい」というときに使うのが**コレクション(Collection)**です。
コレクションはアプリが起動している間だけ保持される「一時的なテーブル型の変数」のイメージです。
コレクションの特徴
| 特徴 | 内容 |
|---|---|
| データ形式 | テーブル(複数列・複数行を持てる) |
| 保持期間 | アプリが動いている間のみ(閉じると消える) |
| 用途 | 一時的なデータ保持・カート機能・複数選択管理など |
| データソース連携 | SharePointリストなどを読み込んで保持することも可能 |
主な関数
ClearCollect(初期化して作成)
ClearCollect(コレクション名, データまたはテーブル)
コレクションを空にしてから、新しいデータを入れます。最もよく使います。
例:SharePointリストのデータをコレクションに読み込む
ClearCollect(MyCollection, 申請リスト)
例:固定のデータでコレクションを作る
ClearCollect(
カラーリスト,
{名前: "赤", コード: "#FF0000"},
{名前: "緑", コード: "#00FF00"},
{名前: "青", コード: "#0000FF"}
)
Collect(追加)
Collect(コレクション名, 追加するデータ)
既存のコレクションにデータを追加します。
例:ギャラリーで選択したアイテムをコレクションに追加
Collect(選択リスト, Gallery1.Selected)
Remove(削除)
Remove(コレクション名, 削除するレコード)
特定のレコードをコレクションから削除します。
Clear(全削除)
Clear(コレクション名)
コレクションの中身を全部消します。
ギャラリーにコレクションを表示する
ギャラリーの Items プロパティにコレクション名を設定するだけで、コレクションのデータを表示できます。
MyCollection
Filter関数と組み合わせることもできます。
Filter(MyCollection, ステータス = "未処理")
よくある使い方の例
カート・選択リスト機能
ユーザーが「追加」ボタンを押すたびにコレクションにデータを追加し、ギャラリーでその選択リストを表示するパターンです。
// 追加ボタンのOnSelect
Collect(カート, {品目: TextInput1.Text, 数量: Value(数量Input.Text)})
一括入力フォーム
複数行のデータをユーザーに入力させ、最後にまとめてSharePointリストに書き込むパターンです。
// 登録ボタンのOnSelect
ForAll(カート, Patch(申請リスト, Defaults(申請リスト), {品目: 品目, 数量: 数量}))
注意点
コレクションはアプリを閉じると消えます。データを保存したい場合は、SharePointリストやDataverseなどのデータソースに書き込む必要があります。
また、大量のデータをコレクションに読み込むとアプリのパフォーマンスが低下することがあります。必要なデータだけをFilter・Lookupで絞り込んでから読み込む方が安全です。