はじめに
マシュマロで以下のような質問をいただきましたので、今回はこちらの回答をまとめた記事になります。
複数選択可能な列
複数選択可能な列の値をPower Appsで読み込むと、その値はテーブル型として扱われることになります。
SharePoint リスト
Power Apps
また、値はValue
という列に設定されます。
テーブル型のアイテムをラベルコントロールに表示させる
テーブル型のアイテムをラベルコントロールに表示させるには、アイテムをテキスト型に変換してあげる必要があります。
表示させる値が1つでよい場合
ラベルに表示させる値が、最初の行の値や最後の行の値などでよい場合は、First 関数やLast 関数を利用します。
例えば、選択されているアイテムのうち最初の1つだけを代表で表示するだけでよければ以下のようになります。
First(ThisItem.Choices).Value
テーブル内のすべての値を表示させたい場合
テーブル内のすべての値を表示させてい場合は、Concat 関数を利用します。
この関数では、設定したテーブルを指定した式で、指定した区切り文字で結合して1つの文字列にしてくれる関数です。
例えば、選択肢の値をすべて表示させたい場合は以下のようになります。
Concat(ThisItem.Choices, Value)
区切り文字は省略可能な項目なので今回は設定していません。
このままでは、例えば「Choices-A、Choices-B、Choices-C」が選択されているアイテムを表示させると以下のようになってしまいます。
Choices-AChoices-BChoices-C
区切り文字が設定されていないとみにくいですね。
そこで例えばアイテムごとに「;」で区切りたい場合は以下のように設定します。
Concat(ThisItem.Choices, Value, ";")
もしくは
Concat(ThisItem.Choices, Value & ";")
上記2つの式はそれぞれ同じ結果となります。
先ほどの例でいうとこのような結果になります。
Choices-A;Choices-B;Choices-C
ちなみに改行区切りにしたい場合は以下のようにChar 関数を利用して改行コードを設定してあげます。
Concat(ThisItem.Choices, Value & Char(10))
実行結果
Choices-A
Choices-B
Choices-C
おわりに
Power Appsでのテーブル操作は最初少し躓いてしまうポイントかもしれませんが、それを乗り越えると作成できるアプリの幅が広がってくるので、テーブル操作をマスターできるようになりましょう!