からめもぶろぐ。

俺たちは雰囲気で OAuth をやっている

Power Apps で複数選択可能なコンボ ボックスでフィルターをする

Power Apps のコンボ ボックスは複数の値を選択することができますが、これを使って複数の値でフィルターをしたいと思いました。

具体的には以下の感じです。初期状態は何も選択されていないのですべてが表示されます。

f:id:karamem0:20200826100159p:plain

コンボ ボックスで複数の値を選択するとその値にしたがってフィルターされます。

f:id:karamem0:20200826100215p:plain

どうやって実現しているのかというと、コンボ ボックスの SelectedItems を見て、値が選択されていれば、データ ソースに条件を追加するようにしています。

f:id:karamem0:20200826100932p:plain

わかりやすいようにテキストも貼っておきます。

Filter(
    'Test List 1',
    Or(
        Or(
            IsEmpty(ComboBox1.SelectedItems),
            IsBlank(ComboBox1.SelectedItems)
        ),
        And(
            Not(
                IsBlank(
                    LookUp(
                        ComboBox1.SelectedItems,
                        Value = "Test List Item 1"
                    )
                )
            ),
            Title = "Test List Item 1"
        ),
        And(
            Not(
                IsBlank(
                    LookUp(
                        ComboBox1.SelectedItems,
                        Value = "Test List Item 2"
                    )
                )
            ),
            Title = "Test List Item 2"
        ),
        And(
            Not(
                IsBlank(
                    LookUp(
                        ComboBox1.SelectedItems,
                        Value = "Test List Item 3"
                    )
                )
            ),
            Title = "Test List Item 3"
        )
    )
)

コンボ ボックスの選択肢についてそれぞれ条件を書かないといけないので、コンボ ボックスの選択肢は固定である必要があります。委任の警告は出ないので SharePoint リストでもうまく動作するはずです(試していません)。