はじめに
Power Appsでデータを検索する際は Filter
関数を使って検索することが多いと思います。
本記事では Search
関数を使用して部分一致を用いた検索を行う方法を解説します。
Search関数とは??
Search
関数は指定したキーワードが含まれるデータを取得するための関数です。
ギャラリー内のデータを検索して表示させたい時に便利です!
Search関数の基本構文
Search(データソース, 検索文字列, 検索対象列1, 検索対象列2, ...)
- データソース...検索対象データ (DataverseやSharePointリストなど)
- 検索文字列 ...ユーザー側が指定する検索文字列
- 検索対象列 ...検索を実行する列(複数指定が可能)
基本的な使い方
単一の列を検索対象に設定
ここに Dataverseで作成したテーブル 社員名簿テーブル
があります。
各列の名称はそれぞれの通りです。
TextInput1
プロパティにキーワードを入力すると 'フルネーム' 列から部分一致するレコードのみをフィルターしてくれるように設定します。
ギャラリーコントロールを置き Items
に Search
関数を設定します。
数式は以下のとおりです↓↓
Search(社員名簿テーブル,TextInput1.Text,フルネーム)
では、この TextInput1
プロパティに 田中
というキーワードを入力して
フルネーム
に 田中
を含むレコードのみ検索してみましょう。
ご覧のように 田中
がフルネームに含まれるレコードのみが自動でフィルターがかかりました。
このようにして単一の列を対象にキーワード検索を行うことが可能です。
複数列を検索対象に設定
先ほどは フルネーム
列のみを検索対象に設定しましたが、今度は 部署
も検索対象に設定してみましょう。
書き方は先ほどの数式に引数で 部署
の列を加えるだけです。
Search(社員名簿テーブル,TextInput1.Text,フルネーム,部署)
このように先ほどは フルネーム
のみで検索可能でしたが 部署
の列でも検索がヒットするようになりました。
メリットとデメリット
メリット
Search
関数は 部分一致 の設定を行いたいときに非常に便利です。
また、複数列を対象に検索も行うことができ、構造も非常に簡単なので比較的扱いやすい関数となっています。
デメリット
複雑な条件には向いていないため、その場合は Filter
関数を使う方が良いでしょう。
データ件数がかなり多い場合には遅延が発生することもあります。
まとめ
今回は簡単な検索機能として Search
関数について解説を行いました。
複雑な条件でない場合は設定しやすいので使いこなせると非常に便利だと思います。
Filter
関数と使い比べて用途に合わせた実装をしてみてください!