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

PowerBI中按月份拆分员工请假日期范围统计工作日请假天数

PowerBI跨月请假分月统计工作日天数方案

你说的把行扩展为单日记录再求和的思路完全正确,下面是具体可落地的操作步骤,用Power Query就能搞定:

1. 导入数据并校准日期格式

  • 把你的请假数据导入PowerBI,打开Power Query编辑器
  • 选中Start Date和End Date列,右键→更改类型→日期,务必确认系统识别的是日/月/年格式(别搞成月/日/年,不然日期全错)

2. 把请假区间拆成单日记录

  • 添加自定义列,输入公式生成请假期间的所有日期:
    = List.Dates([Start Date], Duration.Days([End Date]-[Start Date])+1, #duration(1,0,0,0))
    
  • 选中这个新列,点击转换→展开到新行,这样一条跨月请假记录就会拆成N条单日记录

3. 筛选出工作日(剔除周末)

  • 再添加一个自定义列,判断当天是否为工作日:
    = if Date.DayOfWeek([自定义列], Day.Monday) < 5 then true else false
    

    这里设置周一为一周第一天,返回0-4是工作日,5-6是周末,你可以根据公司排班调整

  • 筛选这个列值为true的行,只保留工作日记录

4. 处理半天请假的特殊情况

像员工1000081这种单日请假半天的,需要单独调整:

  • 添加自定义列,判断Start Date和End Date是否相同:
    = if [Start Date] = [End Date] then [已请假天数] else 1
    
    这样单日半天的记录就会保留0.45的数值,正常单日请假记为1天

5. 按员工+年月分组求和

  • 添加自定义列提取年月,方便分组:
    = Date.ToText([自定义列], "yyyy-MM")
    
  • 点击开始→分组依据,设置:
    • 分组依据:员工ID、假期类型、年月
    • 新列名:当月请假天数
    • 操作:求和
    • 列:刚才处理半天情况的自定义列
  • 确认后,就能得到每个员工每个月的实际工作日请假天数了

6. 加载数据做报表

关闭Power Query编辑器,把处理好的数据加载到PowerBI,就可以自由制作分月的员工请假报表了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 06:07:03