PowerApps|ドロップダウンにSharePointリストの列を連動させる
ドロップダウンにSharePointリストの列を連動させる
本記事ではドロップダウンの選択肢にSharePointリストの列を連動させるという作業を紹介します。
ドロップダウンに選択肢を用意したいです。
SharePointのリストにある情報を使いたいのですか可能ですか?
もちろん可能ですよ。
リストから情報を取得したいと思っている人は多いみたいです。
この作業は非常に質問が多い作業です。皆様悩んでいるようなので回答を用意しました。
実は簡単な作業で環境を構築することができます。この作業ができるとこんなメリットも付いてきますよ。
必要な要素を一通り説明した後に事例を使って説明をしていきます。(すぐに事例を見たい方はこちら)
関連記事
PowerAppsの各種コントロールとSharePointリストとの連携はアプリ間の作業になります。
まずは「なぜPowerAppsのコントロールとSharePointのリストを連動させるのか」を知る必要があります。
SharePointは色々なことができます。リストは数ある便利な要素の中の1つの要素です。
PowerAppsの各種コントロールに初期値と選択肢を用意する方法を紹介しています。
関連書籍
PowerAppsのおすすめ書籍を紹介します。
電子書籍はこちらです。
続いてSharePointのおすすめ書籍を紹介します。
電子書籍はこちらです。
ドロップダウンとは
まずは呼び方ですね。本記事では「ドロップダウン」で統一させています。
続いてドロップダウン本体の説明に移ります。
Microsoftの公式ドキュメントから文字を引用(一部加工)してきました。箇条書きをご覧ください。
ドロップダウン
Microsoftドキュメント:Power Apps での ドロップダウン コントロールから抜粋、加工
- 多数の選択肢が含まれている場合に画面スペースを節約できる機能
- ユーザーがシェブロンを選択して選択肢を表示しない限りコントロールが使用するのは 1 行のみ
- コントロールは最大 500 の項目を格納、表示することができる
引用文の中にあるシェブロンとはドロップダウンコントロールの右端にあるVのマークの事を指しています。
続いてドロップダウンに設定する情報を紹介しておきます。初期値と選択肢を用意することができます。
初期値
初期値はドロップダウンが表示された時に見えるようにしておきたい値です。
Defaultプロパティに文字列を用意することで初期値を設定することができます。
選択肢
選択肢はシェブロンを選択した際に見える値です。
Itemsプロパティに文字列を用意することで選択肢を設定することができます。
参考:初期値と選択肢を用意してみました
Defaultプロパティには空欄、Itemsプロパティには空欄と1~3の値を用意してみました。
SharePointとは
SharePointについてはこちらの記事で紹介しています。(記事内のリンク先に直接アクセスできます)
続いてSharePointの構成です。以下記事で解説しています。(こちらは記事のTOPにアクセスします)
リストとは
リストはSharePointの中にある機能のひとつです。
Excelのように縦横のマス目を使って情報を格納することで簡易的なDBを形成することができます。
イメージを持っていただくために画像を用意してみました。適当な情報を並べてリストを用意した次第です。
事例:PowerAppsのドロップダウンとSharePointリストを連動させる
PowerAppsのドロップダウンとSharePointリストを連動させます。
具体的には「PowerAppsのドロップダウンにSharePointリストの特定の列の情報を表示」させます。
作業内容としては「PowerAppsのドロップダウンのItemsプロパティに式を用意する」という方法をとります。
作業内容
事例を用意しました。以下順番で作業をしていきます。
- PowerAppsとSharePointを関連付ける
- PowerApps内にドロップダウンを用意する
- ドロップダウンに式を用意する
1_PowerAppsとSharePointを関連付ける
まずはPowerApps内の作業画面についておさらいしておきます。こちらをご覧ください。
用意したリンクではPowerAppsの操作画面を紹介しています。(PowerAppsStudioと呼ばれています)
今回の作業は「アプリの作成オプション」と「プロパティペイン」というフィールドで行います。
⑥アプリの作成オプション
ここでSharePointを探して選択することでPowerAppsとの関連付けを行います。
画像内赤枠のSharePointをクリックするとプロパティペインでの作業(2枚目の画像の作業)に切り替わります。
⑧プロパティペイン
この段階でPowerAppsとSharePointとの関連付けまでは完了してます。
続いてSharePoint内のサイトとリストを選択していただく事になります。
対象のリストは「d-down」という名前のリストです。(先程リストの説明で用いた画像と同じリストです)
このリストの中の「name」列をドロップダウンに表示させる予定です。
画像のように作業を進めることでPowerAppsのアプリとSharePointのリストとの関連付けが完了します。
2_PowerApps内にドロップダウンを用意する
画面内に1つだけドロップダウンを用意してください。これで終わりです。
3_ドロップダウンに式を用意する
ドロップダウンのItemsプロパティに以下式を用意します。これだけでOKです。
Itemsプロパティ
Distinct(‘d-down’,name)
Distinct関数
式のポイントはこの関数です。
パラメータで指定したSharePointリストの特定の列の値を重複を除いて返してくれるという便利な関数です。
Microsoftの公式ドキュメントから文字を引用(一部加工)してきました。箇条書きをご覧ください。
Distinct関数
構文:Distinct(テーブル,式 )
Microsoftドキュメント:Distinct 関数から抜粋、加工
- 重複する値を削除
- 結果としてテーブル内の1列を返す
- 列の値は Value 型
本記事ではパラメータ内のテーブルは「SharePointのリスト」と読み替えてください。
続いてパラメータ「式」には列名が入ります。式とありますのでここには式を用いることも可能です。
結果確認
説明したように進めていただければプルダウンの中にリストの値が並びます。
実際に環境を構築してテストしてみてください。
ドロップダウンにはname列の備品名が重複なく並んでいるはずです。
Itemsプロパティに入力した式に対してエラーは出ていない様です。
問題無くプルダウンに文字列を表示させることができました。
まとめ
PowerAppsのドロップダウンにSharePointリストの特定の列の情報を表示させてみました。
ドロップダウンのItemsプロパティに文字列を直書きするより効率よくデータを表示させることができます。
加えてメンテナンス性も向上しますので使わない手はないです。是非お試しください。
参考:ドロップダウンにSharePointリストの複数列を表示させる
SharePoint側でリストをカスタマイズするとPowerAppsのドロップダウンに展開できる情報の幅が広がります。
具体的に申し上げますと「複数列の文字列を結合」した列を用意する事も可能です。
PowerAppsのドロップダウンの中にSharePointリストの列を連結させて表示させることもできますよ。