PowerAppsでテーブル内のレコードをコンボボックスに表示

Developer activity

はじめに

SharePointリストでユーザー列と選択肢列を作って、そのリストをPowerAppsで取得し、コンボボックスのItemsに表示しようとしたのですが、どちらもレコードデータになってしまって一筋縄ではいきませんでした。

解決までに結構調べてしまったので、同じようなことをしたいと思っている方の参考になれば幸いです。

前提条件

作成したSharePointリストの構造です。

IDユーザー部署
1テーブル1テーブル2
TestList
DisplayNameEmail
Hoge Tarofuga@fuga.com
テーブル1
Value
Piyo部
テーブル2

解決策

コンボボックスのItemsに以下のコードを書くことで、DisplayName、Email、部署データのリストを表示することができます。もっときれいなコードが書けるかもしれませんが…。

Sort(
    ForAll(
        // TestListの行数分ループ
        Sequence(CountRow(TestList)),
        {
            // ValueにはSequenceで生成された行番号(シーケンス番号)が入ります。
            DisplayName: Index(TestList.ユーザー,Value).ユーザー.DisplayName,
            Email: Index(TestList.ユーザー,Value).ユーザー.Email,
            // ここは最初のValueがシーケンス番号、後ろのValueがテーブル2の列名です。
            部署: Index(TestList.部署,Value).部署.Value
        }
    ),
    // DisplayNameの昇順でソート
    DisplayName, SortOrder.Ascending
)

Sort()はお好みで!

コメント