【PA】Power AppsをUdemyで学習してみた

就業先では、RPAツールのBizRobo!を使用しています。
しかし、スキルアップを目指して、Power Platformのスキルを身に着けたいと考えています。

Power Platformには、Power BI、Power Apps、Power Automate（Power Automate for Desktop）、Power Pages、Power Virtual Agents、Microsoft Copilot Studioなどのサービスが存在します。
これらのうち、Power Apps、Power Automate（Power Automate for Desktop）をUdemyを用いて、学習しております。

今回は、Power Platformのうち、Power AppsをUdemyにて学習いたしましたので、Power Appsの説明やUdemyで学習した内容について、共有いたします。

※時間が経過して変わってしまった箇所や間違っている箇所、不適切な表現があるかもしれませんが、その時は都度修正いたしますので、ご指摘いただけると幸いです。

## Power Platformとは
Power Platformは、Microsoftが提供するローコード開発ツール群であり、ビジネスプロセスの自動化やアプリ開発、データ分析を効率的に行うためのプラットフォームです。このプラットフォームは、以下6つの主要なサービスで構成されています。

Power BI: データの可視化と分析を行い、ビジネスインサイトを得るためのツール
Power Apps: ローコードでカスタムアプリを作成し、業務プロセスをデジタル化・効率化するためのツール
Power Automate: 業務プロセスを自動化し、手動作業を削減するためのツール
Power Pages:ビジネスニーズに合わせたウェブサイトを簡単に作成し、外部顧客やパートナーと情報を共有するためのツール
Power Virtual Agents: AIを活用したチャットボットを作成し、顧客対応や社内問い合わせを自動化するためのツール
Microsoft Copilot Studio: AIを活用した、アプリ開発や業務プロセスの設計を効率化するための支援ツール

Power Platformの特徴は、ITエンジニアだけでなく、業務担当者も自身でツールを活用できる「市民開発者」を支援する点にあります。このプラットフォームを活用することで、従来の開発手法に比べ、スピーディかつ低コストで業務の改善が実現可能です。

#### 6つの主要なサービス比較表
<table border="1" cellspacing="0" cellpadding="5">
  <thead>
    <tr>
      <th>比較項目</th>
      <th>Power BI</th>
      <th>Power Apps</th>
      <th>Power Automate</th>
      <th>Power Pages</th>
      <th>Power Virtual Agents</th>
      <th>Microsoft Copilot Studio</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>目的</td>
      <td>データの可視化と分析</td>
      <td>業務アプリの作成</td>
      <td>業務プロセスの自動化</td>
      <td>外部向けウェブサイトの構築</td>
      <td>チャットボットで業務や顧客対応を自動化</td>
      <td>業務プロセスやアプリの設計を支援</td>
    </tr>
    <tr>
      <td>主な機能</td>
      <td>データ統合、ダッシュボード作成、予測分析</td>
      <td>アプリ設計、データ入力画面の作成</td>
      <td>フロー設計、手動作業の削減</td>
      <td>ポータルサイト設計、外部ユーザー管理</td>
      <td>会話フロー設計とAIチャットボットの作成</td>
      <td>アプリ/ワークフローの生成型AI支援</td>
    </tr>
    <tr>
      <td>対象分野</td>
      <td>ビジネスインサイトの提供</td>
      <td>内部業務効率化</td>
      <td>定型業務の効率化</td>
      <td>外部顧客・パートナーとの情報共有</td>
      <td>顧客対応、社内プロセス自動化</td>
      <td>アプリ開発、業務改善</td>
    </tr>
    <tr>
      <td>ユーザーとのやり取り</td>
      <td>データを視覚化して意思決定を支援</td>
      <td>アプリを通じた入力・操作</td>
      <td>なし（フロー自動実行がメイン）</td>
      <td>外部ユーザーがウェブサイトを利用</td>
      <td>あり（チャットベースで直接やり取り）</td>
      <td>なし（設計・構築がメイン）</td>
    </tr>
    <tr>
      <td>利用例</td>
      <td>分析結果を確認するダッシュボードを提供</td>
      <td>タスク管理アプリ、作業記録アプリ</td>
      <td>メール通知、請求書処理の自動化</td>
      <td>顧客ポータル、サプライヤーサイト</td>
      <td>チャットを通じて問い合わせに対応</td>
      <td>自然言語で要件を入力しプロセスを生成</td>
    </tr>
    <tr>
      <td>活用するAIの種類</td>
      <td>売上分析、顧客動向分析</td>
      <td>データ接続、ローコード開発</td>
      <td>条件分岐、スケジュール設定</td>
      <td>ウェブサイトデザイン、データ統合</td>
      <td>チャット会話のAI</td>
      <td>アプリ構築の支援AI</td>
    </tr>
  </tbody>
</table>

## Power Appsとは
Power Appsは、ローコードでカスタムビジネスアプリケーションを作成できるプラットフォームです。これにより、開発者だけでなく、技術的な知識が限られているユーザーでも、業務に適したアプリを迅速に構築できます。Power Appsを利用することで、従来の開発手法よりも迅速かつ柔軟にアプリを構築でき、業務プロセスのデジタル化を加速できます。具体的には、以下の特徴があります。

