Power Apps モデル駆動型アプリで「ねこ管理アプリ」を作ってみる|第1回「テーブル(エンティティ)の作成」

これまでキャンバスアプリをメインで作っていたけど、モデル駆動型アプリを作るかもしれないということで、練習がてら我が家で飼っているねこを管理するアプリをモデル駆動型で作ってみた。

色々と勉強になったので、その手順をメモ。

スポンサーリンク

モデル駆動型アプリについて

モデル駆動型アプリはざっくりと言うと、
モデル(テーブル)や業務フローをメインで設計/開発して、UIはほぼ自動で作ってもらおう
的なアプリのこと。

キャンバスアプリが「画面(UI)」をメインで作るのに対し、モデル駆動型は「データ構造」や「業務の流れ」を中心に開発する。

そしてこのデータを貯める場所が「Dataverse(旧CDS)」になる。Dataverseはマイクロソフトが用意してくれている超高機能かつ超簡単に使えるDBのことだと思ってもらえれば。

今回作る「ねこアプリ」ではキャンバスアプリで追加したねこのデータを、モデル駆動で管理したり表にしたりしたいな、みたいなイメージ。

※もちろんこの程度ならキャンバスだけで全然実現可能だけど。。。

今回管理したいもの

今回作る「ねこアプリ」では、ねこの

  • 食事の履歴(カロリー)
  • 体重の履歴

といったデータを管理してみる。

「ワクチンを打った日付」とか「トイレを全掃除した日付」とかも管理してみたいけど、ひとまず上の2項目で日々の体調を管理してみる。

作成するテーブル(モデル)のイメージ

今回作成するねこアプリのテーブルのイメージはこんな感じ。

テーブルの作成

それでは早速テーブルを作成していく。

前述の通りモデル駆動型では「Dataverse」を使用するので、「有料ライセンス」か「試用環境」または「開発者用環境」が必要になる。

環境については「Power Platform管理センター」で確認可能で、今回はTrial(試用)環境で作ってみる。

↓がPower Platform管理センター
https://admin.powerplatform.microsoft.com/environments

ねこテーブル作成


まずは「ねこ」テーブルを作成。

Power Appsのトップメニューの左側にある「テーブル」を選択して、「新しいテーブル」を選ぶ。
そしたらテーブルに必要な項目が出てくるので、こんな感じで設定して「作成」ボタンを押下。

※ちなみにこの設定で出てくる「プライマリ列」はいわゆるDBの主キー(プライマリキー)とは別物とのこと。ここでのプライマリ列には行(レコード)の主な意味を示す値(名前、管理番号 とか)を入れるとよいらしい。

するとこんな感じで「ねこ」テーブルができるので、続いて列を追加していく。「列の追加」をクリックして
「誕生日」列を追加。データ型は「日付」を選んで「完了」を押す。
続いて「月齢」列を追加する。

この列は「誕生日」列の値と今日の日付を計算して自動で出るようにしたいので、データ型「整数」を選んだあと、「計算またはロールアップ」の「追加」ボタンを押す。

すると「一旦保存してね」メッセージが出るので保存。
するとこんなポップアップが出るので、まずは条件を設定。
※ポップアップが出ない場合はブラウザの設定でポップアップをブロックしている可能性あり。
「誕生日」がわからない(誕生日列が空白の)ねこもいるかもなので、誕生日がわかる場合のみ月齢を計算するように、こんな感じで設定。
そしたら、「操作」からまずDIFFINMONTHS関数を選んで
開始日付に「誕生日」列の値、終了日付に「今日」の日付を入れて確定を押す。
そしたら「保存して閉じる」を押下する。

※月齢の計算はたぶんこれだと1カ月ずれるけど、ひとまず練習ということでw

ねこテーブル動作確認

「ねこ」テーブルに必要な列「名前」「誕生日」「月齢」を追加したので、ここで一旦データを追加してみる。

「ねこ」テーブルの「データ」タブを押下して、「レコードの追加」を押す。
すると追加用のフォームが開くんだけど、フォームを一切いじっていないのでデフォルトのまま。

そこで、ユーザーが誕生日列を入力できるようフォームをカスタム。

「ねこ」テーブルの「フォーム」タブを選択して「Main」フォームを選択する。
するとフォームをカスタムする画面が開くので、「フォームフィールド」を選択。
そして「誕生日」列を選択してあげる。
選択すると「誕生日」をユーザーが入力できるようになる!
ちなみに所有者は標準で作成される列で、このデータ(レコード)の持ち主は誰か?を設定できる列。今回のアプリでは所有者によって特に権限をいじるつもりはないので、「非表示」にしてしまう。
「名前」と「誕生日」が入力できる画面になったら「保存」→「公開」
もっかい「ねこ」テーブルの「データ」タブへ移動し、「レコードの追加」を選択すると、
こんな感じで「名前」と「誕生日」が入力できるようになる!

※変更が反映されない場合は、「公開」がうまくいっていないか、少し時間が経つと反映されることがある。

保存して閉じて「データの更新」を押すと、こんな感じで行(レコード)が追加されているんだけど、「誕生日」や「月齢」を確認できない。
そこで今度はねこ「テーブル」の「ビュー」をいじる。「ねこ」テーブルの「ビュー」タブへ移動し「アクティブなねこ」を選択する。

※アクティブ/非アクティブもテーブルに自動で追加される列。「アクティブなねこ」ビューはこの列の値が「アクティブ」な行(レコード)だけを表示する自動で作られる「ビュー」のこと。

するとこんな感じで「ビュー」の設定画面が開くので、「誕生日」と「月齢」を追加。
あとは順番をドラッグとかで変えてあげて、「上書き保存」→「公開」
すると「データ」がいい感じで表示されるようになる。

これで「ねこ」テーブルの作成は完了!

思ったより記事が長くなってしまったので、残りのテーブルと「リレーション」は第2回で作成します。

コメント

タイトルとURLをコピーしました