Power Appsの選択肢型の列でフィルタリングする時の注意点

はじめに

Power Appsはノーコード、ローコードでアプリを作成できる便利なツールです。私自身、何度か使用してみましたが、プログラミング言語を全く知らなくてもそれっぽいアプリを作成できるので、好きな製品の1つです。

今回、Power Apps内で選択肢型の列でフィルタリングをしようとした時につまずいた箇所があるので、こちらを皆さんにも共有したいと思います。

前提として、SharePointリストをアプリのデータベースで使用しています。

選択肢型の列

SharePointリストの中身は以下のようになっています。

リスト名はtesttestです。

SharePointリストの中身

左からテキスト型の列・日付型の列・選択肢型の列の3行のリストを使用しています。

この中に、選択肢型の列があります。

この列は、あらかじめ選択肢を定義することができ、それをユーザーが選択することができるようになっています。

データのフィルタリング

リストの一覧をPower Appsの垂直ギャラリーを使用して表示させることができます。

垂直ギャラリーによるリストの一覧表示

では、ここで日付と状態でフィルタリングをしてみようと思います。

今回は日付が2023111日、状態が未対応のものだけが表示されるようにします。

垂直ギャラリーのItemプロパティをfilter関数を使用して、まず、日付が2023111日のものだけを表示させます。

Filter(testtest, 日付="2023/01/11")

日付によるフィルタリング

その次に、日付が20230111日、かつ、状態が未対応のものだけを表示させます。

日付同様に

状態 = "未対応"

と記述するとエラーがでます。

日付、かつ、状態によるフィルタリング時のエラー

なぜ、エラーが出るのでしょうか。

状態という選択肢型と”未対応”というテキスト型を、つまり異なるデータ型同士を比較しようとしているため、エラーが出ています。

なので、データ型を合わせることが解決への糸口になります。

解決策

以下のように記述することで、解決できます。

状態.Value = "未対応"

日付、かつ、状態によるフィルタリング

おまけ

リスト一覧はPower Appsの垂直ギャラリーで表示させることができます。

この時、タイトル列に格納されている文字列を表示したい場合、テキストラベルのTextプロパティに「ThisItem.タイトル」と入力することで表示されます。

同様に日付についても、テキストラベルのTextプロパティに「ThisItem.日付」と入力することで表示されます。

では、状態を表示したい場合はどうでしょう。

テキストラベルのTextプロパティに「ThisItem.状態」と入力するだけでは表示されず、エラーになってしまいます。

"状態"列を表示させる時のエラー

ここでも、データ型を揃えることで解決できます。

ThisItem.状態.Value

"状態"列を表示させる

さいごに

今回、Power Apps内でSharePointリストの選択肢型列によるフィルタリング時の注意点を紹介しました。

ここは、Power Apps初心者がつまずきやすいポイントの1つだと思います。Power Appsで選択肢型のデータを扱う際は、参考にしてみてください。

執筆担当者プロフィール
榎本 昌広

榎本 昌広(日本ビジネスシステムズ株式会社)

中部MW所属。趣味はサッカーと筋トレです。

担当記事一覧