Power Apps だけで承認できる旅費承認アプリを作る

モデル駆動型アプリの基礎

Power Apps の一つである モデル駆動型アプリの基礎の説明をします。

モデル駆動型アプリは実はキャンバスアプリよりも簡単に高度なアプリが素早く作れるようになっているんです!

それでは早速やっていきましょう!

モデル駆動型アプリの位置づけと全体像

モデル駆動型アプリは、Power Platformファミリーの一員であるPower Appsの一つです。

MEMO
話はそれますが、2022/5に、Microsoft Build Power Pagesが発表されました。Power Apps portalsはPower Apps の一員だったのですが、Pagesとなって独立しました。Power Apps と横並びの製品という位置づけとなっています。

モデル駆動型アプリはその名前の通り、「モデルを作ったら動きます」。ここでいうモデルはテーブルの関連性です。広義にはスキーマと言ったりします。

例で紹介します。例えば、以下のように備品の貸し出しを管理するアプリを作ろうと思ったら、備品、ユーザーというマスターデータ、貸出備品(備品マスタ)、貸出先(ユーザーマスタ)を紐づけてさらに貸出日などを管理するトランザクションデータが考えられるかと思います。

MEMO
マスターデータは、基本は固定的で他に参照して使われるもの、トランザクションデータはどんどん一般ユーザに作成されていくものです。大体のトランザクションデータはマスターデータを参照しています。

 

そんな構成の時には上記のようなテーブル間の関連性が考えられます。これがモデルです。データモデルと呼ぶこともあります。

ここで言う1とかNでつなげられている矢印は、1つのマスターデータに対して沢山(N)のトランザクションデータが作成されている、言い換えれば1個の備品マスタは佐藤さんにも田中さんにも誰かが使っていなければ貸出できます(複数のトランザクションデータが発生できる)というイメージです。

モデル駆動型アプリの構成

今度は技術的な構成を見てみましょう。モデル駆動型アプリは一体どの部分を言うのでしょうか。

以下にモデル駆動型アプリの構成を示しています。真ん中上部のPower Appsのアイコンがモデル駆動型アプリです。少し乱暴な言い方ですが、わかりやすく言うと、モデル駆動型アプリ自体は「画面だけ」と解釈できます。横並びのキャンバスアプリ、Power BIも画面だけとも解釈できます。

画面だけですと、データを格納する場所がありません。モデル駆動型アプリのデータソースは常にDataverseです。

MEMO
と言っても、Dataverseにはデータフローという様々なデータソースからデータを連携してくる機能や、仮想テーブルを使えばデータ自体はDataverseに保管せず接続先データソースのデータモデルをカタログ化して毎回参照しに行く技術がありますので、そこまで不便ではありません。

Dataverseをデータソースとすることで以下のような特長があります。

  • キャンバスアプリやPower BI、Power Pagesと共通のデータソースとしてDataverseを利用することができる。
  • Power AutomateのDataverseのトリガーを利用した自動化を実装できる。

これにより以下のようなメリットがあります。

得意分野で分けたアプリ開発を簡単に行うことができる。 キャンバスアプリなら間違いにくい簡単な画面にしてエンドユーザに入力してもらう。

モデル駆動型アプリは管理者側で一覧で画面を見る。

Power BIで可視化する。

Power Automateのアクションを使い分ける必要がない。 一つのデータソースDataverseのデータが作成されたときや更新されたときをトリガーにすれば、入力元がキャンバスであってもモデル駆動であっても処理を行わせることができる。

モデル駆動型アプリのサンプル画面

画面を見てみましょう。モデル駆動型アプリは以下のような一覧画面(ビュー)、詳細画面(フォーム)、さらにダッシュボード、カスタムページという主に4種類の画面構成になっています。

MEMO
カスタムページという、キャンバスアプリで使っている柔軟なデザインの画面を埋め込むことのできるページ、ポップアップ画面等を作成することができるようになりました。
参考 モデル駆動型アプリのカスタム ページの設計https://docs.microsoft.com

ビュー

一覧画面には標準でExcelへの入出力機能が用意されています。

三点リーダからたどっていくと、Excelで開くメニュー(コマンド)がたくさん用意されています。例えばExcel Onlineを使って開いてみます。

すると以下のように画面上にExcel Onlineがポップアップされて直接Dataverseのデータを一括新規作成、変更、削除して保存することができます。

 

フォーム

フォームにはビジネスプロセスフロー(BPF)という、業務フローの進捗を図で表現する機能が備わっており、クリックしたプロセスで行わなければいけない作業を設定することができます。

例としては、画面のように返却がなされたら修理が必要かどうかをチェックすることなどです。

BPFは条件にのっとってフローのパターンの切り替えることもできます。

修理が必要だった場合は修理のプロセスに入るなどです。

 

ダッシュボード

Dataverseの複数のテーブルから情報を集めてきて可視化する機能も備わっています。ここにPower BIを埋め込むこともできます。

カスタムページ

カスタム ページでは、メインページ(全画面)、サイドダイアログ、ポップアップの構成で画面を作成できます。

メインページ

メイン ページとしてのカスタム ページ

センターダイアログ

センター ダイアログとしてのカスタム ページ

サイドダイアログ

サイド ダイアログとしてのカスタム ページ

まとめ

いかがでしたでしょうか。トライアルや開発者向けライセンスでご利用いただくことができますのでまずは個人でお試しになってみるのはいかがでしょうか。

ご参考になれば幸いです。

ご参考情報

コメントを残す

メールアドレスが公開されることはありません。