Forum Discussion
Yet another Burndown Challenge
Hello all,
I am trying to create a burndown chart.
I have two tables...
- tblWD
This table contains all approved time entry at a Project/Worker/Date level of detail - tblSOW
This table contains SOW details, including Budgeted Hours, for each Project/Worker
These tables have a relationship based on a concatenated key of [Project]_[Worker].
I am unable to calculate [hrsRemaining] = SUM( tblSOW[SOW_Bud_Hrs] ) - [hrsApproved_RT], where tblSOW[SOW_Bud_Hrs] should be [SOW_Bud_Hrs] per Worker given filter context and [hrsApproved_RT] is a measure to calculate the running total of tblWD[Approved_Hrs] for the same context.
Issues include, no records for dates without time entry. For instance, no hours worked on 01/01. However, the SOW started, so the [hrsRemaining] should be 2,000 = (1,000 + 1,000) - 0 (0 being [hrsApproved_RT] at the time).
Once started, my [hrsApproved_RT] measure carries through all dates, even those without activity, but [hrsRemaining] eludes me.
Below is an illustration of the results I am getting and the goal. I have also included some sample data.
Any assistance would be appreciated.
Here is sample data.
tblWD
| WD_Proj_Worker_Key | Project | WD_Worker | WD_Date | WD_Approved_Billable |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/02/2024 | 8.00 |
| Project_XYZ_WorkerA | Project_XYZ | WorkerA | 01/03/2024 | 8.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/03/2024 | 9.00 |
| Project_XYZ_WorkerA | Project_XYZ | WorkerA | 01/04/2024 | 8.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/04/2024 | 9.00 |
| Project_XYZ_WorkerA | Project_XYZ | WorkerA | 01/05/2024 | 8.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/05/2024 | 8.00 |
| Project_XYZ_WorkerA | Project_XYZ | WorkerA | 01/08/2024 | 8.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/08/2024 | 10.00 |
| Project_XYZ_WorkerA | Project_XYZ | WorkerA | 01/09/2024 | 8.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/09/2024 | 10.00 |
| Project_XYZ_WorkerA | Project_XYZ | WorkerA | 01/10/2024 | 8.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/10/2024 | 10.00 |
| Project_XYZ_WorkerA | Project_XYZ | WorkerA | 01/11/2024 | 8.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/11/2024 | 11.00 |
| Project_XYZ_WorkerA | Project_XYZ | WorkerA | 01/12/2024 | 8.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/12/2024 | 10.00 |
| Project_XYZ_WorkerA | Project_XYZ | WorkerA | 01/15/2024 | 8.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/15/2024 | 9.00 |
| Project_XYZ_WorkerA | Project_XYZ | WorkerA | 01/16/2024 | 8.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/16/2024 | 10.00 |
| Project_XYZ_WorkerA | Project_XYZ | WorkerA | 01/17/2024 | 8.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/17/2024 | 9.00 |
| Project_XYZ_WorkerA | Project_XYZ | WorkerA | 01/18/2024 | 6.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/18/2024 | 11.00 |
| Project_XYZ_WorkerA | Project_XYZ | WorkerA | 01/19/2024 | 8.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/19/2024 | 11.00 |
| Project_XYZ_WorkerA | Project_XYZ | WorkerA | 01/22/2024 | 8.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/22/2024 | 10.00 |
| Project_XYZ_WorkerA | Project_XYZ | WorkerA | 01/23/2024 | 8.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/23/2024 | 10.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/24/2024 | 9.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/25/2024 | 8.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/26/2024 | 9.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/29/2024 | 10.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/30/2024 | 9.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/31/2024 | 8.00 |
| Project_XYZ_WorkerA | Project_XYZ | WorkerA | 02/01/2024 | 8.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 02/01/2024 | 10.00 |
| Project_XYZ_WorkerA | Project_XYZ | WorkerA | 02/02/2024 | 8.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 02/02/2024 | 5.00 |
tblSOW
| SOW_Proj_Worker_Key | Project | SOW_Worker | SOW_DtStart | SOW_DtEnd | SOW_Bud_Hrs |
| Project_XYZ_WorkerA | Project_XYZ | WorkerA | 01/01/2024 | 06/30/2024 | 1,024.00 |
| Project_XYZ_WorkerB | Project_XYZ | WorkerB | 01/01/2024 | 06/30/2024 | 1,024.00 |
8 Replies
- Ashish_Mathur
Super User
Hi,
Share the download link of the PBI file. Ensure that all measures are written. I'll try to help with writing the Hrs remaining measure.
- AnonymousNot applicable
Hello Ashish_Mathur,
Here is a small PBIX with my sample data and existing measures.
sampleBurndown.pbix
Appreciate any assistance you can offer. This is one of those challenges that doesn't seem like it should be as difficult as it is.- Ashish_Mathur
Super User
Hi,
I simply wrote this measure. It seems to work fine.
Measure = [hrsBudgeted]-[hrsApproved_RT]