Forum Discussion
Human Resources Sample File - Employee Table
Hi Everyone
I've been looking at the Human Resources Sample File today in PowerBi Desktop and I think I understand how eveything works and how I could build something similar using my own organsiations data.
One thing I'm struggling why we need the date field as the fist field in the employee table, if we didnt have that there and it was just the employee ID what would happen?
Anonymous,
You may just disable the relationship to see the difference.
- Anonymous7 years ago
Now Understood: The Date column in the Employee Table is used as follows:
In this dataset, once a month, an extract from the source system is produced. For each month that an employee is active they have a line of data on the first of the month as an employee “snapshot” fact table.
I read the "Data Warehouse Toolkit by Ralph Kimball and Margy Ross which has a small but useful section on thinking about models for HR and how to strucutre them.
- Anonymous7 years ago
Hi Anonymous
I cant find the original post I personally found a soultion for, but this is what you can do, create these 4 messurements,
New Hires = COUNTA ("employment hire date")Terminated = CALCULATE(COUNTA(("your employments hire date"), USERELATIONSHIP('Calendar'[Date], ("employment termination date"))Balance = [New Hires] - [Terminated]Overall Current Employees = CALCULATE([Balance], FILTER (ALL('Calendar'[Date]), 'Calendar'[Date] <= MAX ('Calendar'[Date])))P.S Use a generated calander date table to make a relansionship between the hire date and termination date, and you will be good to go :)
6 Replies
- v-chuncz-msftCommunity Support
Anonymous,
You may just disable the relationship to see the difference.
- AnonymousNot applicable
Anonymous
Hi,
Did you ever find a soultion for this, im struggeling to understand what the date in employee table actuly represents ?
- AnonymousNot applicable
Yes, I'm not sure where I would get that date from my own data. I just have Hire/Termination date.
Edit: I see now, each employee line is duplicated for each month of their employment. Not sure how to duplicate this in my own table.
- AnonymousNot applicable
Hi Anonymous
I cant find the original post I personally found a soultion for, but this is what you can do, create these 4 messurements,
New Hires = COUNTA ("employment hire date")Terminated = CALCULATE(COUNTA(("your employments hire date"), USERELATIONSHIP('Calendar'[Date], ("employment termination date"))Balance = [New Hires] - [Terminated]Overall Current Employees = CALCULATE([Balance], FILTER (ALL('Calendar'[Date]), 'Calendar'[Date] <= MAX ('Calendar'[Date])))P.S Use a generated calander date table to make a relansionship between the hire date and termination date, and you will be good to go :)
- AnonymousNot applicable
Now Understood: The Date column in the Employee Table is used as follows:
In this dataset, once a month, an extract from the source system is produced. For each month that an employee is active they have a line of data on the first of the month as an employee “snapshot” fact table.
I read the "Data Warehouse Toolkit by Ralph Kimball and Margy Ross which has a small but useful section on thinking about models for HR and how to strucutre them.
- AnonymousNot applicable
Makes sense, cant belive I dident figure it out, its so obvious now, especially when looking at single emp ID's :)
Thanks Anonymous