Power Appsモデル駆動型アプリ開発で役立つサイトのまとめ

## はじめに
最近、Microsoft製品のPower Appsモデル駆動型アプリ開発を勉強中のですが、いろんな役立つサイトをメモしました。
特にSQL Serverと連携している場合。

## 正文

### Microsoftおすすめアプリデザイン
https://docs.microsoft.com/ja-jp/powerapps/maker/model-driven-apps/design-productive-forms

### モデル駆動型アプリのファビコンのカスタマイズはできない（ポータルアプリはOK）
https://community.dynamics.com/365/f/dynamics-365-general-forum/424851/custom-favicon-for-model-driven-app

### モデル駆動型のPower Appsのナビの消し方
上のMicrosoftヘッダーと左のサイトマップを非表示しますので、自分のカスタムメニューを設計する場合のみ適用（画面遷移方式がなくなちゃう）

https://qiita.com/zhaoshibo/items/5504c3bc7747741c5ad9

### SQL Serverから初期データ導入および定期導入
Dataverse → テーブル → データを取得 → データを取得 → SQL Server データベース → DB接続、対象テーブル選択、データマップ、自動または手動更新など
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1109922/48536963-b416-d0f3-dec8-263094b2d180.png)

https://docs.microsoft.com/ja-jp/powerapps/developer/data-platform/import-data

### Power AutomateでDataverseの操作をSQL Serverに同期
https://japan.flow.microsoft.com/ja-jp/connectors/shared_commondataserviceforapps/microsoft-dataverse/

作成、更新、削除一個ずつフローを作って、Dataverse(トリガーとして)がSQL Server(同期先)との連動の目標を達成できる。
データ連携は大体１～２分かかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1109922/180f8b60-3191-7b46-8ea9-ad04aa873f25.png)

フローにてSQLテーブル名が非表示の問題の解決策：

https://community.dynamics.com/crm/b/hayersdynamicscrm/posts/microsoft-flow-sql-server-table-names-is-not-visible-in-flow

https://powerusers.microsoft.com/t5/Building-Flows/Azure-SQL-modified-trigger-table-names-not-visible/td-p/66188

### モデル駆動型アプリのエクスポートとインポート(.zip)
ソリューションのアンモンジドモードでエクスポートしますと、バージョン番号が記載されたZIPファイルが自動的にダウンロードされて、新しい環境にインポートできます。

https://docs.microsoft.com/ja-jp/powerapps/maker/model-driven-apps/distribute-model-driven-app#add-an-app-to-a-solution

### 外部ツールからDataverseのアクセス（Read-Only）
ドキュメント：

https://docs.microsoft.com/ja-jp/powerapps/developer/data-platform/dataverse-sql-query

SSMSダウンロード：

https://docs.microsoft.com/ja-jp/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15

### カスタムコマンドバー　
新しいコマンド（イベント付き）だけを追加できます。既存のコマンドの削除と非表示は実行できません。（tooltip支持）

既存のコマンドの理解
・グラフ表示：カスタムの縦棒グラフ、円グラフなど...
・（非）アクティブ化：フィールド`statuscode`の値を制御し、非アクティブになると、データは読み取り専用になり、編集できなくなり、カスタムビューで非アクティブデータが非表示できるように設定できます。
・フロー：Automate
・レポートの実行：デザイナーで作ったレポート（エンティティ）を実行し、レポートを出力します。例えば：売り上げ

https://docs.microsoft.com/ja-jp/powerapps/maker/model-driven-apps/use-command-designer

### モデル駆動型アプリにカスタムページを追加する（キャンバス）
`Navigate()`イベントをボタンの `OnSelect`アクションにバインドして、カスタムページからモデルアプリページに遷移できる。

https://powerapps.microsoft.com/en-us/blog/custom-pages-for-converging-model-driven-apps-and-canvas-apps/

### テーブルのフォームにCanvas（コンポーネントとして）を埋め込む
https://docs.microsoft.com/ja-jp/powerapps/maker/model-driven-apps/embedded-canvas-app-add-classic-designer

### power appsセキュリティ ロール管理
https://docs.microsoft.com/ja-jp/power-platform/admin/database-security

### model-driven自体ナビゲーションの説明
右上の高度な検索（filter）が非常に役に立てて、いくつかパターンがありまして、曖昧検索にもOKです。

https://docs.microsoft.com/ja-jp/powerapps/user/navigation

### モデル駆動型アプリのロゴのカスタマイズ
https://reenhanced.com/2019/adding-a-logo-or-custom-image-to-a-model-driven-app/

### カスタムテーブルのアイコンを変更する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1109922/5cd87970-8ab3-f8bc-3b5f-18e1fe1ada66.png)

https://docs.microsoft.com/ja-jp/powerapps/maker/model-driven-apps/change-custom-entity-icons

https://community.dynamics.com/crm/f/microsoft-dynamics-crm-forum/396343/create-image-for-custom-entity

### テーブルに対して各種業務チェック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1109922/4c862c41-379c-b2a4-0ad0-1e05fc673dc7.png)

https://docs.microsoft.com/ja-jp/powerapps/maker/data-platform/data-platform-create-business-rule

### Canvasアプリとモデル駆動型アプリの比較
https://www.columbusglobal.com/en-gb/blog/canvas-app-vs-model-driven-app-differences-benefits-and-more

### 複数の文字列変数を連結する
https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-concatenate

### 良い開発事例
https://memo.tyoshida.me/power-platform/powerapps/possibility-using-powerapps-for-government/

## 終わりに
バラバラですみませんでした、開発完了まで再整理を行う予定です。