Power Appsで簡単に「勤怠管理アプリ」を作成し、集計の手間を省く!〜第六回 管理者画面編〜
Business Efficiency Digital Transformation エンジニアブログ

Power Appsで簡単に「勤怠管理アプリ」を作成し、集計の手間を省く!〜第六回 管理者画面編〜

November 1, 2023

記事の監修

S.Sato

記事の監修


S.Sato

マネジメント&イノベーション事業部 開発部/ユニット1 サブリーダー資格 Microsoft Offiece Specialist Master 2007、ITパスポート 2022年よりMicrosoft365とPowerPlatformの案件を担当。それ以前は業務・Web系システムを要件定義からリリースまでの開発に従事。IT業界歴15年の経験を活かし、PJを牽引し後続の育成にも力を注ぐ。趣味は散歩で、思考が煮詰まった際には、近所の緑道を散歩し、新たな発見や自然からのインスピレーションを受けている。

Contents

目次

PowerApps 管理者画面を作成

「管理者マスタテーブル」を作成

管理者かどうかの判定のために、管理者のみを登録しておく「管理者マスタテーブル」を作成します。
①テーブル>+新しいテーブル>高度なプロパティを設定します。

②表示名とスキーマ名を設定し保存します。

③「メールアドレス」列を追加します。

④管理者アカウントを登録しておきます。

 「管理者画面ボタン」を追加

勤怠管理アプリ トップ画面に「管理者画面ボタン」を追加し、
Visibleプロパティに
「!IsBlank(LookUp(管理者マスタ, メールアドレス = User().Email))」
を設定します。
これで管理者マスタに登録されていないアカウントにはボタン自体が表示されません。

+新しい画面 から「管理者_今日の勤務状況」画面を作成し、
管理画面ボタンのOnSelectプロパティに
「Navigate(管理者_今日の勤務状況)」 を設定します。

 「ギャラリー」を追加

ラベルを追加し、Textプロパティに
「Text(Today(),”[$-ja-JP]mm/dd”) & “の勤務状況”」 を設定します。
その下に、「従業員名」「勤務形態」「出勤時間」「退勤時間」の4つのラベルを並べます。

ラベルの下に「空の垂直ギャラリー」を追加し、以下のように設定します。
レイアウト:タイトルとサブタイトル
データソース:勤怠管理テーブルを設定し、

テキストラベルを2つ追加し、
タイトル/サブタイトル/テキストラベル1/テキストラベル2を横並びにしてフィールドをそれぞれ設定します。

出勤時間/退勤時間のTextプロパティにそれぞれ
「Text(ThisItem.出勤時間, “[$-ja-JP]hh:mm”)」
「Text(ThisItem.退勤時間, “[$-ja-JP]hh:mm”)」 を設定します。

今日の勤怠データのみを表示するために、
ギャラリーのItemsプロパティに
「Filter(勤怠管理テーブル, 日付=Today())」 を設定します。

+新しい画面 から「管理者_勤務状況一覧」画面を作成し、
>(右アイコン)のOnSelectプロパティに
「Set(SelectedUser,今日の勤務状況ギャラリー.Selected.Name );
Navigate(管理者_勤務状況一覧画面)」 を設定します。


「管理者_勤務状況一覧画面」にもラベルを追加します。
Textプロパティに
「Text(SelectedUser) & “の勤務状況”」 を設定します。
その下に、「日付」「勤務形態」「出勤時間」「退勤時間」「勤務時間」の5つのラベルを並べます。

「管理者_今日の勤務状況」画面同様、ラベルの下に「空の垂直ギャラリー」を追加し、
レイアウト:タイトルとサブタイトル
データソース:勤怠管理テーブル
を設定します。


さらにテキストラベルを3つ追加し、タイトル/サブタイトル/テキストラベル1/テキストラベル2/テキストラベル3を横並びにして
フィールドをそれぞれ設定します。

出勤時間/退勤時間のTextプロパティにそれぞれ
「Text(ThisItem.出勤時間, “[$-ja-JP]hh:mm”)」
「Text(ThisItem.退勤時間, “[$-ja-JP]hh:mm”)」 を設定します。

「管理者_今日の勤務状況」画面で選択したユーザーの、今月の勤怠データを表示するために、
ギャラリーのItemsプロパティに
「 Filter(勤怠管理テーブル,
 日付 >= Date(Year(Today()), Month(Today()), 1) && 日付 <= Today(),
 Name = SelectedUser) 」を設定します。

