人力报表(机构版)· 规则说明

数据来源:花名册(staff_roster)· 每10分钟自动同步

一、在职分析(按岗位序列)

数据范围

期末(date_end)时间点的在岗人数快照。

在岗条件:entry_date ≤ 结束日期 AND (leave_date为空 或 leave_date > 结束日期)

分组规则

  • 按 job_sequence 分组,去掉"序列"后缀归一化(如"护理序列"→"护理")
  • 展示序列:管理、护理、医护、行政、后勤、居家、实习、职能、销售
  • 占比 = 该序列人数 ÷ 在岗总人数 × 100%
二、期间离职/入职人数(按岗位序列)

数据范围

  • 离职人数:leave_date 在 [date_start, date_end] 范围内
  • 入职人数:entry_date 在 [date_start, date_end] 范围内

分组规则

同在职分析,按归一化后的岗位序列分组。

三、入职数据分析(按岗位)

数据范围

entry_date 在 [date_start, date_end] 范围内的所有记录。

分组规则

  • 按 job_title 分组(非 job_sequence)
  • 照护师始终置顶,其余按入职人数降序排列
  • 留存率 = 期末仍在职人数 ÷ 期间入职人数 × 100%("仍在职" = status='在职')
四、老带新分析

老带新定义

recruit_source = '内部推荐' AND recruit_detail ≠ 空

推荐人提取规则

对 recruit_detail 字段去掉"推荐"或"介绍"后缀,剩余内容即为推荐人姓名。

示例:"胡道正推荐" → 推荐人=胡道正;"王文婷介绍" → 推荐人=王文婷;"王淑侠" → 推荐人=王淑侠

指标

  • 在职老带新人数:老带新中 status='在职' 的人数
  • 在职老带新占比:在职老带新人数 ÷ 期末在岗总人数 × 100%

明细表

列出所有老带新记录:推荐人、被推荐人、入职日期、岗位、机构、状态。

五、离职数据分析

数据范围

leave_date 在 [date_start, date_end] 范围内。

分类

  • 主动离职:leave_type = '主动离职'
  • 被动离职:leave_type = '被动离职'
  • 其他:内部调动、实习结束、退休等
六、离职率分析

计算公式

总离职率 = 期间总离职人数 ÷(期末在岗人数 + 期间总离职人数)× 100%
主动离职率 = 期间主动离职人数 ÷(期末在岗人数 + 期间总离职人数)× 100%

注:分母使用"期末在岗+期间离职"确保离职率与实际分母一致

七、通用规则

机构筛选

默认"全部机构",可选择单个机构查看。机构数据从 staff_roster.institution 动态获取。

日期范围

选择起始月和结束月。起始月第一天到结束月最后一天为分析区间。

  • 在职分析:取结束月底的时点快照
  • 入职/离职分析:取区间内的流动数据

岗位序列归一化

job_sequence 字段存在混用情况(如"护理"和"护理序列"),统一去掉"序列"后缀后分组。

数据更新

花名册数据每日凌晨 03:10 自动从轻流同步。前端直接查库,数据实时。