人生没有彩排
每一天都是现场直播

在PowerBI中计算各部门的用人成本

精确计算和分析各部门的用人成本对于企业的人力资源管理和财务规划至关重要,本篇文章将介绍如何在PowerBI中计算各部门的用人成本。

问题描述

已知员工可以在公司内部自愿申请调岗,现在需要统计每月各部门的用人成本,请自行建模完成计算。规则如下:

如果当月某员工只归属于单个部门的,那么该员工这个月的工资全部计入该部门的用人成本,否则由当月涉及到的所有归属部门平摊。

注意:即使某个月中只有一天的归属期,对应部门也要平摊员工的工资计入用人成本。

具体问题如下图所示:

本案例的初始数据如下:

部门归属表:

姓名 开始时间 截止时间 部门归属
张三 2024年12月1日 2025年2月2日 行政部
张三 2025年2月3日 2025年3月31日 财务部
李四 2025年1月1日 2025年2月15日 采购部
李四 2025年2月16日 2025年4月30日 采购部
王五 2025年2月1日 2025年12月31日 审计部
田七 2025年4月1日 2025年12月31日 项目部

工资表:

月份 姓名 工资
202501 张三 8000
202501 李四 20000
202502 张三 8000
202502 李四 20000
202502 王五 30000
202503 张三 7500
202503 李四 18000
202503 王五 35000
202504 李四 15000
202504 王五 35000
202505 王五 33000
202505 田七 22000

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

解题要点

首先计算出员工当月的工资,以及当月所涉及到的归属部门,然后进行平摊即可。

另外,在查找归属部门时,可以将归属的开始与截止日期转换为年月格式,这样比较方便后续的比较与判断。

解决方案

首先,数据模型如下图所示:

然后,创建如下度量值:

用人成本 = 
SUMX(
    CROSSJOIN(
        SUMMARIZE('工资表','工资表'[月份],'工资表'[姓名]),
        VALUES('部门归属表'[部门归属])
    ),
    VAR CurMonth_ = '工资表'[月份]
    VAR Salary_ = CALCULATE(SUM('工资表'[工资]))
    VAR RelatedDept_ = 
        SUMMARIZE(
            FILTER(
                ALL('部门归属表'),
                '部门归属表'[姓名]='工资表'[姓名] 
                    && FORMAT('部门归属表'[开始时间],"yyyymm")*1<=CurMonth_
                        && FORMAT('部门归属表'[截止时间],"yyyymm")*1>=CurMonth_
            ),
            '部门归属表'[部门归属]
        )
    RETURN
    IF(
        '部门归属表'[部门归属] IN RelatedDept_,
        DIVIDE(Salary_,COUNTROWS(RelatedDept_))
    )
)

然后创建一个矩阵,并将工资表的月份和姓名字段、以及部门归属表的部门归属字段一起作为行标签,再将上面的度量值放入矩阵的值字段即可,如下图所示:

总结

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

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

赞(1) 打赏
未经允许不得转载:夕枫 » 在PowerBI中计算各部门的用人成本
订阅评论
提醒
guest
0 评论
最新
最久 最赞
内联反馈
查看所有评论

觉得文章有用的话就支持一下吧~

感谢您的打赏支持,我将持续输出有价值的内容!

支付宝扫一扫打赏

微信扫一扫打赏