選択したユーザーの今月の出勤日数と合計勤務時間を表示するためのテキストラベルを追加します。
出勤日数を表示するテキストラベルのTextプロパティには、
「 Gallery1.AllItemsCount 」 を、
合計勤務時間を表示するテキストラベルのTextプロパティには、
「 Sum(Gallery1.AllItems,’Label-勤務時間’) 」 を設定します。

編集が完了したら、保存して公開します。

実際にアプリを動かしてみます。
出勤ボタンを押す前の画面では退勤ボタンは押せないようになっていますが、
出勤後の画面では出勤ボタンが押せなくなり二重送信がされないようになっています。

出勤後の「勤怠管理テーブル」を見てみると、出勤ボタンを押した時間が入っています。

「勤務時間ボタン」をクリックすると、自分の勤務時間一覧が見れます。

退勤時間横の>(右アイコン)をクリックすると、編集画面に遷移します。

編集画面で出勤時間を編集し保存すると、勤務時間一覧画面に反映されました。

「勤怠管理テーブル」にも編集された出勤時間が入っていることが確認できます。

トップ画面に戻り、「休暇申請ボタン」をクリックします。
休暇申請フォームから申請をすると、

「休暇申請テーブル」に申請内容が格納されているのが確認できます。

続いて、管理者のみに表示されている「管理者画面ボタン」をクリックします。
すると、出勤している社員の勤務状況が一覧で確認できます。

社員の勤務状況の一覧から>(右アイコン)をクリックすると、選択した社員の今月の勤務状況を確認することができます。

最後に退勤ボタンをクリックすると、退勤ボタンが無効化され、

「勤怠管理テーブル」に退勤時間が格納されます。

全6回にて、勤怠管理アプリは完成です。
最後までご精読いただき、ありがとうございました。

Ranking

ランキング

Business Efficiency

April 5, 2021

SharePointとは?SharePointの機能や使い方を徹底解説!
SharePointとは?  SharePointとは、マイクロソフト社が提供する企業向けのファイル共有・コラボレーションを行うためのサービスです。  SharePointと比較されるサービスとして、マイクロソフト社が提供するOnedriveがあります。  どちらもファイル共有サービスですが、違いを簡単に述べるとすれば、SharePointは組織向け、OneDriveは個人向けのサービスです。  また、SharePointはポータルサイト(チームサイト)を作成できます。  部署やチーム、プロジェクト毎にファイルや情報を管理する場合により効果を発揮します。  そのためSharePointはビジネスの現場で広く利用されています。 ShrePointでできること  SharePointでできることについてご紹介します。 ポータルサイト(チームサイト)の作成 SharePointでは、チームや部署、プロジェクト毎にポータルサイト(チームサイト)を作成することができます。  作成したポータルサイト上では、情報共有や共同作業を行うことができます。  チームで共有したい情報はポータルサイト上に共有することで、複数人宛に情報を共有することができます。そのため業務効率化に繋がります。  ポータルサイトは、予め特定のビジネスニーズに合わせて設計されているテンプレートが用意されているので、そこから簡単に作成することができます。  チームの特色や業務内容に合わせてカスタマイズすることも可能です。  ポータルサイトは簡単に作成することができ、情報共有を効率化することができます。  ドキュメント管理 SharePointでは、ポータルサイト上で様々なドキュメントや画像などを管理することができます。  マイクロソフトの高品質なセキュリティ対策を活用し、契約書などの重要書類もSharePoint上で管理する企業も増えています。  SharePointでは、ポータルサイトで安全かつ効率的にドキュメントを管理することができます。  ワークフロー SharePointでは、業務フローを自動化することができるワークフローの構築ができます。  例えば、特定のフォルダからファイルが削除された場合は、承認者に承認メールを送信、承認者の承認を得られたらファイルが削除される、といった仕組みです。  このようなワークフローを構築することで、重要なファイルが誤って削除されるミスを防止することができます。  ワークフローを設定することで、日々の業務効率化や誤操作の抑止をすることができます。  モバイルアプリが利用可能 SharePointは、PCだけでなくスマートフォンからもアクセスすることができます。  SharePoint Onlineのモバイルアプリをインストールすることで、自宅や外出先などからでも簡単に情報にアクセスすることができます。  これにより時間や場所を選ばず、いつどこからでも必要な情報にアクセスすることが可能になります。  SharePointの強み SharePointの強みについてご紹介します。 Microsoft製品とのシームレスな連携 SharePointは、マイクロソフトが提供するSaaSのサービスです。  マイクロソフトが提供するその他のサービスとの親和性が高く、連携を行うことでより業務効率化を実現することができます。  例えば、Teamsと連携すればTeams上でファイルを管理することが可能になります。  他にも、Outlookと連携することでスケジュールの共有なども可能になります。  このように、SharePointはマイクロソフト製品との親和性が高く、連携も簡単にできる点が大きな強みです。  万全のセキュリティ対策 SharePointは、マイクロソフトが万全のセキュリティ対策を行っています。  また、管理者はユーザーのアクセス権をコントロールすることができます。  ユーザー毎に適切なアクセス権を付与することで、外部に対するセキュリティ対策に加え内部対策も行うことができるので、より厳重なセキュリティ対策を行うことができます。  SharePointは、マイクロソフト社によるクラウドサービスに対する最適なセキュリティ対策を行っているので、ユーザーは安心してサービスを利用することができます。  バージョン管理 SharePointでは、ドキュメントのバージョン管理をすることができます。  バージョン管理とは、ドキュメントに対する変更履歴を記録するものです。  例えば、SharePoint内のWordファイルを修正した場合、修正前の状態を記憶します。  これにより、修正したWordファイルを修正前の状態に復元することも可能になります。  要するに、SharePointが自動でバックアップをとってくれているということです。  もし、誤ってファイルを修正したり削除したりしてしまってもバージョン履歴から復元できるので安心です。  バージョン管理によって、ユーザーの誤操作にも対応することが可能です。  SharePointの導入方法 SharePointの導入方法についてご紹介します。 SharePoint Online SharePointを単体で利用したい場合は、SharePoint Onlineを契約することで利用することができます。  […]
営業/マーケティング支援

