はじめに
Power Appsはノーコード、ローコードでアプリを作成できる便利なツールです。私自身、何度か使用してみましたが、プログラミング言語を全く知らなくてもそれっぽいアプリを作成できるので、好きな製品の1つです。
今回、Power Apps内で選択肢型の列でフィルタリングをしようとした時につまずいた箇所があるので、こちらを皆さんにも共有したいと思います。
前提として、SharePointリストをアプリのデータベースで使用しています。
選択肢型の列
SharePointリストの中身は以下のようになっています。
リスト名はtesttestです。
左からテキスト型の列・日付型の列・選択肢型の列の3行のリストを使用しています。
この中に、選択肢型の列があります。
この列は、あらかじめ選択肢を定義することができ、それをユーザーが選択することができるようになっています。
データのフィルタリング
リストの一覧をPower Appsの垂直ギャラリーを使用して表示させることができます。
では、ここで日付と状態でフィルタリングをしてみようと思います。
今回は日付が2023年1月11日、状態が未対応のものだけが表示されるようにします。
垂直ギャラリーのItemプロパティをfilter関数を使用して、まず、日付が2023年1月11日のものだけを表示させます。
Filter(testtest, 日付="2023/01/11")
その次に、日付が2023年01月11日、かつ、状態が未対応のものだけを表示させます。
日付同様に
状態 = "未対応"
と記述するとエラーがでます。
なぜ、エラーが出るのでしょうか。
状態という選択肢型と”未対応”というテキスト型を、つまり異なるデータ型同士を比較しようとしているため、エラーが出ています。
なので、データ型を合わせることが解決への糸口になります。
解決策
以下のように記述することで、解決できます。
状態.Value = "未対応"
おまけ
リスト一覧はPower Appsの垂直ギャラリーで表示させることができます。
この時、タイトル列に格納されている文字列を表示したい場合、テキストラベルのTextプロパティに「ThisItem.タイトル」と入力することで表示されます。
同様に日付についても、テキストラベルのTextプロパティに「ThisItem.日付」と入力することで表示されます。
では、状態を表示したい場合はどうでしょう。
テキストラベルのTextプロパティに「ThisItem.状態」と入力するだけでは表示されず、エラーになってしまいます。
ここでも、データ型を揃えることで解決できます。
ThisItem.状態.Value
さいごに
今回、Power Apps内でSharePointリストの選択肢型列によるフィルタリング時の注意点を紹介しました。
ここは、Power Apps初心者がつまずきやすいポイントの1つだと思います。Power Appsで選択肢型のデータを扱う際は、参考にしてみてください。