1.やったこと
iPhoneのアクティビティアプリのスクショを画像認識して、筋トレ結果を抽出、データを格納してダッシュボードで表示する…までを、Power Platformの各種サービスを駆使してノンコーディングでやってみたことのうち、Common Data Serviceでやったことのメモです。
- Power Platformでノンコーディングで筋トレ成果を記録するアプリを作ってみた - AI Builder編 -
- [Power Platformでノンコーディングで筋トレ成果を記録するアプリを作ってみた - Power Apps編 -] (https://qiita.com/miokawa/items/0f3dc6ac6a1be01984d6)
- Power Platformでノンコーディングで筋トレ成果を記録するアプリを作ってみた - Common Data Service編 -←コレ
- Power Platformでノンコーディングで筋トレ成果を記録するアプリを作ってみた - Power Automate編 -
- Power Platformでノンコーディングで筋トレ成果を記録するアプリを作ってみた - Power BI編 -
人恋しさと運動不足解消のため、定期的にオンラインフィットネス(Teams繋ぎながらyoutubeのトレーニング動画を流してみんなでやる)を会社の人とやり始めたことがきっかけで作りました。
最終的な成果物はこんな感じ(細かいデザイン方法については触れません)。
※試行錯誤した結果、こうしたらできた!って感じなので、これが一番スマートなのかどうかは不明ですのでご注意ください。
2.本アプリでのPower Platformの各サービスの役割
- Power Apps:iPhoneのアクティビティアプリのスクショをアップロードする。Power BIで筋トレ記録見られる。
- AI Builder:アクティビティアプリのスクショに含まれる筋トレ時間、消費カロリー、日付などを画像認識する
- Power Automate:Power Appsのアップロードボタンをトリガーに、アップロードされたスクショをAI Builderに投げ、結果のデータをCommon Data Serviceに格納する
- Common Data Service:ひたすら筋トレ結果を格納する
- Power BI:Common Data Serviceに格納された筋トレ成果たちをそれっぽく表示する
図にすると以下のような感じです。
気づいたら割といろいろ使ってた。わお。
3.開発環境
今回はこちらの無料ライセンスを使いました。
Power Apps Community Plan
4.実現したいこと
AI Builder編で以下のスクショから画像認識して抽出した筋トレデータを格納するCommon Data Serviceを準備する。
抽出できるデータ
- 曜日(例:Mon)
- 月(例:Dec)
- 日(例:14)
- トレーニングカテゴリ(例Fitness Game)
- 合計時間(例:0:40:01)
- アクティブキロカロリー(例:118KCAL)
- 合計キロカロリー(例:159KCAL)
- 平均心拍数(例:114BPM)
5.作成過程
Power Appsにログインし、データからテーブルを選択し、新しいテーブルをクリックします。
テーブル作成に必要な項目を入力して作成をクリックします。
各項目の意味はこちらの公式サイトを参照ください。
今回格納するデータの列を追加していきます。最終的にPower BIで何を表示したいかにもよりますが、私の場合、試行錯誤の結果少なくとも以下の列が必要となりました。なお、括弧内は選択したデータ型を表しています。
- Date(日付のみ)
- Training Category(テキスト)
- Active Kilocalories(整数)
- Total Training Minutes(整数)
- Avg. Heart Rate(整数)
左上の列の追加から、列の名前の入力やデータ型の選択をし、作成をクリックします。
必要な列の分だけ繰り返します。
一通り列の追加が終わったら、右下のテーブルの保存をクリックします。
6.次のステップ
次はPower Automate編でAI Builder編で作成したAIが画像認識で抽出した筋トレデータを格納していきたいと思います。