November 18, 2020

Microsoft Dynamics 365とは?その概要を分かりやすく徹底解説!
Dynamics 365とは? Dynamics 365とは、Microsoft が提供するビジネスアプリケーションです。  Dynamics 365は、企業活動を効率的に進めるために必要な業務システムを統合的に提供しています。  Dynamics 365がカバーする領域は様々で、CRM、SFA、ERP、マーケティング、顧客サービスなど、幅広い領域をカバーしています。  Dynamics 365が提供するこれらの機能により、生産性向上や業務効率化の実現をサポートします。  Dynamics 365の強みや導入メリット? Office 製品との連携 Dynamics 365の大きな強みの一つが、 Office 製品との連携が容易にできる点です。 同じ Microsoft 製品ですので 、Microsoft 365を導入していれば、そのアカウントで Dynamics 365を利用することができます。 Microsoft 365のポータル画面上からアクセスすることが可能なので、他の Microsoft 365製品との使い分けも容易にできます。 Outlook の予定表との同期や、SharePoint同期機能を使って、Word, Excel, PowerPoint などのドキュメントを一元管理することができます。 これまで、バラバラに保管していた見積書、注文書、請求書などシステム上で一括管理することもでき、ペーパーレス化の実現もできます。 豊富な導入実績 Dynamics 365は、世界中の様々な規模や業種の企業に導入されています。 その数は、2019年6月時点で約196か国22万社に導入されています。 世界的な企業である Microsoft 社が提供していることもあり、システムに対する信頼度も高く、近年では、三菱地所、住友不動産、森ビル、大東建託、日立など多くの日本企業も導入に踏み切っています。 大手企業のみならず、近年では中小企業の導入も増えており、企業規模や様々な業種の垣根を超えて利用されています。 自社に合わせたカスタマイズが可能 Dynamics 365は様々な業種の企業に導入されています。 その理由の一つがカスタマイズの自由度が高いことです。 多くのSaaS系の業務システムは、既に用意された機能を使って運用していくため、業種によっては必要な機能が不足しているといったこともあるでしょう。 しかし、Dynamics 365では、 Microsoft Power Apps を使うことでノンコーディングでカスタマイズすることができます。コーディングなどの専門知識がないユーザーでもカスタマイズすることが可能です。 自社でカスタマイズを行うことに不安がある場合は、Dynamics […]
Business Efficiency

