これまでキャンバスアプリをメインで作っていたけど、モデル駆動型アプリを作るかもしれないということで、練習がてら我が家で飼っているねこを管理するアプリをモデル駆動型で作ってみた。
色々と勉強になったので、その手順をメモ。
2024/5/28:現在のUIに修正
モデル駆動型アプリについて
モデル駆動型アプリはざっくりと言うと、
モデル(テーブル)や業務フローをメインで設計/構築して、UIはほぼ自動で作ってもらおう
的なアプリのこと。
キャンバスアプリが「画面(UI)」をメインで作るのに対し、モデル駆動型は「データ構造」や「業務の流れ」を中心に開発する。
そしてこのデータを貯める場所が「Dataverse」になる。Dataverseはマイクロソフトが用意してくれている超高機能かつ超簡単に使えるDBのことだと思ってもらえれば。
今回作る「ねこ管理アプリ」ではうちで一緒に暮らしているねこのデータを、モデル駆動アプリで管理したりグラフで表示する。
今回管理するデータ
今回作る「ねこ管理アプリ」では、ねこの
- 食事の履歴(カロリー)
- 体重の履歴
といったデータを管理して、日々の体調を管理するイメージで構築する。
作成するテーブル(モデル)のイメージ
テーブルの作成
それでは早速テーブルを作成していく。
前述の通りモデル駆動型では「Dataverse」を使用するので、「有料ライセンス」か「試用環境」または「開発者用環境」が必要になる。
↓がPower Platform管理センター
https://admin.powerplatform.microsoft.com/environments
ねこテーブル作成
※[高度なプロパティ]というと難しい雰囲気があるけど、昔からのUIでテーブルが作れるってだけなのであまり気にしなくてOK。
※「プライマリ列」はいわゆるDBの主キー(プライマリキー)とは別物。このプライマリ列には行(レコード)の主な意味を示す属性(名前、社員番号 とか)を設定すると後々便利。
※日本でしか使わないアプリなので[タイムゾーン]は[日付のみ]にする。
この列は「誕生日」列の値と今日の日付を計算して自動で出るようにしたいので、データ型「計算式」を選び、以下の式を追加し[保存]を選択。
Text(DateDiff(誕生日, UTCToday(), TimeUnit.Months), "#ヵ月")
※この式だと厳密には年齢がずれると思うけど、サンプルなのでいったん無視。
Tips:計算列
これで「ねこ」テーブルの作成は完了。
次回は残りのテーブルの作成とテーブル間の「リレーション」を設定する。
コメント