
Power Apps Copilot を試してみた
先日開催されたMicrosoft Build Japan。そのなかでPower PlatformのCopilotについてのデモがあったので、楽しそうなのでやってみました。
準備する
準備は次の通り。まだプレビュー段階なので日本の環境では使えないとのこと。(2023/6/29時点)
開発環境を用意する or 試用環境を用意する
Power Platform 管理センターで「米国」環境を用意する
Power Apps の設定で言語を「English」にする
※環境名「PACopolot」は「PACopilot」の間違い…

そうすると、ChatGPTみたいな入力窓が出現します。

さっそく作ってみる
では、「お手伝い記録アプリ」を作ってみます。
ChatGPTと同じようにプロンプトを入力します。入力した内容は次の通り。
子供のお手伝いを記録するアプリを作りたいです。いつお手伝いをしたか(サンプル値はすべて"yyyy/mm/dd"のフォーマットとしてください)、どんなお手伝いをしたか、どれくらいの時間が掛かったか、お駄賃として幾ら欲しいかを記録します。そして、親がその記録を見て与えるお駄賃を決めて、誉めポイント(コメント)と一緒に記録できるようにします。
入力すると、内容に応じたテーブルを生成してくれます。求めているものと違う場合は、追加で指示を出しますが、今回はそのまま行きますので、右下の「Create app」を押します。
ちなみに、「(サンプル値は全て"yyyy/mm/dd"~」のくだり、サンプルデータも生成してくれるのですが、その値がinvalidになるので追記しました。"mm/dd/yyyy"表記になっていたので多分環境によるものかなぁ、と。

そして、感謝してくれます。こちらそこありがとう…!

こんなんでましたけど
出来上がったアプリがこちら!
確かに必要な項目は網羅されている様子。でも、FeeとかRewardの「(基本)」ってなんだ?

入力してみる。
でも、「日付に時刻は不要」とか、「コメントは親が入力する」とか、想定した項目制御にはなっていないです。この辺りもプロンプト次第で何とかなるのかな?
このあたりはCopilotから離れる部分なので省略。

実際に自動作成されたテーブルがこちら。Dataverseに作られる。

以前にもお手伝いアプリを作っていた
数年前、Power Appsの勉強をしているときにもお手伝いアプリを作ったことがありました。
最終的には1テーブルに落ち着いたのですが、テーブルは正規化した方がいいんじゃない!?的な考えをしてしまったり…何から何まで思い通りに動かそうとして、結果的に「Power Apps以外で作った方が早かったんじゃね?」といった時間をかけてしまいました…。
Power Paltformのよいところは、「M365ライセンスがあれば実行環境を用意せずにアプリを作れる」ところです。
何でもこれでやろうとせずに、用法・用量をお守りくださいですね。



実際に試してみて
率直な意見として、Copilotを使うより「Excelでサンプルテーブル作って取り込んだ方が早い」です。
現状はテーブル定義をサポートしてくれるだけですが、これがアプリのレイアウトや項目制御にまで使えるようになったら活躍しそうな気がします。実際、BuildのデモではPower Appsの関数部分などでAIが提案してくれるデモもありましたので、遠くない将来そうなりそうですね。
ただ、いくらローコードと言っても、きちんとデータモデルをイメージできる程度のスキルは必要ですね。今回は単体テーブルですが、実際に使おうとすると複数テーブルを絡めたり、M365が持っている「AAD User」テーブルとか使ってユーザーコントロールすることになると思いますので、やはりそれ相応の勉強は必要です。"市民開発"までにまだ壁はある感じです。
それにしても、やっぱりこういったものは楽しい!
M365やPower Platformで何かやりたい方がいらっしゃいましたら、ぜひお声がけを。一緒にやりましょう!
おまけ ジャイアンで生成したら…
トップ画のプロンプトで生成する。
「お前のものは俺のもの、俺のものも俺のもの」と言ったジャイアンがものを管理するアプリを欲しがっていますので作ってください。

ちゃんと「Item Management」になっている笑
