PL-900：Power Appsの概要と機能

この投稿はMicrosoft PL-900の受験に向けた勉強資料をMS Learnページを参考にして作っています。
一発合格に向けて頑張りましょう！

[Power Apps の概要と機能][MS-Learn]

[MS-Learn]: https://learn.microsoft.com/ja-jp/training/modules/introduction-power-apps/2-what-is-power-apps

## データが存在する場所でデータを操作する
* 数百以上のコネクタをデータ、アプリプラットフォーム、Microsoft Dataverse、多数のオンラインデータソース、オンプレミスデータソースにつなぐことができる
* 一部データソースは以下を含む
    * Dataverse
    * SharePoint
    * Dynamics 365
    * SQL Server and Azure SQL
    * Office 365
* Power Appsは複数のデータ接続を簡単にサポートし、複数のプラットフォームのデータを1つのアプリケーションにまとめることができる

## さまざまなシナリオに対応する、さまざまなタイプの Power Apps
### キャンバス アプリ (Canvas apps)
* 空白のキャンバスからアプリの作成をスタートできる
* 画面サイズ(タブレットまたはモバイル)を選ぶと、次に構築を行う空白の画面が表示される
* 以下のように完全な柔軟性を提供
    * アプリでデータソースを追加してデータと相互に作用する
    * ドラッグアンドドロップでさまざまなコントロールをしたり、Excel の式を記述して機能を追加したりする

<img src="https://learn.microsoft.com/en-us/training/modules/introduction-power-apps/media/mobile-canvas-apps.png">

### モデル駆動型アプリ(Model-driven apps)
* Microsoft Dataverseのデータから構築されたアプリ
* PowerAppsはDataverseのデータに基づきもしくは相互に作用する優れた外観と完全な機能を備えたアプリケーションを構築、アプリのサイズは気にしなくてもOK
* タブレットやモバイルにも追加対応なく動作する
* 関係、フォーム、ビュー、ビジネスルールなどをDataverse内のデータ層で定義することで、すべての式を自分で作成しなくてもビジネス結果を得ることができる

<img src="https://learn.microsoft.com/en-us/training/modules/introduction-power-apps/media/fundraiser.png">

### ポータル (Portals)
* ノーコードで公開用Webサイトを構築可能
* Power Appsインターフェイスを使って匿名または認証された Webサイトをドラッグアンドドロップ操作などで構築し、ユーザーがDataverseに保持しているデータとやり取りできる

<img src="https://learn.microsoft.com/en-us/training/modules/introduction-power-apps/media/portal.png">

## ノーコードアプリに人工知能を追加する
* Power Appsはモデルを構築およびトレーニングするためにウィザードベースのインターフェイスを提供することにより、コードを書いたり、複雑な機械学習モデルを作成したりすることなく、Azure Machine Learningと Cognitive Servicesのパワーを活用できるようになった

* Power Appsで利用可能なAIモデルは 4 つ
    * 予測 - 以前のデータ履歴に基づいて何かが発生するかどうかを予測

    * フォームプロセッサ - 画像からテキストを抽出

    * 物体検出 - アップロードした画像または撮影した写真から物体を識別し、存在する物体の数を表示

    * テキスト分類 - テキストが意味別に分類されるため、分析が容易になる

### 予測モデル
* AI Builderの予測モデルでは履歴データに基づいてyesまたはnoの結果を予測するモデルを作成
* yes/noの結果を含む履歴データを提供することによってモデルをトレーニングする。その後、人工知能によって残りの操作を行う
* 予測モデルを構築して次のようなビジネス上の問題を解決できます。
    * 見込み客は顧客になりますか。
    * プロジェクトは収益性が高いものとなりますか。
    * 顧客離反はアクティビティに基づきますか。

### セキュリティと管理
* Power Appsには、Power Appsを管理するためのセキュリティ、ガバナンス、およびレポート機能が多数存在する
* Power Appsでセキュリティ上のあらゆる状況を回避することはできない
* ユーザーは、現在のアクセス許可をバイパスするアプリを構築することはできない
* Power Appsのセキュリティを管理するには
    * https://admin.powerplatform.microsoft.com/ にアクセス
    →　環境の作成と管理、ライセンスの監視、データ損失防止ポリシーの操作、およびDataverseデータ統合プロジェクトの管理のためのオプションがある。これにより、1 か所からテナント全体にわたって Power Appsを管理できる

* Power Appsでは
    * 多くの管理業務を自動化できる
    * アプリケーション作成者、管理者、開発者向けの独自のPowerShell cmdletがあり、管理業務の多くを自動化することができる
    * PowerShell cmdletの一般的な使用例
        * テナント内のすべてのアプリケーションの検出と権限管理を自動化する　→　これにより、アプリケーションが作成され、会社全体に広がるときにアプリケーションをよりよく理解し、管理することができる

* Power Automateモジュールでは
    * Power Automateが上記タスク(PowerShell cmdletの使用例)を自動化する機能を備えている
    * Center of Excellenceスターターキットは、Microsoft Power Platformの採用とサポート戦略の策定に役立つコンポーネントまたはツールのコレクションであり、Power AppsとPower Automateに焦点を当ててダウンロードできる

### ビジネス バリューの推進
* Power Appsは
    * C#のような従来の「コード」を必要としないため、テクノロジの参入障壁が低い
    * ビジネスプロセスがわかれば、最初のアプリを書き始めることができる
    * 現在のFinanceが独自のExcelワークブックを構築するのと同じように、独自のPowerAppsを構築することができる
    * エントリーレベルのユーザーでさえ、複数のデータソースを1つのアプリに結合することで、書類作業を減らし、プロセスの効率性を高め、真実の単一ソースを確保することができる。 
    * ユーザーはITが設定したガードレールの中にいながら簡単にアプリを作ることができる。 これにより前例のない量の革新とデジタル化が可能になり、アプリのバックログや面倒な紙ベースのプロセスなどを排除することができる。