【PowerApps 事例】自分の作業時間を記録する携帯アプリを作る:作業時間記録アプリ

PowerApps 事例:便利な作業時間記録アプリを作りました。自分のやっている作業がどのプロジェクトでどれだけ時間を使っているかを簡単に記録できる携帯アプリです。PowerAppsの新たな事例としてそのアプリのデモとその作成の簡単な説明をしてます。

【PowerApps 事例】自分の作業時間を記録する携帯アプリを作る:作業時間記録アプリ

(動画時間:7:09)

PowerAppsの新事例、作業時間記録アプリ

 

こんにちは、リーンシグマブラックベルトのマイク根上です。今日は久しぶりにPowerAppsの話題です。

 

最近僕は全体最適化をする業務システムの開発だけでなく、業務改善のコンサルのサービスも始めました。日本の中小企業の皆さん、リーンシグマでの業務改善をされたい方はぜひご連絡下さい。⇒「業務改善コンサルティングのお問合せ」

 

そこで自分のやっている作業がどのプロジェクトでどれだけ時間を使っているかを簡単に記録できる携帯アプリ、作業時間記録アプリをPowerAppsで作ったのです。PowerAppsの新たな事例として参考にして頂ければと思います。

 

開発の仕事もコンサルの仕事も会議や作業に自分がどの位の時間を使っているかを把握する事が大事です。その時間でクライアントさんに課金をする事もあるし、将来の案件に正確な時間の見積もりもできるようになります。

 

PowerApps 作業時間記録アプリの実演

 

下図がその作業時間記録アプリです。まずはどう使うかを見てみましょう。最初の画面に自分のプロジェクトの一覧が出ていて、その中の数字は各プロジェクトの作業時間の合計です。

 

作業時間記録アプリ画面1

 

例えばこれから二番目の、「プロジェクトB」の作業を始めようとするとしましょう。そのプロジェクトの欄の右の「+」アイコンをタップすると下にその時の時間が記録され、これが開始時間になるのです。

 

作業時間記録アプリ画面1 記録開始

 

その右の「記録キャンセル」ボタンをタップして次の確認画面で「はい」をタップすると記録のキャンセルが出ます。しかし、今回はキャンセルしないので右上の「×」をクリックしてキャンセル画面を閉じます。

 

作業時間記録アプリ画面1 記録キャンセル画面

 

そのプロジェクトの作業を終わらして終了時間を記録するのにフロッピーディスクアイコンの「保存」ボタンをタップすると、そのプロジェクトの作業一覧画面に移動して、作業開始と終了時間が記録されたのが分かります。

 

作業時間記録アプリ画面1 記録完了

 

中央の作業時間の右の編集アイコンをタップすると開始日時や終了日時を手動で変更できますし、下のテキストボックスにその作業で何をやったかをメモ書もできるのです。

 

後で全データをエクセルに持ってくることもできますので、どの作業にどのくらい時間を費やしたかを分析したり、クライアントに課金する金額を計算する元データになります。

 

変更後に保存ボタンをタップすると、クラウドのデータベースに保存されます。またこのごみ箱アイコンは削除ボタンで、それをタップするとその作業自体を削除できます。いきなり削除されないで確認画面を作っておくと、誤って削除されるのを予防できるのです。ここでは「はい」をタップしてさっき記録した作業自体を削除します。

 

左上の矢印アイコンでさっきのプロジェクト一覧画面に戻れるし、最初の画面でプロジェクトの右端の矢印をタップするとこのプロジェクト毎の作業時間一覧画面に行けます。

 

また、今後新しいプロジェクトも出てくるでしょう。それを一覧に追加するには最初の画面の右上の「+」アイコンをタップして、そのプロジェクト名を入力すればできます。

 

このモバイルアプリを作る前に同じ機能をエクセルで作りましたが使い勝手が良くなかったのです。このアプリを自分の携帯にも入れてますので、PCを使わない会議などの開始と終了の時間も簡単にいつでもどこでも記録できるから本当に便利です。

 

