はじめに
ごきげんよう、ゆりみーです。
SharePoint リストの選択肢列やユーザー列で複数選択を許可すると、Power Apps のデータテーブルで「Ojbect」と表示されてしまう現象について解説していきます。
症状
SharePoint リストではこんな感じで複数選択の値がちゃんと表示されているのに
Power Apps のデータテーブルでは「Object」と表示されてしまって、何が入っているのか分からないし、しかもエラーが発生している💦
原因
データテーブルも、ギャラリーも原因は同じです。
複数選択可能な選択肢列やユーザー列は値をテーブル型で持ちます。
その為、テキスト型のデータテーブルの列やギャラリー内のラベルでは型が不一致で、エラーになっています。
対処法
まず選択肢列の値がどのように入っているかを見ていきます。
もう1つデータテーブルを作成して、Items プロパティに1つ目のデータテーブルで選択したレコードの複数可の選択肢列を指定します。
ここまでで選択肢の値は Value という列に格納されているというのが分かります。
で1つ目のデータテーブルをよーく見ると、Object と Object の間にカンマがありますね? ここでおそらく値が区切られているというのが推測できます。
なので、この区切り記号を利用して、選択肢列の値同士を結合し、テーブル型→テキスト型に変換するというのが対処法です。
データテーブルの中で複数選択可能な列を選択し
この式では Concat 関数を使用して、選択されている値を結合しています。
その結果、SharePoint リスト側から見たのと同じ値が取得できるようになりました。
ユーザー列に関しても同じですが、ユーザー列は結構色々な値を持っています。
※これでも一部です。
なので、この中から欲しい値を指定しましょう。
データテーブルの中で複数選択を許可したユーザー列を選択して
ギャラリーもラベルのTextプロパティをConcat 関数でいじってあげれば、エラーが解消されます。
終わりに
表示がおかしいときは大体、型が異なることが多いです。
落ち着いてエラー表示を確認し、型を合わせることに注力しましょう。
それではごきげんよう✨