人力报表(机构版)· 规则说明
数据来源:花名册(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 自动从轻流同步。前端直接查库,数据实时。