#### キャンバスアプリ
ラベルや画像、ボタンなど配置でき、パワーポイントを作るように、自由なレイアウトでアプリをデザインでき、PowerFXというExcelのような数式を使用して機能を実装します。また、キャンバスアプリからトリガーしてPower Automateを実行するという自動化もやりやすいです。さらには、Office365やMicrosoft365ライセンスに付帯しているため、試しやすいです。
#### キャンバスアプリにおける外部サービスとの連携
キャンバスアプリでは、SharePoint、Microsoft 365、Dynamics 365、SQL Server、さらには外部のSaaSサービスとも容易に統合可能です。

#### モデル駆動型アプリ
データベースの構造は自由に決定できますが、画面の構成は、左側にメニュー、真ん中に一覧画面・詳細画面が表示されるという構成であり、基本的に変更できません。その代わり、処理新規作成機能や削除機能が既に実装されています。
貸出申請を受けて承認し、貸出後は返却まで受け付けるというようなビジネスプロセスに向いています。そのため、いろいろな申請を一括で表示する機能やレコードをみれる人を上司のみとするなど権限管理、レコードを横断的に検索する機能が活用できます。
#### モデル駆動型アプリにおけるDataverseとの統合
Microsoft Dataverseを活用することで、安全にデータを保存・管理し、複数のアプリ間でデータを統合できます。


## Udemyにある「作って学ぶPower Apps！すぐに現場で使えるアプリを3つ以上作成」コースとは
このUdemyコースでは、Power Appsを実践的に学びながら、業務に活用できるアプリを3つ以上作成します。講義は初心者向けに構成されており、基礎から応用までを体系的に学べます。主な内容は以下の通りです。

#### コースの進め方
###### Power Platformの概要説明
Power Platform全体の理解を深めるため、各コンポーネントの説明が行われます。
###### 開発環境の準備
個人の学習用として、ゼロから新しく開発者環境を取得する手順が紹介されています。
###### アプリの作成
日報アプリ、備品登録アプリ、備品管理アプリの3つのサンプルアプリを作成しながら、実践的なスキルを習得します。

#### 作成するアプリの詳細
###### 日報アプリ（キャンバスアプリ/SharePoint）
* Microsoft Teamsとの連携
* データソースへのSharePoint活用
* ワークフロー承認機能（Microsoft TeamsとPower Automate）

###### 備品登録アプリ（キャンバスアプリ/Dataverse）
* 備品の画像登録
* 備品番号の自動採番
* HTTPコネクタの活用
* QRコード形式による備品ラベルの作成（Power Automate）
* 備品ラベルの出力

###### 備品管理アプリ（モデル駆動型アプリ/Dataverse）
* 在庫管理（モデル駆動型アプリによるレコード一覧管理、各レコードの編集）
* 承認ワークフロー（モデル駆動型アプリでのフロー管理）
* Microsoft Teamsとの連携
* Wordによる申請書出力
* ダッシュボード機能（グラフ作成）

これらのアプリ作成を通じて、Power Appsの基本操作から応用技術までを体系的に学ぶことができます。


## 該当コースを受講して学んだ内容とは
Udemyの「作って学ぶPower Apps ！すぐに現場で使えるアプリを3つ以上作成」コースを通じて、以下の具体的なスキルや知識を習得しました。

#### Power Appsの基本概念を体系的に理解
書籍やドキュメントを読むだけでは分かりづらい概念を、動画講義で視覚的に学べたことで、Power Appsの仕組みや活用方法をより深く理解できました。

#### 実務で活用できるアプリの作成
Power Appsの画面レイアウトやコンポーネントの配置方法、データ接続の仕組みなど、基本的な使い方を段階的に学ぶことができました。
また、講座内で作成したアプリは、そのまま業務に応用できるものばかりでした。例えば、以下のようなアプリを作成できるようになりました。
* 日報管理アプリ（業務の進捗を記録し、共有することで、業務可視化、承認プロセスの効率化。）
* 備品登録アプリ（写真登録機能により視覚的なわかりやすさの向上、自動採番により重複やミスの防止、スマホから備品情報を確認できる利便性向上）
* 備品管理アプリ（リアルタイムによる在庫状況確認や承認ワークフローの導入による業務効率化）

#### Power Automateとの連携による自動化
Power Apps単体ではなく、Power Automateと組み合わせることで業務をより効率化できることを学びました。たとえば、
アプリに入力後、自動でデータベースに保存
申請完了時に上長へTeams通知を送信
ステータス更新後に、在庫数をデータベースに再更新
といった自動化フローを構築でき、実際の業務に応用できる知識を得ることができました。

#### データ連携の重要性
Power AppsとDataverse、SharePoint、Excelなどを連携させることで、データ管理がスムーズになりました。特にDataverseを活用することで、
データの一元管理が可能になる
セキュリティやアクセス管理が容易になる
他のMicrosoft製品とシームレスに統合できる
といったメリットが得られることを実感しました。


## 最後に
今回の学習を通じて、Power Automateを活用した業務プロセスの自動化における基本から応用まで幅広いスキルを身につけることができました。特に、実践的なフロー作成を通じて得た知識は、現場で活用できるものであり、就業先での業務自動化にも貢献できると考えています。
ぜひこの記事を参考に、皆さんもPower Platformを活用した業務改善にチャレンジしてみてください！