Python全系列 教程
3567个小节阅读:5929.6k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
通过考勤我们可以知道公司员工最基本的工作情况:出勤、缺勤率,加班情况等;也可以知道哪些人(部门)比较忙,哪些人(部门)比较闲。
考勤数据不仅可作为发放工资依据,还可以深入分析发现异常状况,提前做出沟通与预警。
选择【考勤】表,右键【编辑查询】,将【上班打卡时间】、【下班打卡时间】修改为时间类型。
根据考勤表中的日期,要获取是工作日还是休息日。
xxxxxxxxxx
星期 = WEEKDAY('考勤'[日期],2)
日期分类 = IF('考勤'[星期]>5,"休息日","工作日" )
xxxxxxxxxx
时间差 = DATEDIFF('考勤'[上班打卡时间],'考勤'[下班打卡时间],MINUTE )
工时 = DIVIDE('考勤'[时间差],60 )
如果每个人中午休息2小时,或休息1个半小时,工时需要减去中午休息时间。
xxxxxxxxxx
考勤状态 =
IF (
'考勤'[请假状态] = BLANK (),
SWITCH (
'考勤'[考勤方式],
"弹性", IF('考勤'[工作状态]="工作日","正常",BLANK()),
"月休5天", IF ( '考勤'[工时] >= 6, "正常", IF ( '考勤'[工时]>0, "迟到早退", BLANK() ) ),
"双休", IF ('考勤'[工作状态] = "工作日",
IF (
'考勤'[工时] = 0,
"旷工",
IF (
'考勤'[上班打卡时间] > TIME ( 9, 0, 0 )
|| '考勤'[下班打卡时间] < TIME ( 17, 0, 0 ),
"迟到早退",
"正常"
)
),
BLANK ()
)
),
BLANK()
)
考勤状态首先要考虑是否有请假,如果没有请假,根据不同的考勤方式进行判断。如果是弹性,只要是工作日就显示正常。如果是月休5天,我们判断他上班的工时,如果工时大于6小时则就是正常,如果工时大于0但不够6小时,则认为是迟到早退,其余情况设置为空。如果是双休,则先判断是否是工作日,如果不是工作日,显示空白。否则要判断上班工时,如果工时等于0则是旷工,如果工时不等于0,则查看打卡时间是否在打卡时间范围内。