業務改善と標準化を同時に実現:MS 365業務システム開発

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

    
【PowerApps 事例】自分の作業時間を記録する携帯アプリを作る:作業時間記録アプリ
\ この記事を共有 /
【PowerApps 事例】自分の作業時間を記録する携帯アプリを作る:作...

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

(動画時間:7:09)

初級編:「マイクロソフトPowerApps【コントロールと関数 完全ガイド】」
Udemyオンラインコースを作りました!

⇒ 半額になる「ディスカウントリンクページ」へ

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(
    {StartTime: Now(), TiminigApp: BrowseGallery1.Selected.ProjectName1.Text}
)

これがそのボタンの「OnSelect」属性の数式です。
そのボタンが押されたらこの数式が実行されます。
このUpdateContext関数は変数に値を代入します。

⇒「【PowerApps】変数の基本、グローバル変数と画面変数の違い」

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

ここでは「StartTime」変数にNow関数で現在の時間を代入し、
「TimingApp」変数に、選択されたプロジェクト名を代入します。

他の言語なら「StartTime=Now」みたいにイコール記号だけで済むのですが、
PowerAppsではこう書きます。

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

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

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

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

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

さっきの変数をうまく使って各コントロールのVisible属性の設定を変えることで
各部品を表示したり非表示にしています。

その為に、例えば、さっきの「+」アイコンの開始ボタンと
今回の保存ボタンの「Visible」属性に下記の様な式が入っています。

「+」アイコンの開始ボタンの「Visible」属性=
TimingApp<>ThisItem.Result

保存ボタンの「Visible」属性=
TimingApp=ThisItem.Result


このテクニックは使い易いアプリを作るためには
必須のテクニックですので必ずマスターして下さい。

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

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

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

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

この様にPowerAppsの良い所は
自分が必要な機能だけの使い易いアプリを自分で作れる事です。

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

初級編:「マイクロソフトPowerApps【コントロールと関数 完全ガイド】」
Udemyオンラインコースを作りました!

⇒ 半額になる「ディスカウントリンクページ」へ

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