【モデル駆動型アプリ】初心者が過去データをDataverseに移行してみた
30秒でわかる!この記事の結論
やったこと: Googleフォームで記録していた過去の行動ログデータ3,193件を、Power AppsのDataverseに移行しました。
便利だった機能:
- モデル駆動型アプリからExcel Onlineでデータを直接編集できる
- 計算列で開始・終了日時から自動的に継続時間を算出
- フィルター + 一括選択で過去データに不足していた項目を効率的に追加
- ロールアップで別テーブルのデータを集計(プロジェクトの開始日・終了日も自動算出)
- グラフ機能でデータを可視化
結論: Dataverseは単なるデータベースではなく、Excel感覚で編集できる上に、計算列やロールアップなど強力な機能が使える。過去データの整形・移行作業が想像以上にスムーズでした。
はじめに
2025年8月、プライベートの行動ログをGoogleフォームからPower Appsに移行しました。当初はシンプルにDataverseにデータを入れていましたが、最近になってデータ構造を見直し、カテゴリマスター、トランザクションマスター、プロジェクトマスターをリレーショナルで接続した行動記録アプリに作り替えました。
そのついでに、過去のGoogleフォーム時代のデータもDataverseに移行することにしました。今回は、その移行作業で発見したDataverseとExcel Onlineの便利な機能について紹介します。

移行作業の全体像
やりたかったことは単純で、「Googleフォームに蓄積された過去の行動ログデータ3,193件を、新しいDataverseの構造に合わせて整形し、移行する」ことです。
ただし、Googleフォーム時代には記録していなかった項目(プロジェクト名やカテゴリー名など)を後から追加する必要があったため、単純なインポートでは済みませんでした。
実際の作業手順
1. モデル駆動型アプリからExcel Onlineを開く
まず、モデル駆動型アプリからExcel Onlineでデータを開きました。これにより、Dataverseのデータを直接Excelのような操作感で編集できます。

2. Googleフォームのデータを1列ずつコピペ
Googleフォームからエクスポートしたデータを、Excel Online上で1列ずつコピペして取り込みました。地道な作業ですが、データの確認をしながら進められるので安心感があります。

3. 計算列でDurationを作成
開始日時(StartDate)と終了日時(EndDate)から、行動の継続時間(Duration)を計算する列を作成しました。キャンバスアプリでデータを作るタイミングでやろうとすると面倒臭いので、今後はアプリでやると面倒なやつはDataverse側でやろうと思います。

ちなみに。

4. フィルター + 一括選択で効率的にデータ整形
Googleフォーム時代には入力していなかったプロジェクト名やカテゴリー名を、フィルター機能で絞り込んでから一括選択し、一気に入力しました。例えば「Power Apps」を含むデータをフィルタリングして、そのすべてに「Power Apps」を割り当てる、といった作業が数クリックで完了します。
3,193件のデータに手動でプロジェクトやカテゴリーを付与する作業は約3時間かかりましたが、一括選択機能のおかげで思ったよりスムーズに進みました。

5. ついでにロールアップ列を作って、ProjectのStart/Endを自動取得する

まとめ
Googleフォームの過去データ3,193件をDataverseに移行する作業を通じて、DataverseとExcel Onlineと、モデル駆動型アプリの強力さを実感しました。(もっと早く知りたかった・・)
特に、計算列やロールアップといった機能は、単なるデータベースの枠を超えて、データを「賢く」扱えるようにしてくれます。Excel Onlineでの編集機能も、簡単でいいですね。
休日の朝から夕方まで、食事も風呂も忘れて没頭してしまうほど、Dataverseとモデル駆動型アプリは奥深く、楽しいツールです。Power Platformを使った業務改善に取り組んでいる方の参考になれば幸いです。
ついでに、モデル駆動型でグラフを作ってプライベートでPower Appsに費やした時間を可視化してみました。合計、156時間でした。(あと、今日だけで4.4時間でした笑)

