在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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

PowerBI | 夕枫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值