You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI考勤报表开发求助:累计出勤天数计算逻辑问题

Power BI 实现出勤累计天数递增方案

方法一:使用CALCULATE + COUNTROWS实现

在Power BI数据视图中,为考勤表新建计算列,通过统计当前人员在当前日期及之前的出勤记录总数,得到累计出勤天数:

Days attended = 
CALCULATE(
    COUNTROWS('考勤表'),
    ALLEXCEPT('考勤表', '考勤表'[人员编号]),
    '考勤表'[出勤日期] <= EARLIER('考勤表'[出勤日期])
)

公式说明:

  • ALLEXCEPT('考勤表', '考勤表'[人员编号]):仅保留当前人员的筛选范围,排除其他人员的数据干扰
  • EARLIER('考勤表'[出勤日期]):获取当前行的出勤日期,作为统计的截止日期
  • COUNTROWS:统计符合条件的出勤记录数量,即该员工到当前日期为止的累计出勤天数

方法二:使用RANKX函数排名实现

通过对同一员工的出勤日期进行升序排名,排名值即为累计出勤天数,同样新建计算列:

Days attended = 
RANKX(
    FILTER('考勤表', '考勤表'[人员编号] = EARLIER('考勤表'[人员编号])),
    '考勤表'[出勤日期],
    ,
    ASC,
    DENSE
)

公式说明:

  • FILTER('考勤表', '考勤表'[人员编号] = EARLIER('考勤表'[人员编号])):筛选出当前员工的所有出勤记录
  • RANKX:按出勤日期升序排序,DENSE参数确保排名连续;若需将同一天多次出勤算多天,可去掉DENSE参数

注意事项

  • 确保「人员编号」列能唯一标识每个员工,避免统计混乱
  • 「出勤日期」列需设置为日期/时间格式,不能是文本格式,否则无法正确排序统计
  • 若存在同一天同一员工多条出勤记录,可根据业务需求调整统计逻辑

内容的提问来源于stack exchange,提问作者SUMAN NUTAKKI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 16:04:58