I go with Scott on the makep of the tables, 4 (plus any ancillary tables such as region and so on) would deliver all that you need, no need for a duplicate.
In particular,
- Don't have the employee on the project table, just keep that to pure project details
- On the tables that Scott calls Budget and Actuals, both would have the breakdown of project and employee ids, I would create a calculated column to concatenate them as ProjectEmployeeKey, and join the tables by those keys
- Add another calculated column on Actuals for the estimated amount, =RELATED( Budget[Estimate] ) - you could probably manage this with measures but calculated columns are fair in this instance in my view
- create a pivot with project name from Project, employee name from Employee, and Estimate and Actuals from Actuals
As long as the ancillary tables have a relationship in your model, you can add slicers by attributes from those tables.
I assume the actuals will be date-stamped, so best to have a proper calendar table to do any time based reporting.