September 29, 2020

仕事の時短を実現する!エンジニアが教える圧倒的な仕事時短術!
業務効率化とは 業務効率化とは、少ない労力で仕事の生産性をあげることです。 要は、今まで1時間かかっていた仕事を30分で終われるようにすることです。 そうは言っても、そんな簡単なことではありません。 「日々の業務に一生懸命取り組んでいるし、これ以上どうすればいいんだ」 そんな風に感じている人もいると思います。 でも日々の業務を見直せば、誰しも少なからず業務効率化できる部分があります。 そして、最近では業務効率化を手助けしてくれる様々な便利アプリやツールがあります。 今日は、そんな難しい業務効率化を実現できる方法を、現役エンジニアも実際に使っている便利アプリなども含めてご紹介します。 タスク管理 業務効率化と言ってまず最初に見直すべきポイントが、このタスク管理です。 しかし、多くの人は「タスク管理なんて毎日やってるよ」と思っているかもしれません。 そうです。タスク管理は必ず毎日行うものです。 だからこそ、そのタスク管理の方法を見直すことで日々の業務効率化に繋がります。 では、具体的にどうすれば良いのでしょうか。 まずは、その日のタスクと今後のタスクを「目に見える形」にして洗い出すことです。 その際のポイントは、優先順位とざっくりとした所要時間を割り出すことです。 優先順位は、緊急度と重要度を縦軸と横軸に設定し、割り振っていきます。 そして、洗い出したタスクを処理するのにかかるであろう時間を割り出します。 その際のポイントは、緊急度や重要度の指針にしたがってかける時間を設定すること、そしてまずは全てのタスクが就業時間内に終えられるように設定することです。 そうすることで、これから取り掛かるタスクの重要度とそれにかけられる時間を可視化することができます。 例)スパイスカレーを作る場合 例えば、あなたがシェフ見習いだとして「明日のランチまでに」本格スパイスカレーを作るようにシェフから指示を受けたとしましょう。 条件として、本格なスパイスカレーの調理は今回が初の試みで、またスパイスの調達が必須とします。 その際の調理開始までのタスクは以下のようなものがあると思います。 レシピの調査・作成 → 使えそうな具材のチェック → スパイスの調達・必要な具材の調達と仕込み → 自分なりのアレンジを考える 緊急かつ重要なタスク 最も緊急かつ重要なタスクは、「レシピの調査・作成」です。 今回、スパイスカレーは初めて作るので、必要な食材、工程を知るためにもレシピの確認を優先的に行う必要があります。 レシピを知ることは、タスクの洗い出しです。 また、レシピの調査から「スパイスの調達」は、スーパーには売っていないものなどは早めに調達方法を調べる必要があることに気付がつくことができます。 ですから「スパイスの調達」も、緊急かつ重要なタスクと言えすぐに対応すべきです。 これらの所要時間はおよそ1時間くらいに設定しましょう。 緊急だが重要度は低いタスク 緊急だが重要度は低いタスクは、「使えそうな余り物の具材のチェック」です。 このタスクでは使えそうな余り物が冷蔵庫にないかどうかチェックします。 余り物で使えそうな具材を調べることはレシピを作るためにすぐに知る必要がありますが、最悪調達すればいいのでそこまで重要度の高いタスクではありません。 所要時間はおよそ15分くらいに設定しましょう。 緊急ではないが重要なタスク 緊急ではないが重要なタスクは、「具材の調達」や仕込みなどです。 レシピの調査から、スパイス以外の具材は、スーパーなどで簡単に手に入ることがわかりました。 スパイス以外の具材は明日の調理開始までに調達できればいいので、緊急ではありませんが必ず必要なので重要なタスクです。 また具材の仕込みも必ず必要なので重要なタスクです。 優先順位は上記の二つよりは低いが、仕込み時間などもしっかりと計算した上である程度余裕を持って取り組むべきタスクです。 所要時間はおよそ3時間くらいに設定しましょう。 緊急でもなく重要でもないタスク 緊急でもなく重要でもないタスクは、自分好みのアレンジを探したりすることです。 これは時間があれば対応すれば良いことなので、特に緊急でも重要でもありません。 上記のタスクが完了し、時間があれば対応しましょう。 […]

ビズウインドでは、 様々な課題でお困りの お客様に対して、 無料相談を実施しております。

無料相談に申し込む