March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Hey everyone, I'm trying to caluclate turnover using a different dataset than I've seen anywhere else.
Basicly, I've got a list of terminations shaped like the following...
Emp ID | ... Other Metrics | Termination Date |
123 | ... | 1-1-20 |
124 | ... | 5-17-22 |
And I also have a table that is a monthly headcount report (containing currently active and all inactive) employees
Employee ID | Period | Status | ... Other Metrics |
123 | 1-31-20 | Inactive | |
124 | 1-31-20 | Active | |
125 | 1-31-20 | Active | |
123 | 5-31-22 | Inactive | |
124 | 5-31-22 | Inactive | |
125 | 5-31-22 | Active |
I'd like to calculate the turnover for a given month(terminated employees / number of active employees), but also see that number anualized depending on the period I'm viewing (Individual month, quarter, year).
It would be much simpler to calculate turnover if I were using start date / end date of the current headcount, but our organization rehires & grows/shrinks too much for this to be a good way to look at the turnover in a unbiased way.
Solved! Go to Solution.
My solution ended up being to get a report that was a list of all of the seperations, and then to create a field that calculated the last date of the month so I could use a common date period when comparing with the monthly headcount.
= Table.TransformColumns(#"Start Set Time Period",{{"Last Working Date - Copy", Date.EndOfMonth, type date}})
Then I added a column called Employment Status, and set it to withdrawn for the seperations list and active for the monthly headcount, and appended the two queries into one called Turnover.
Finally I calculated the turnover rate with this measure, and it's fully filterable based on location, job type, ect.
Turnover =
VAR ActiveEmps = CALCULATE(COUNTA('Turnover'[8 Digit ID]), ALLSELECTED('Turnover'[Period]), 'Turnover'[Employment Status] = "Active")
VAR Terms = CALCULATE(COUNTA('Turnover'[8 Digit ID]), ALLSELECTED('Turnover'[Period]), 'Turnover'[Employment Status] = "Withdrawn")
Return (Terms / ActiveEmps) * 12
My solution ended up being to get a report that was a list of all of the seperations, and then to create a field that calculated the last date of the month so I could use a common date period when comparing with the monthly headcount.
= Table.TransformColumns(#"Start Set Time Period",{{"Last Working Date - Copy", Date.EndOfMonth, type date}})
Then I added a column called Employment Status, and set it to withdrawn for the seperations list and active for the monthly headcount, and appended the two queries into one called Turnover.
Finally I calculated the turnover rate with this measure, and it's fully filterable based on location, job type, ect.
Turnover =
VAR ActiveEmps = CALCULATE(COUNTA('Turnover'[8 Digit ID]), ALLSELECTED('Turnover'[Period]), 'Turnover'[Employment Status] = "Active")
VAR Terms = CALCULATE(COUNTA('Turnover'[8 Digit ID]), ALLSELECTED('Turnover'[Period]), 'Turnover'[Employment Status] = "Withdrawn")
Return (Terms / ActiveEmps) * 12
@LaneLourcey Recipe 1 from Chapter 7 in DAX Cookbook has an employee turnover calculation. PacktPublishing/DAX-Cookbook: DAX Cookbook, Published by Packt (github.com)
That calculation works, but it's a lot simpler than what I've looking for. I can't use that for several reasons.
1. Employment could dip in the middle of the year, but new hires could still match at the end of the year.
2. I need to see the turnover per month, quarter & year - or whatever period is being looked at.
3. We have employees leave and come back, which means they have a leave date, a first working date, and a rehire date. I could remove the leave date if there is a rehire date that is present and after the leave date - but it's more accurate to look at the monthly list of employees and filter only those that are active.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.
User | Count |
---|---|
124 | |
89 | |
84 | |
70 | |
51 |
User | Count |
---|---|
206 | |
143 | |
97 | |
79 | |
68 |