アプリ起動後に全てのデータをアプリに入れる。AppコントロールのOnStart属性

 

今日はこのアプリの一から作る説明はしませんが、胆の部分を説明します。これから先は少し技術者向けの内容になってしまいますが、ご了承下さい。

 

まず一番上のAppコントロールのOnStart属性を見てみましょう。Appコントロールはこのアプリ全体を指しています。いくつか他に属性がありますが、僕はこのOnStart属性位しか使いません。最初にアプリを開いた時だけこの属性に書いていることが実行されるのです。

 

作業時間記録アプリ Appコントロール

 

ここではClearCollect関数を使って、クラウド内のTbl_Task_RecoordsデータベースのデータをTaskRecordColというコレクションに丸ごと入れています。⇒「【PowerApps】コレクションとCollect関数の基本と使い方(ClearCollect、Clear、LookUp関数)」

 

実際にメニューバーの「ビュー」、「コレクション」とクリックしていくとその状態を確認できます。

 

アプリ画面に戻って、ギャラリーコントロールのItems属性からそのコレクションのデータを使ってプロジェクトの一覧の画面を作っています。

 

作業時間記録アプリ ギャラリーコントロール

 

PowerAppsでの変数の扱いい方:UpdateContext関数

 

次に作業時間開始のボタンの中身を見てみましょう。そのボタンが押されたらOnSelect属性の数式が実行されます。このUpdateContext関数は変数に値を代入します。

 

変数とはデータの入れ物で、中身が変わっても一律でその変数名でそのデータを扱える便利な道具です。

 

作業時間記録アプリ UpdateContext関数

 

ここでは「StartTime」変数にNow関数で現在の時間を代入し、「TimingApp」変数に、選択されたプロジェクト名を代入します。他の言語なら「StartTime=Now」みたいにイコール記号だけで済むのですが、PowerAppsではこう書きます。

 

実際にそのボタンを押してみましょう。メニューバーの「ビュー」、「変数」をクリックしていくと、各画面内でUpdateContext関数で作った変数のその時に代入されている値を見ることができます。

 

また、変数をクリックするとその変数が使われている場所の一覧が出てきますので、これはバグ取りをする時にとても便利です。

 

直観的アプリの作り方:Visible属性を使って今ユーザーが使う部品しか見せない。

 

アプリ画面に戻るとさっきのプラスのボタンが消えて保存ボタンが出てきているし、分かりやすいように選択されたプロジェクト名がハイライトされました。

 

作業時間記録アプリ画面1 記録開始

 

さっきの変数をうまく使って各コントロールのVisible属性の設定を変えることで各部品を表示したり非表示にしています。このテクニックは使い易いアプリを作るためには必須のテクニックですので必ずマスターして下さい。

 

作業時間記録アプリ Visible属性

 

下のラベルのText属性にさっきのStartTime変数を入れて作業開始時間を記録しています。これがキーポイントで自分がプロジェクトの作業をしている間はこのStartTimeの値は変わりません。

 

その作業を終わらせた時に保存ボタンをタップしたら、そのコントロールのOnSelect属性にPatch関数を使って、保存ボタンが押された時のNow関数の値が作業終了時間になり、その値とStartTime変数の値がクラウドのSharePointに保存されます。さらにその二つの時間の差が作業時間になるのです。

 

作業時間記録アプリ Patch関数

 

今日ご紹介した「UpdateContext関数」、「Visible属性」、「Patch関数」などの詳しい使い方も今後動画を作って行きますので、ご期待下さい。

 

この様にPowerAppsの良い所は自分が必要な機能だけの使い易いアプリを自分で作れる事です。実際この作業時間記録アプリを作ってから自分のプロジェクト作業時間の記録がすごく楽になりました。皆さんの中でMicrosoft 365をお使いでこの作業時間記録アプリにご興味がある方は僕の方にご連絡下さい。

 

「こちらの記事も読まれてます

 

Comments