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

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

11月 1, 2023

記事の監修

S.Sato

記事の監修


S.Sato

マネジメント&イノベーション事業部 開発部/2グループ グループマネージャー
資格:Microsoft Offiece Specialist Master 2007、ITパスポートなど

2022年よりMicrosoft365とPowerPlatformの案件を担当。
それ以前は業務・Web系システムを要件定義からリリースまでの開発に従事。
IT業界歴15年の経験を活かし、PJを牽引し後続の育成にも力を注ぐ。
趣味は散歩で、思考が煮詰まった際には、近所の緑道を散歩し、新たな発見や自然からのインスピレーションを受けている。

無料ご相談受付中 まずはお気軽にご相談ください

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回にて、勤怠管理アプリは完成です。
最後までご精読いただき、ありがとうございました。

無料ご相談受付中 まずはお気軽にご相談ください

Microsoftを導入してコスト効率をよくしたい

Microsoftを導入して
コスト効率をよくしたい

Microsoftに関して気軽に聞ける相談相手が欲しい

Microsoftに関して
気軽に聞ける相談相手が欲しい

Microsoftを導入したが、うまく活用できていない・浸透していない

Microsoftを導入したが、うまく活用できていない・浸透していない

社内研修を行いたいが社内に適任者がいない

社内研修を行いたいが
社内に適任者がいない

Bizwindでは、Microsoft導入支援事業などを中心に
IT・DX推進に関する様々なご相談を承っております。
ご相談・お見積りは無料です。まずはお気軽にお問い合わせください。

無料ご相談はこちら

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

無料相談に申し込む

担当者に今すぐ質問する

簡単な情報入力でBizwind担当者が
お電話にて回答いたします!

すぐに電話で質問
日時指定で折り返し

以下の内容をご記入・送信ください。
確認次第お電話を差し上げます。

    以下の内容をご記入・送信ください。
    確認次第お電話を差し上げます。

      1月
      1月
      2月
      3月
      4月
      5月
      6月
      7月
      8月
      9月
      10月
      11月
      12月
      2025
      1950
      1951
      1952
      1953
      1954
      1955
      1956
      1957
      1958
      1959
      1960
      1961
      1962
      1963
      1964
      1965
      1966
      1967
      1968
      1969
      1970
      1971
      1972
      1973
      1974
      1975
      1976
      1977
      1978
      1979
      1980
      1981
      1982
      1983
      1984
      1985
      1986
      1987
      1988
      1989
      1990
      1991
      1992
      1993
      1994
      1995
      1996
      1997
      1998
      1999
      2000
      2001
      2002
      2003
      2004
      2005
      2006
      2007
      2008
      2009
      2010
      2011
      2012
      2013
      2014
      2015
      2016
      2017
      2018
      2019
      2020
      2021
      2022
      2023
      2024
      2025
      2026
      2027
      2028
      2029
      2030
      2031
      2032
      2033
      2034
      2035
      2036
      2037
      2038
      2039
      2040
      2041
      2042
      2043
      2044
      2045
      2046
      2047
      2048
      2049
      2050
      29
      30
      31
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      1
      10:00
      11:00
      12:00
      13:00
      14:00
      15:00
      16:00
      17:00
      18:00