Staff Turnover Calculation In Power BI Using DAX – HR Insights


I’m going to do a quick review of how staff turnover calculation is done. This will show you how to check the number of staff you have at any point in time. You may watch the full video of this tutorial at the bottom of this blog.

I also want to show you how you can compare how many people are getting onboard versus how many people you’re losing. This is going to give you interesting insights about your organization’s growth in terms of manpower.

Once I’m done with this, you’ll realize that once you learn how to calculate the data on your current staff, then calculating staff turnover won’t be that difficult. It’s just a matter of slightly tweaking the formula.

Analyzing The Demo Data

The first thing to note is that there has to be no active relationship between the Dates table and the Staff Population table.

staff turnover calculation

This is because I have two dates in the staff table — the Start Date and the End Date.

staff turnover calculation

This table has a separate row for each staff member as well.

staff turnover calculation

There are also rows where the staff member still hasn’t left. That’s why there are blank results here under End Date.

Looking at this person here, for example, you’ll see that this person joined the team in February 2018 and left around a year and a half later.

Calculating For The Current Staff

This is the formula I used to get my Current Staff.

staff turnover calculation

To find out how many staff members I had prior to today, I used the FILTER function. Then in VALUES, I referenced Staff Population and the Start Date.

staff turnover calculation

This part, on the other hand, shows how many staff has end dates after that day. Again, I used the FILTER function here but this time referenced the End Date.

As for the staff members who are still in the team, the ISBLANK function covers that.

From there, I can just look at my visualization to see how many staff I had at any point in time.

staff turnover calculation

Calculating For Staff Turnover

The formula I used for Staff Turnover is much simpler compared to the one I used for my Current Staff.

staff turnover calculation

The COUNTROWS function comes in handy here to count up the number of staff I have.

staff turnover calculation

But the more important thing is to go through every single End Date. This is what the FILTER function is for.

I also need to see how many of the End Dates are less than or equal to the current date in that particular table.

In this particular scenario, the first day where there was a turnover was in May 31, 2019 with 3 staff members leaving.

staff turnover calculation

If I analyze the data further, I’ll see that there were indeed 3 people who had different Start Dates, but all left on the same day.

Now remember that the only reason why this part of the formula below is able to work through every single End Date in the Staff Population is because there are no active relationships in the model that would force a different context.

staff turnover calculation

I also want to make sure that the blanks are taken out of the equation. Obviously, since these staff members are still part of the team, they should not be part of the staff turnover.

That’s what this part of the formula is for. It completely disregards all BLANK fields.

Going back to the visualization, it’s easier to see the time period when people started to leave.

staff turnover calculation

I can even get more insights here by looking at when the organization peaked. It’s possible that this area here with the huge jump in numbers was a period of growth for the organization, thus there was the need for more staff.

***** Related Links *****
Attrition Analysis: Finding Lost Customers Using Power BI & DAX
Power BI Customer Attribution Analysis Using Advanced DAX
How To Implement Cohort Analysis In Power BI – Advanced DAX Concepts


This staff turnover calculation is definitely going to give you an amazing insight, especially if you’re in this type of work. It doesn’t just show you the number of staff you’ve had over time; it can also be a good way to see any growth or decline in the organization.

Just remember that it’s critical to have inactive relationships in your model for this to work. From there, it will be easy enough to master this calculation.

All the best,


Enterprise DNA Power BI On-Demand

9 comments on “Staff Turnover Calculation In Power BI Using DAX – HR Insights”

  1. Hi,

    Just wondering how I might filter out staff who have a commencement date after today or a filtered date?

    e.g. if a staff member has a commencement date of 2 weeks post today, with the above calculations they show up within the headcount when having a filter of todays date. What adjustments are required to be made?


  2. Hi, I have just replicated this exact same DAX into my HR dashboard but I’m getting an error massage that says “Too few arguments were passed to the OR function. The minimum count for the function is 2”. The only difference between your DAX and mine is my columns are named different

    1. Hello Andrew, thank you for posting your query onto our blog post.

      Well it’s always a little bit difficult to judge and provide the results efficiently without looking at the data structure, formulas and the working of the PBIX file. Or if you can provide the formula that you’ve been using.

      We encourage you to please write back to us onto our Community Forum by providing the description of the problem that you’re facing along with the working of the PBIX file and the mock-up of the results that you’re trying to achieve where our members as well as experts team will be able to assist you in a better and efficient manner. Below is the link of the forum provided for the reference.

      Hoping you find this useful. Happy Learning!!!

  3. This calculation is not correct for Turnover rate but it is correct for current staff,

    I apply the same and Turnover numbers are above 12K while all staff is 4k! is there any trick not mentioned here ?

    1. HI Mohammed,

      Thanks for your interest in Enterprise DNA Blogs.

      There is no separate hidden logic being applied anywhere. IF you are getting Incorrect values, issues may be with your Calculations/Data Model.

      Please raise a request at EDNA forum forum with sample PBIX file for further help.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.