フィルター
gallery一覧を条件で絞り込む場合、galleryのプロパティItemsに、以下のような式を設定をします
Filter(データソース, 条件)前提:データソースが「タスク管理リスト」の場合
完全一致 委任可能
条件 リスト列が「Title」で「T0001」に完全一致する行
Filter(タスク管理リスト, Title = "T0001")応用 上記のT0001をアプリのテキストボックス(TextInput2)に入れ込んだ値にする
Filter(タスク管理リスト, Title = TextInput2.Text)前方一致 委任可能
条件 リスト列が「Title」で「T01」から始まる行
Filter(タスク管理リスト, StartsWith(Title, "T01"))応用 入力された値(TextInput2)の前方一致で絞込み
Filter(タスク管理リスト, StartsWith(Title, TextInput2.Text))部分一致 委任不可
条件 リスト列が「Title」で「001」が含まれている行
Search(タスク管理リスト, "001", "Title")○○が含まれているか 委任不可
条件 リスト列が「Title」で「001」が含まれている行
Filter(タスク管理リスト, "T0001" in Title)式に in を使用しているだけで、部分一致と同じ。
どちらにしても委任不可。
複数条件(AND) 委任可能
条件 リスト列「進捗状況」が「未完了」で、なおかつリスト列「優先度」が「高」の行
Filter(タスク管理リスト, 進捗状況 = "未着手" && 優先度 = "高")※「未着手」と「高」は完全一致
複数条件(OR)
条件 リスト列「進捗状況」が「未完了」か、リスト列「優先度」が「高」の行
Filter(タスク管理リスト, 進捗状況 = "未完了" || 優先度 = "高")※「未着手」と「高」は完全一致
数値比較 委任可能
条件 リスト列「売上」が50以上の行
Filter(タスク管理リスト, 売上 >= 50)| 比較条件 | 内容 |
|---|---|
| 売上 = 50 | 50に等しい |
| 売上 > 50 | 50より大きい |
| 売上 < 50 | 50より小さい |
| 売上 >= 50 | 50以上 |
| 売上 <= 50 | 50以下 |
| 売上 <> 50 | 50以外 |
応用 売上が50以上、80以下の行を絞込
Filter(タスク管理リスト, 売上 >= 50 && 売上 <= 80)日付比較 条件付き
条件 リスト列が「close」で2025/10/1から2025/10/31までのレコード
以下のような記述の場合は委任可能
Filter(タスク管理リスト, close >= DateValue("2025/10/01") && close <= DateValue("2025/10/31"))以下のように「今日まで」という記述の場合、Today()が委任不可のため、式としても委任不可
Filter(タスク管理リスト, close <= Today())以下のように、別途(DatePicker1)で設定した日付を用いる場合は委任可能
Filter(タスク管理リスト, close <= DatePicker1.SelectedDate)空欄チェック 委任不可
条件 リスト列「Title」が空欄の行
Filter(タスク管理リスト, IsBlank(Title))以下の場合は委任可能ですが、SharePointリストの空欄はnullではないため、下記の設定では絞られない模様
Filter(タスク管理リスト, Title = "")否定 委任不可
条件 リスト列が「進捗」で「完了」以外の行
Filter(タスク管理リスト, Not(進捗 = "完了"))ただし同じ意味の以下式であれば委任可能
Filter(タスク管理リスト, 進捗 <> "完了")絞込みと並び替えを混在させる場合
例えば、進捗状況の列が「完了」だけに絞った中で、期限(field_2)を昇順、管理番号(Title)を降順にしたい。
※すべての列を1行テキストで作成したリストです
式は以下のようになります。
Filter部分は列名が「進捗状況」でも問題ないですが、並び替えで利用する列は内部列じゃないと認識されない模様。
SortByColumns(
Filter(タスク管理リスト, 進捗状況 = "完了"),
"field_2", SortOrder.Ascending,
"Title", SortOrder.Descending
)