590-10 | 勤怠管理
完成イメージ
月間シフト管理アプリ
- 従業員のシフトを管理するアプリ
ビュー上でシフトを登録・編集することも可能 - 「当日の勤務区分ごとの出勤数」と「表示期間内における個人の出勤数」を集計している
アプリの構成
シフト管理アプリ
- 各従業員のシフトを管理するアプリ
- 従業員情報は従業員マスタから、勤務区分は勤務区分マスタから参照している
- 個人のシフトを1日1レコード登録する運用
※krewSheet上でルックアップフィールドを編集するには、関連付アプリのコピー元の「フィールドの設定」で「フィールドを重複禁止にする」をチェックしておく必要があります。
本シナリオで提供しているデモアプリでは、従業員マスタの「従業員番号」を、勤務区分マスタでは「勤務区分」フィールドの設定で重複を禁止する設定を行ってください。
1.krewSheetのモードを「Xrossモード」に切り替える
- 「Sheet」というロゴをクリックする
- 「Sheet/Xross」のロゴが表示されるので、Xrossを選択してXrossモードに切り替える
- モードを切り替えると、画面が次のように変化する
- 「ピボットビュー」と記載されているドロップダウンをクリックして、「行列変換ビュー」を選択する
ワンポイント
行列変換ビューでは、ピボットビューのようにレコードをクロス集計する機能はありません。行列変換モードでは、レコードの行列を変換できます。
2.行にフィールドを配置する(オレンジのエリア)
- 行に次のフィールドを配置する
・従業員コード ・従業員名 - デザインタブ「小計」で、「小計を表示しない」を選択する
- デザインタブ「+/-ボタン」で、「+/-ボタンを表示しない」を選択する
- 従業員コードのフィールド設定を開く
- 「データのないアイテムを表示する」にチェックを付ける
データのないアイテムを表示する設定
上記の設定で「 データのないアイテムを表示する 」にチェックを入れると、krewXrossを適用しているアプリにレコードがなくとも、マスタアプリや選択肢型フィールドに登録されている値をすべて表示します。
今回は、従業員情報を従業員マスタアプリから取得しています。
この場合は、従業員マスタアプリに登録されている全従業員の枠を作成します。たとえば、あとから従業員数が増えたときにも、マスタアプリにレコード追加すれば、Xross上でも自動的に枠が作成されます。
従業員マスタに全社の従業員のデータが登録されており、特定部門で使用したい場合に全員分が表示されると不都合なことも出てきます。しかしながら、krewXrossで表示するデータを制御することは現状できません。
※一覧作成画面で絞り込みを行っても、この設定が優先されるため、全レコード表示されます
該当フィールドがルックアップである場合には、アプリのフィールド設定で絞り込みを設定して制御できます。
ここまで設定を行うとこのような画面になります。
3.列にフィールドを配置する(黄色のエリア)
- 列に「年-月-日」で表示する形式の「勤務日」フィールドを配置する
※「年-月-日」などの形式は、勤務日横の▼をクリックすると表示されます - 列フィールドの歯車マークをクリックして列設定を開く
- 次のように設定する
・カスタムラベル:勤務日
・「データのないアイテムを表示する」にチェック
開始日:2021/10/01
終了日:2021/10/31
・「日付を多段表示するにチェック」
月、日の順に多段を設定 - 設定後はこのような画面になります
データのないアイテムの表示について
フィールド設定でデータのないアイテムを表示する設定を有効にしました。
ここで開始と終了に設定した期間はレコードがない場合でも枠を表示することができます。たとえば、先の計画を立てる場合などにセルに直接値を入力するとレコードの新規追加ができます。
日付の多段表示について
列設定で行った多段表示の設定前後では、次のような見た目の違いがあります。設定後は〈月- 日〉の順に多段でタイトルを表示しているため、シンプルで見やすい画面を作ることができます。
4.値にフィールドを配置する(青のエリア)
- 値項目に次のフィールドを設定する
・勤務区分
5.当日の勤務区分ごとの出勤予定数を集計する
当日の勤務区分数を集計します。
従業員コードのフィールド設定を開いて設定を行います。
A人数
- カスタムタブに切り替える
- 次のように設定する
・カスタム小計名:A人数
・挿入位置:最終
・数式:
「勤務区分」をドロップダウンで選択COUNTIF(勤務区分[Matrix],"A")
同様の手順でB~G区分の小計行を作成する
ワンポイント
小計の挿入位置をすべて「最終」に設定した場合は、設定画面での並び順と同じ順に実行画面でも表示されます。
6.日ごとに集計した列の背景色を変更する
ステップ5で作成した日ごとの集計列の背景色を変更します。ここでは、次のルールで背景を変更します。
- 該当するレコードが0件:赤 ※未入力は除外する
- 該当するレコードが1件:黄色
- 該当するレコードが2件以上:青
0件の場合
- 次のように設定する
・範囲:勤務区分
小計と総計を含めない
・ルールの種類:数式を使用して、書式を設定するセルを決定
・数式:IF(ISBLANK(勤務区分[Matrix]),FALSE,勤務区分[Matrix]=0)
・背景色:赤
1件の場合
- 次のように設定する
・範囲:勤務区分
小計と総計を含めない
・ルールの種類:数式を使用して、書式を設定するセルを決定
・数式:勤務区分[Matrix] = 1
・背景色:黄色
2件以上の場合
- 次のように設定する
・範囲:勤務区分
小計と総計を含めない
・ルールの種類:数式を使用して、書式を設定するセルを決定
・数式:IF(COUNTIF(従業員コード,"*人数"),IF(勤務区分[Matrix] >= 2,TRUE,FALSE),FALSE)
・背景色:水色
7.個人の勤務日数を集計する
表示期間内における各従業員の勤務日数を計算します。
- 列に配置した勤務日のフィールド設定を開く
- カスタム小計タブに切り替える
- 次のように設定する
・カスタム小計名:勤務日数
・挿入位置:最終
・数式
ドロップダウンで「勤務区分」を選択するCOUNTIFS(勤務区分[Matrix],"<>休",勤務区分[Matrix],"<>")
8.運用について
シフト管理の際、「今月」「来月」のようにそれぞれ一覧を作成して運用すると便利です。
これは、まだシフトレコードが1件もない状態の来月のシフト一覧です。
データを直接入力しながら一からシフトの調整を開始したり、直接入力してもらうといったことも可能です。
来月用の一覧を作成し、勤務日の列設定でデータの表示期間を来月に設定します。
サンプルファイルのダウンロードはこちら
https://download.krew.mescius.jp/study/krewsheet-drill/ks590-10staff-calendar.zip