Python全系列 教程
3567个小节阅读:5930.5k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
忘记自己打没打卡,重复打了多次卡,漏打卡了。
获取考勤中打卡的是哪天
xxxxxxxxxx
天 = day('考勤表'[时间] )
获取第一次打卡的时间
每个人有可能重复打卡现象,因此使用firstnonblank函数获取第一次打卡时间。
firstnonblank函数:为表的每行计值表达式,返回结果不为空的第一个列值。
xxxxxxxxxx
FIRSTNONBLANK ( <列名>, <表达式> )
xxxxxxxxxx
第一次打卡时间 = CALCULATE(FIRSTNONBLANK('考勤表'[时间],1),ALLEXCEPT('考勤表','考勤表'[姓名],'考勤表'[天] ))
ALLEXCEPT函数:删除表中所有筛选器,已应用于指定列的筛选器除外。
最后一次打卡的时间
lastnonblank函数:为表的每行计值表达式,返回结果不为空的最后一个列值。
xxxxxxxxxx
最后一次打卡时间 = CALCULATE(LASTNONBLANK('考勤表'[时间],1),ALLEXCEPT('考勤表','考勤表'[姓名],'考勤表'[天] ))
是否有漏卡
xxxxxxxxxx
是否有漏卡 = IF('考勤表'[第一次打卡时间]='考勤表'[最后一次打卡时间],"漏卡" )
是否迟到
xxxxxxxxxx
是否迟到 = IF(HOUR('考勤表'[第一次打卡时间])>8 || (HOUR('考勤表'[第一次打卡时间]) =8&& MINUTE('考勤表'[第一次打卡时间])>30),"迟到" )
迟到时间
xxxxxxxxxx
迟到时间 = IF('考勤表'[是否迟到]="迟到",(HOUR('考勤表'[第一次打卡时间])-8)*60*60+(MINUTE('考勤表'[第一次打卡时间])-30)*60+SECOND('考勤表'[第一次打卡时间]) )
加班时间
xxxxxxxxxx
是否加班 = if(HOUR('考勤表'[最后一次打卡时间])>18||(HOUR('考勤表'[最后一次打卡时间])=18 && MINUTE('考勤表'[最后一次打卡时间])>0),"加班" )
加班时间
xxxxxxxxxx
加班时间 = if('考勤表'[是否加班]="加班",(HOUR('考勤表'[最后一次打卡时间])-18)*60*60+MINUTE('考勤表'[最后一次打卡时间])*60+SECOND('考勤表'[最后一次打卡时间]) )
选择【表】进行查看