1. 概述
1.1 背景
李明明是一名人事,一天,老板交代她使用公司的考勤数据看看各个部门的考勤情况。
沟通后了解,老板需要的不是一份列出来的迟到早退表,老板希望通过分析考勤数据了解各个部门的管理和工作情况,从而获得岗位设置、定员定编的可靠建议。
1.2 分析思路
李明明从「迟到」、「工作时长」、「请假情况」对各个部门进行分析。如下图所示:
1.3 分析结果
研发组的平均工作时间最长,但迟到率是最高的(迟到是否仅作为参考项),公司研发岗位业务量很重,接下来公司新增加的研发任务需要新招研发岗位来做。
财务组的平均工作时长最少,需要查看一下人事饱和度,近期不考虑增加财务组新岗位;
1.4 获取数据
本文使用的示例数据:考勤数据.xlsx
2. 实现方式
2.1 处理数据
拿到数据的第一步,我们需要对原始数据进行处理。新建分析主题 ,上传下载的示例数据「考勤数据」,添加数据默认勾选所有字段。
2.1.1 分析打卡数据
1)添加分组汇总,求出用户每天打卡的最早时间和最晚时间。如下图所示:
最早时间对应员工的上班时间
最晚时间对应员工的下班时间
2)过滤出非公休非请假的数据,即「状态」字段为空时的数据,这部分数据中用户应该正常打卡,我们将其过滤出来以便对他们的打卡数据进行分析。如下图所示:
3)新建一个字段「迟到判断时间」,在李明明的公司中,晚于 9:30 到公司就算迟到。所以我们新建一个 9:30 的字段用于判断。如下图所示:
4)对考勤时间进行比较判断。当工作时长小于六小时时,判断为缺勤;当上班时间大于 9:30 时,判断为迟到:其余判断为「全勤」。操作如下图所示:
5)隐藏两个我们之后不需要的字段。如下图所示,在字段设置中取消勾选即可。
6)保存并更新该数据集
2.1.2 汇总考勤数据
1)在该分析主题下再添加下载的示例数据「考勤数据」,并重命名为「考勤汇总」,操作如下图所示:
2)添加分组汇总,求出用户每天打卡的最早时间和最晚时间。如下图所示:
3)过滤出所有请假的数据(注意不选择公休数据)。如下图所示:
因为只统计工作日数据,所以这里不选择公休数据。
4)将请假的数据和 2.1.1 节正常打卡的数据合并到一张表中,进行上下合并,将「状态」与「考勤结果」合并到一列中,如下图所示:
5)计算工作时长。使用函数 DATESUBDATE 计算「最晚时间」和「最早时间」的时间差。如下图所示:
6)保存并更新该数据集。
2.2 创建分析组件
使用 2.1.2 节创建的「考勤汇总」制作组件,拖入「部门、上班时长」字段,并对上班时长求平均。如下图,展示每个部门每个人的平均工作时长,可以直观查看各个部门的工作量强度情况。
另外还可以继续分析各个部门的「迟到情况、请假情况、缺勤情况」等,方便了解更详细的考勤情况。帮助人事了解部门的考勤管理情况。
2.3 效果查看
请参见本文 1.2 节。