在PowerBI中进行在离职分析

员工在离职分析是企业人力资源管理中的重要环节,通过数据分析可以识别出企业在用人、留人等方面的问题。本篇文章将介绍如何在PowerBI中计算各个月份的在职、入职、离职人数,以及离职率等指标。

问题描述

为更好了解企业人员流动情况,现在需要进行在离职分析,请自行建模计算各个月份的在职、入职、离职人数,以及离职率。

其中:离职率 = 离职人数 / (在职人数+离职人数)

注意:总计部分中,在职人数计算的是最新数据,入离职人数则计算的是汇总数据。

具体问题如下图所示:

本案例的初始数据如下:

人员表:

ID姓名入职部门入职日期离职日期转正日期
1003姓名3部门32018年5月9日2018年10月1日2018年8月7日
1004姓名4部门42018年5月11日2018年9月20日2018年8月8日
1005姓名5部门12018年5月12日2018年8月10日
1006姓名6部门22018年5月13日2018年8月11日
1007姓名7部门32018年5月14日2018年8月12日
1008姓名8部门42018年6月15日2018年9月18日2018年9月13日
1009姓名9部门12018年6月16日2018年9月18日2018年9月14日
1010姓名10部门22018年9月17日2018年10月1日
1011姓名11部门32018年9月18日
1012姓名12部门42018年9月19日
1013姓名13部门12018年9月20日
1014姓名14部门22018年9月21日
1015姓名15部门32018年9月22日
1016姓名16部门42018年10月1日
1017姓名17部门42018年10月2日2018年10月12日
1018姓名18部门12018年10月3日
1019姓名19部门22018年10月4日
1020姓名20部门32018年10月5日
1021姓名21部门42018年10月6日

若需其它辅助表等,可自行创建并建模。

解题要点

本案例的几个指标的计算逻辑都比较简单,具体如下:

1、在职人数,对于当前统计的月份而言,其入职日期应在月底或之前,且离职日期为空或离职日期晚于当前统计的月份。

2、入职人数,入职日期处于当前统计的月份中。

3、离职人数,离职日期处于当前统计的月份中。

4、离职率,等于:离职人数 / (在职人数+离职人数)

解决方案

首先创建一个日期表,并与人员表创建一对多关系,数据模型如下图所示:

然后,创建如下度量值:

在职人数 = 
VAR MaxDate = LASTDATE('日期表'[Date])
RETURN
CALCULATE(
    DISTINCTCOUNT('人员表'[ID]),
    '日期表'[Date]<=MaxDate,
    '人员表'[离职日期]=BLANK() || '人员表'[离职日期]>MaxDate
)
入职人数 = DISTINCTCOUNT('人员表'[ID])
离职人数 = 
CALCULATE(
    DISTINCTCOUNT('人员表'[ID]),
    TREATAS(VALUES('日期表'[Date]),'人员表'[离职日期]),
    ALL('日期表')
)
离职率 = DIVIDE([离职人数],[在职人数]+[离职人数])

然后创建一个矩阵,并将月份作为行标签,再将上面的度量值放入矩阵的值字段即可,结果如下图所示:

其他方案

以下解决方案精选自技术交流群中的其他小伙伴,希望他们的独到见解和解决思路能够为大家提供更多启发,内容已征得同意,特此分享出来供大家参考和借鉴。

该方案来自小伙伴:“林深见鹿”,通过拆解表结构,构建数据模型,有效简化了表达式的书写逻辑,体现出了数据模型的价值。

总结

以上方法仅供参考,若有更优雅的解决方案,欢迎留言讨论,或者加入我们的技术交流群,一起享受这种思维碰撞的快乐吧!

PBI/DAX技术交流群(QQ):344353627

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PowerBI | 夕枫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值