見出し画像

PowerAppsでGoogleみたいに複数ワードで検索をする方法

はじめに

PowerAppsの開発をしていると、Galleryの検索機能はどのアプリにも追加しますよね。アプリによっては、Google検索のようにテキストボックスの中に自由に入力した複数ワードを使って検索シたいと思います。

当方自身もフリーワードで検索するアプリを作成するときに検索したところ
3ワードまでであれば検索する方法の紹介はありました。

ただ、本来やりたいことは、何ワードでも上限なしに検索を行いたいです。
このときは、一度諦めてMax3ワードでの検索機能でリリースしていました。

どうやるの?

GalleryのItemsプロパティに以下のように指定することで、検索ワードの上限なく検索することができます。
※ 実際には検索ワード数を大量に指定すると、負荷が高くなる可能性があります。未確認。

OR検索

With(
    {
        SearchTextList: Split( Trim( Inputbox.Text) )
    },
    Filter(
        Datasource,
            Or(
                IsBlank(Inputbox.Text),
                true in ForAll(SearchTextList,
                    Or(
                        Lower(ThisRecord.Result) in Lower([検索対象フィールド1]),
                        Lower(ThisRecord.Result) in Lower([検索対象フィールド2])
                    )
                )
            )
        )
    )
)

AND検索

With(
    {
        SearchTextList: Split( Trim( Inputbox.Text) )
    },
    Filter(
        Datasource,
            Or(
                IsBlank(Inputbox.Text),
                !(false in ForAll(SearchTextList,
                    Or(
                        Lower(ThisRecord.Result) in Lower([検索対象フィールド1]),
                        Lower(ThisRecord.Result) in Lower([検索対象フィールド2])
                    )
                ))
            )
        )
    )
)

あとがき

Reza Dorrani さんのYoutube動画を参考にさせていただきました。
デザインともに大変参考になりますのでぜひご覧ください。


この記事が気に入ったらサポートをしてみませんか?