powerbi员工人数用什么函数(在PowerBI中如何快速计算员工在职天数)

之前曾分享过一个关于在职员工数量的计算案例(如何用Power BI计算在职员工数量?),最近又有星友问到另外一种相关的计算,如何根据每个员工的入职日期和离职日期,计算每个月员工的在职天数?

这种计算在人力资源管理中也很常见,这里以下面这个简单的数据为例,

powerbi员工人数用什么函数(在PowerBI中如何快速计算员工在职天数)(1)

根据这个员工表的信息,统计一个员工的当月在职天数并不难,关键是要判断各种情况下,动态地计算出每个月的在职天数。

下面来介绍一种计算思路,实现步骤如下:

1. 建立数据模型

因为要按时间点计算,所以建立一个单独的日期表是必要的,并且日期表不需要与员工表建立关系。

powerbi员工人数用什么函数(在PowerBI中如何快速计算员工在职天数)(2)

2. 创建度量值

需求是统计每个员工的某个月的在职天数,那么员工姓名、月份应该作为筛选器来动态选择,利用度量值获取当前的上下文,结合员工表的信息来进行计算。

关于计算的思路和逻辑都已体现在下面这个度量值中,并在代码中做了详细注释。

powerbi员工人数用什么函数(在PowerBI中如何快速计算员工在职天数)(3)

这个度量值并没有用到复杂的函数,也没有复杂的逻辑,关键是考虑清楚各种情况下,应该用哪些日期进行运算。

如果你先把这个计算逻辑想明白了,其实DAX就是上下文信息的加减运算而已。

3. 展示计算结果

选择一个月份,利用表格就可以展示出每个员工的当月在职天数:

powerbi员工人数用什么函数(在PowerBI中如何快速计算员工在职天数)(4)

或者将员工与日期表中的年月作为矩阵的行列标题,一次计算出每个员工各个月份的在职天数:

powerbi员工人数用什么函数(在PowerBI中如何快速计算员工在职天数)(5)

这样就实现了快速、动态计算每个员工每个月的在职天数的需求。

上面度量值用到的DAX并没有难点,关键是要理解上下文,知道什么是上下文,以及如何获取上下文的信息,并根据这些信息进行各种情况下的逻辑运算。

更重要的是要明白自己的业务逻辑,就这个问题来说,就是要知道如何根据入职日期和离职日期来确定在职天数。很多人遇到问题不会用写DAX,觉得DAX难,深究起来,其实是缺乏思考、懒于思考,自己都没有真正想清楚计算逻辑,和DAX有什么关系呢?

DAX只是个工具,它可以帮你将具体的业务逻辑快速、动态的转换为计算结果,但是它无法代替你思考~

更多推荐:

PowerBI实践应用:计算在职员工数据

PowerBI中的关系为什么有虚线?这篇文章告诉你

PowerBI财务分析报告:如何恰当的运用报告设计元素?

采悟 | PowerBI星球

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页