LoginSignup
5
9

More than 1 year has passed since last update.

PowerApps 委任問題を回避するFilter関数の使用例

Last updated at Posted at 2021-10-03

前置き

PowerAppsでFilter/LookUp/Searchなどの関数を何気なく使用していると委任の警告が出ることがよくあります。データソースの規模が小さいうちは問題ありませんが、2000行を超えると問題になるので委任の警告が出ない(委任可能な)Filter関数の使用例を紹介します。

前提としてデータソースはSharePointListを使用することを想定します。

image.png

委任について

委任って何?という方は下記サイト様で分かりやすく説明されています。

本記事で使用するSharePointList

本記事では都道府県/氏名/性別/年齢/職業の5つの列を持つSharePointList(リスト名:SampleList)を例に説明します。必要に応じて読み替えて利用ください。
image.png

事例①:特定の1列を対象に完全一致フィルタをかける

テキストボックス(TextInput1)に任意の文字列を入力させ、完全一致する氏名をもつ行だけを絞り込みます。最も基本的な形です。

Filter(SampleList,氏名=TextInput1.Text)

↓氏名が山田の人だけが表示される
image.png

事例②:特定の1列を対象に前方一致フィルタをかける

完全一致では実用上使いづらいので、前方一致で絞り込めるようにします。

Filter(SampleList,StartsWith(氏名,TextInput1.Text))

↓氏名がから始まる人(山田、山本、山岸)が表示される
image.png

事例③:特定の1列を対象に部分一致フィルタをかける

部分一致はSearch関数を使用する必要がありますが、2021/10/1時点でSharePointListでのSearch関数は委任をサポートしていないので、委任の警告を回避することはできません。 ※もし回避方法をご存じの方がいればコメントいただけると幸いです。

事例④:複数列を対象に前方一致フィルタをかける

事例①②では氏名でしか絞り込めませんでしたが、他の列でも絞り込めるようにします。

Filter(SampleList,StartsWith(氏名,TextInput1.Text)||StartsWith(都道府県,TextInput1.Text)||
                  StartsWith(性別,TextInput1.Text)||StartsWith(職業,TextInput1.Text))

↓都道府県で絞り込んだり、職業で絞り込んだりできる
image.png
image.png

事例⑤:複数列のAND条件で前方一致フィルタをかける

2つのテキストボックス(TextInput1,TextInput2)を使って、複数列(ここでは氏名と都道府県)のAnd条件で絞り込みます。

Filter(SampleList,StartsWith(氏名,TextInput1.Text),StartsWith(都道府県,TextInput2.Text))

↓氏名が山田かつ都道府県が三重の人が表示される
image.png

事例⑥:複数列のOR条件で前方一致フィルタをかける

2つのテキストボックス(TextInput1,TextInput2)を使って、複数列(ここでは氏名と都道府県)のOr条件で絞り込みます。

Filter(SampleList,StartsWith(氏名,TextInput1_5.Text)|| StartsWith(都道府県,TextInput1_6.Text))

↓氏名が佐藤の人と都道府県が三重の人が表示される
image.png

事例⑦:数値列で値の大小のフィルタをかける

テキストボックス(TextInput1)に任意の数値を入力させ、年齢が入力値以上の行だけを絞り込みます

Filter(SampleList,年齢>=Int(TextInput1.Text))

↓90歳以上の人だけが表示される
image.png

5
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
9