Power Platformメモ
Power AppsのFilter関数の使い方の入口
Power Appsでリストやコレクションを絞り込むFilter関数の基本的な書き方と、よくある使い方を整理したメモです。
Power AppsのFilter関数の使い方の入口
この記事の位置づけ
この記事は、Power Appsの初学者向け技術メモです。関数の動作は環境・コネクタ・バージョンによって変わることがあります。
実際のアプリで動作を確認してください。
ざっくり言うと
Power Appsでギャラリーや変数に表示するデータを「特定の条件で絞り込みたい」ときに使うのがFilter関数です。
たとえば「ステータスが承認済みのデータだけ表示する」「担当者が自分のデータだけ表示する」といった絞り込みができます。
基本の書き方
Filter(データソース, 条件)
例:SharePointリストの「ステータス」列が「承認済み」のデータだけ取得
Filter(申請リスト, ステータス = "承認済み")
例:「担当者メール」列が現在のユーザーのメールと一致するデータだけ取得
Filter(申請リスト, 担当者メール = User().Email)
よくある使い方
ギャラリーに絞り込み表示する
ギャラリーの Items プロパティに Filter 関数を設定します。
Filter(申請リスト, ステータス = "申請中")
テキスト入力で検索する
テキスト入力コントロール(TextInput1)の値で検索する場合:
Filter(申請リスト, StartsWith(件名, TextInput1.Text))
または部分一致の場合:
Filter(申請リスト, TextInput1.Text in 件名)
複数条件で絞り込む(AND)
Filter(申請リスト, ステータス = "申請中", 担当者メール = User().Email)
カンマで区切るとAND条件になります。
複数条件で絞り込む(OR)
Filter(申請リスト, ステータス = "申請中" || ステータス = "承認済み")
|| を使うとOR条件になります。
Delegation(委任)について
SharePointリストなど外部データソースにFilter関数を使う場合、**委任(Delegation)**という概念に注意が必要です。
委任に対応していない関数や列を使うと、取得できるデータが先頭500件(または2000件)に制限されます。
委任に対応しているかどうかは、数式バーに黄色の警告マークが表示されることで確認できます。
委任対応の目安(SharePointの場合)
| 操作 | 委任可否の目安 |
|---|---|
| 等号比較(= “値”) | ○ 対応 |
| StartsWith | ○ 対応 |
| in(部分一致) | △ 非対応の場合あり |
| CountIf・Sum | △ 非対応の場合あり |
※ データソース・列の型によって変わります。実際の動作で確認してください。
SortとFilterを組み合わせる
絞り込みと並び替えを同時にする場合は、Sort関数と組み合わせます。
Sort(Filter(申請リスト, ステータス = "申請中"), 作成日時, Descending)
注意点
Filter関数はデータを絞り込むだけで、元のデータは変更しません。
データを変更(追加・更新・削除)するには Patch・Remove・Update などの別の関数を使います。
また、大量データのリストで委任が効かない条件を使うと、意図せずデータが一部しか表示されないことがあります。ギャラリーに表示されているアイテム数が上限値(500件など)にぴったり揃っている場合は、委任が効いていないサインです。