Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Happy Friday, and thank you in advance for any assistance you can give. I currently have the measure below to count the number of employees that were active during a selected period, and I need to modify it to calculate how many months during the selected period they were active. I need this to calculate each individual employee, and then roll up through the hierarchy (Employee > Location > Market).
Each employee has a [Termination Date] and a [Hire Date]. My thought was to do a DATEDIFF to calculate this for each employee, but I'm unsure how to accomplish it, since I cannot just use the selected date range for the DATEDIFF parameters - if the employee was hired during the selected date range then their [Hire Date] should be used in place of the minimum selected date, same thing for [Termination Date] and max date.
Measure =
Solved! Go to Solution.
Hi @tarmogolf ,
Create a date slicer table and use Min() to get the range start and use Max() to get range end.
Then create a measure like below:
meaasure =
VAR _start =
IF (
SELECTEDVALUE ( 'Employee Roster'[StartDate] ) > MIN ( 'Date'[Date] ),
SELECTEDVALUE ( 'Employee Roster'[StartDate] ),
MIN ( 'Date'[Date] )
)
VAR _end =
IF (
SELECTEDVALUE ( 'Employee Roster'[TerminationDate] ) < MAX ( 'Date'[Date] ),
SELECTEDVALUE ( 'Employee Roster'[TerminationDate] ),
MAX ( 'Date'[Date] )
)
RETURN
DATEDIFF ( _start, _end, DAY )
Best Regards,
Jay
Hi @tarmogolf ,
Create a date slicer table and use Min() to get the range start and use Max() to get range end.
Then create a measure like below:
meaasure =
VAR _start =
IF (
SELECTEDVALUE ( 'Employee Roster'[StartDate] ) > MIN ( 'Date'[Date] ),
SELECTEDVALUE ( 'Employee Roster'[StartDate] ),
MIN ( 'Date'[Date] )
)
VAR _end =
IF (
SELECTEDVALUE ( 'Employee Roster'[TerminationDate] ) < MAX ( 'Date'[Date] ),
SELECTEDVALUE ( 'Employee Roster'[TerminationDate] ),
MAX ( 'Date'[Date] )
)
RETURN
DATEDIFF ( _start, _end, DAY )
Best Regards,
Jay
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
58 | |
55 | |
55 | |
37 | |
30 |
User | Count |
---|---|
78 | |
64 | |
45 | |
42 | |
40 |