SharePointリストからPower Appsモデル駆動型アプリを作成する方法

![kelly-sikkema-o2TRWThve_I-unsplash.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734401/742e5508-9aeb-4f34-3489-8e34844a4bd8.jpeg)


Power Appsを使ってデータ管理を行う場合はモデル駆動型アプリが最適な方法です。モデル駆動型アプリはコーディングをせずに、ダッシュボード、フォーム、ビュー、ビジネスプロセスを作成することができます。従来、SharePointリストをDBとした場合、キャンバスアプリのみが選択肢として挙がっておりました。しかし、SharePointリストを利用して仮想テーブルを作成することでモデル駆動型アプリを利用することができます。

# SharePointリストを準備する
次の列を使用して、製品というSharePointリストを作成します。

- 名前
- 説明（1行テキスト）
- タイプ（選択肢）[紳士服、婦人服、靴、ジュエリー、バッグ＆アクセサリー]
- 価格

製品リストに次のデータを入力します。

| 名前 | 説明 | タイプ | 価格 |
|:-----------|:------------|------------|------------:|			
|ビーズブレスレット|ビーズ付きブレスレット|ジュエリー|10,000|
|ブラウスブラックL|女性用の大きな黒いブラウス|婦人服|25,000|
|ブラウスブラックM|女性用標準なブラックブラウス|婦人服|25,000|
|ブラウスブラックS|女性用の小さな黒いブラウス|婦人服|25,000|
|ブラウスブラックXL|女性用のとても大きな黒いブラウス|婦人服|25,000|
|レザー財布ダークブラウン|ポケットがたくさんある大きなダークブラウンの財布|バッグ＆アクセサリー|50,000|
|ポロシャツレッドL|男性用の大きな赤いポロシャツ|紳士服|30,000|
|ポロシャツレッドM|男性用標準なレッドポロシャツ|紳士服|30,000|
|ポロシャツレッドS|男性用の小さな赤いポロシャツ|紳士服|30,000|
|ポロシャツレッドXL|男性用のとても大きな赤いポロシャツ|紳士服|30,000|
|ランニングシューズサイズ28cmホワイト|サイズ28cmの白いランニングシューズ|靴	|65,000|
|ランニングシューズサイズ25cmホワイト|サイズ25cmの白いランニングシューズ|靴|	65,000|
|ランニングシューズサイズ26cmホワイト|サイズ26cmの白いランニングシューズ|靴	|65,000|
ランニングシューズサイズ27cmホワイトサイズ|27cmの白いランニングシューズ|靴	|65,000|


# Virtual connectors in Dataverseをインストールする
仮想テーブルを作成するために、Dynamics 365アプリをインストールする必要があります。[*Virtual connector in Dataverse*](https://appsource.microsoft.com/ja/product/dynamics-365/mscrm.connector_provider?tab=overview)にアクセスし、[今すぐ入手する]を選択し、アカウントを入力後、[サインイン]を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734401/2fae6c0b-0a8b-46d9-b324-d06fbacea97d.png)

サインインした後、Power Platform管理センターが起動します。仮想テーブルを利用する環境を選択し、[インストール]をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734401/3fd13359-3f16-087a-ead2-e697bd27200e.png)


# SharePointサイトと接続する
インストール完了後は、SharePointと接続するための準備をする必要があります。Power Appsを開き、接続から[新しい接続]をクリックします。そして、*SharePoint*を選択し、[作成]を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734401/2ab99229-6081-f1c4-2eed-245a99a974e5.png)

次に、特定のSharePointサイトと接続するために接続参照を作成する必要があります。新しくソリューションを作成し、[新規]から[その他]、[接続参照]をクリックします。表示名と件名を*SampleSPOConnection*という名前を付け、コネクタをSharePointに設定し、[作成]をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734401/5f4a9e14-a650-b02b-6556-d90155bcb738.png)

Power Appsの設定から[詳細設定]を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734401/5b64f504-b7fd-0e38-985c-4310f136a606.png)

Dynamics 365の設定をクリックし、システムから[管理]を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734401/7eb147ac-d8d6-7a3a-28e7-9badd9e00083.png)


[仮想エンティティ データソース]を選択し、[新規]をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734401/6905df80-e8cf-b31a-2b11-fbb1cececb7c.png)

データプロバイダーは*Virtual Connector Data Provider*（既定値）を選択します。次に、名前に*SampleSPOList*と名前付け、つながり参照を*SampleSPOConnection*を選択します。データセット値に接続するSharePointサイトを入力し、[保存して閉じる]をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734401/1a6b8792-4437-f10f-cd9c-be8f60e6720c.png)


# SharePointリストから仮想テーブルを作成する
次に、接続したSharePointサイトから仮想テーブルに利用するリストを設定します。Power Appsを開き、テーブルから*Entity Catalog for SampleSPOConnection*を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734401/3ce9bdd8-e73f-d877-ad9e-c39c2b1d6cbd.png)

[アプリの作成]をクリックし、SharePointカタログアプリと名付けた、新しいモデル駆動型アプリを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734401/2fc5d86a-a5f6-c0d8-4f87-549d314d6649.png)

[再生]をクリックし、アプリを起動します。仮想テーブルとなる製品リストを選択し、*Create or Refresh Entity*を*Yes*、*Primary key of the Virtual Entity*を*ID*、*Primary field of the Virtual Entity*を*Title*に設定し、[保存して閉じる]をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734401/ac89e65d-20de-34de-df6b-84117717a2de.png)

Power Appsを開き、テーブルからCustom Entity 製品のテーブルが作成されたことを確認します。これで、仮想テーブルが作成されました。

# Power Appsモデル駆動型アプリを作成する
Power Appsを開き、テーブルからCustom Entity 製品を選択します。アプリの作成からモデル駆動型アプリを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734401/54a4a19f-37fb-9de2-ccaf-dde107ee88f2.png)

[再生]をクリックすることで、モデル駆動型アプリを利用することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734401/5a89be74-c083-39e5-ff58-66781c2f0434.png)

# 仮想テーブルについて詳しく知りたい方へ
仮想テーブルを利用することで複数のデータソースを統合したシステムを作成することができます。このコラボレーションにより、多くの効果が出ることは間違いありません。詳細を確認したい場合は[仮想テーブルについて](https://docs.microsoft.com/ja-jp/power-apps/developer/data-platform/virtual-entities/create-virtual-tables-using-connectors?tabs=sql)ご確認ください。