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

如何按15分钟时段统计在岗员工总数并生成柱状图?

解决15分钟窗口在岗员工数统计问题

核心问题分析

你用的SUMEMPCNT=SUM('data'[EMPCNT])只是对当前时段的打卡记录做数值求和,但在岗人数需要统计所有在岗区间覆盖当前15分钟窗口的员工数量,而非该时段的打卡人次或记录数。

具体解决方案(以Power BI为例)

假设你已具备:

  • 基础数据表data:包含员工ID、打卡开始时间Start_Time、打卡结束时间End_Time
  • 15分钟增量时间表Time_Windows:包含每个15分钟窗口的起始时间(如Window_Start,格式示例:2024-05-20 09:00:00、2024-05-20 09:15:00)

1. 创建正确的在岗人数度量值

替换原有SUM度量值,使用DAX实现时间范围匹配+去重计数:

在岗员工总数 = 
CALCULATE(
    DISTINCTCOUNT('data'[员工ID]),
    FILTER(
        ALL('data'),
        'data'[Start_Time] <= MAX('Time_Windows'[Window_Start]) &&
        'data'[End_Time] >= MIN('Time_Windows'[Window_Start])
    )
)
  • 逻辑说明:遍历所有员工打卡记录,判断其在岗区间是否与当前15分钟窗口重叠(开始时间不晚于窗口结束、结束时间不早于窗口开始),最后去重统计符合条件的员工ID数量。

2. 调整图表配置

  • 将Time_Windows中的Window_Start拖至柱状图X轴
  • 将新创建的在岗员工总数度量值拖至Y轴
  • 确保X轴按时间顺序排序,格式设置为15分钟间隔的时间格式

3. 优化补充

  • 若Time_Windows包含窗口结束时间Window_End,可将判断条件改为'data'[Start_Time] <= 'Time_Windows'[Window_End] && 'data'[End_Time] >= 'Time_Windows'[Window_Start],更精准匹配窗口区间
  • 若存在员工多次打卡的情况,DISTINCTCOUNT会自动去重,确保同一员工在同一窗口仅被计数一次

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 06:46:05