【Power Apps】Filterで複数条件を検索

Power Appsで使用できる検索の関数はいくつかあるのですが、複数条件の場合、Search関数かFilter関数になると思います。

Search関数はとても簡単に複数条件の設定ができるのですが、ExcelやSharePointリストで使う場合は委任問題が発生するため、Filter関数を使用して複数条件で検索できるように設定してみようと思います。

委任についてわからない方は下記の記事を参考にしてください。

【Power Apps】委任とは

複数条件で検索

Excelで下記のSamuraiJapanというデータを作成し使用します。Power Appsで使用するため、テーブルにしています。

Power Appsで以下のようなGalleryテキストボックスコンボボックスを作成し、テキストボックスには「選手の名前」、コンボボックスは「右投げ、左投げ」を選択できるようにデータソースに設定します。

GalleryのItemsに下記のように設定します。

Apps
Filter(SamuraiJapan,StartsWith(名前,TextInput1.Text),IsBlank(ComboBox2.Selected)||投=ComboBox2.Selected.Value)

'または
Filter(SamuraiJapan,StartsWith(名前,TextInput1.Text),Or(IsBlank(ComboBox2.Selected),投=ComboBox2.Selected.Value))

テキストボックスの検索部分はStarsWith関数を使用して検索します。StartsWith関数はテキストの検索に使用でき、テキストの前方が一致した場合、trueを返し、一致しない場合はfalseを返します。

今回の場合は、苗字だけ検索してヒットしたら、Galleryに表示されるようStartsWith関数を使用しています。

StartsWith関数を使用しない場合、フルネームが完全一致しないとGalleryの検索結果には表示されません。完全一致なので、苗字と名前の間にあるスペースが半角か全角かまで一致しないと表示されないため、あまりユーザーさんにやさしくないためStartsWith関数を使用しています。

参考 Power Apps の EndsWith 関数と StartsWith 関数Microsofr Learn

コンボボックスの方は、コンボボックスが未選択でも検索結果が出るようにIsBlank(ComboBox2.Selected)を入れてあります。コンボボックスが選択されているかはComboBox2.Selectedで判定ができ、空欄の場合は未選択と判定しています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA