Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Anonymous
Not applicable

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.

 

LeoJHunt_1-1710380890178.png

 

Here is sample data.

tblWD

WD_Proj_Worker_KeyProjectWD_WorkerWD_DateWD_Approved_Billable
Project_XYZ_WorkerBProject_XYZWorkerB01/02/20248.00
Project_XYZ_WorkerAProject_XYZWorkerA01/03/20248.00
Project_XYZ_WorkerBProject_XYZWorkerB01/03/20249.00
Project_XYZ_WorkerAProject_XYZWorkerA01/04/20248.00
Project_XYZ_WorkerBProject_XYZWorkerB01/04/20249.00
Project_XYZ_WorkerAProject_XYZWorkerA01/05/20248.00
Project_XYZ_WorkerBProject_XYZWorkerB01/05/20248.00
Project_XYZ_WorkerAProject_XYZWorkerA01/08/20248.00
Project_XYZ_WorkerBProject_XYZWorkerB01/08/202410.00
Project_XYZ_WorkerAProject_XYZWorkerA01/09/20248.00
Project_XYZ_WorkerBProject_XYZWorkerB01/09/202410.00
Project_XYZ_WorkerAProject_XYZWorkerA01/10/20248.00
Project_XYZ_WorkerBProject_XYZWorkerB01/10/202410.00
Project_XYZ_WorkerAProject_XYZWorkerA01/11/20248.00
Project_XYZ_WorkerBProject_XYZWorkerB01/11/202411.00
Project_XYZ_WorkerAProject_XYZWorkerA01/12/20248.00
Project_XYZ_WorkerBProject_XYZWorkerB01/12/202410.00
Project_XYZ_WorkerAProject_XYZWorkerA01/15/20248.00
Project_XYZ_WorkerBProject_XYZWorkerB01/15/20249.00
Project_XYZ_WorkerAProject_XYZWorkerA01/16/20248.00
Project_XYZ_WorkerBProject_XYZWorkerB01/16/202410.00
Project_XYZ_WorkerAProject_XYZWorkerA01/17/20248.00
Project_XYZ_WorkerBProject_XYZWorkerB01/17/20249.00
Project_XYZ_WorkerAProject_XYZWorkerA01/18/20246.00
Project_XYZ_WorkerBProject_XYZWorkerB01/18/202411.00
Project_XYZ_WorkerAProject_XYZWorkerA01/19/20248.00
Project_XYZ_WorkerBProject_XYZWorkerB01/19/202411.00
Project_XYZ_WorkerAProject_XYZWorkerA01/22/20248.00
Project_XYZ_WorkerBProject_XYZWorkerB01/22/202410.00
Project_XYZ_WorkerAProject_XYZWorkerA01/23/20248.00
Project_XYZ_WorkerBProject_XYZWorkerB01/23/202410.00
Project_XYZ_WorkerBProject_XYZWorkerB01/24/20249.00
Project_XYZ_WorkerBProject_XYZWorkerB01/25/20248.00
Project_XYZ_WorkerBProject_XYZWorkerB01/26/20249.00
Project_XYZ_WorkerBProject_XYZWorkerB01/29/202410.00
Project_XYZ_WorkerBProject_XYZWorkerB01/30/20249.00
Project_XYZ_WorkerBProject_XYZWorkerB01/31/20248.00
Project_XYZ_WorkerAProject_XYZWorkerA02/01/20248.00
Project_XYZ_WorkerBProject_XYZWorkerB02/01/202410.00
Project_XYZ_WorkerAProject_XYZWorkerA02/02/20248.00
Project_XYZ_WorkerBProject_XYZWorkerB02/02/20245.00

 

tblSOW

SOW_Proj_Worker_KeyProjectSOW_WorkerSOW_DtStartSOW_DtEndSOW_Bud_Hrs
Project_XYZ_WorkerAProject_XYZWorkerA01/01/202406/30/20241,024.00
Project_XYZ_WorkerBProject_XYZWorkerB01/01/202406/30/20241,024.00
8 REPLIES 8
Ashish_Mathur
Super User
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.


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
Anonymous
Not 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.

Hi,

I simply wrote this measure.  It seems to work fine.

Measure = [hrsBudgeted]-[hrsApproved_RT]

Ashish_Mathur_0-1710720745098.png

 


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
Anonymous
Not applicable

@Ashish_Mathur,
Your Measure did not resolve the problem.  The false-positive you had appeared to be due to a fluke with the abridged dataset I provided you.
My challenge is more difficult than my failing to subtract like your proposed solution suggested.

I added a third Worker, Worker C, to the file to help illustrate the continued issue.
Effectively, [hrsBudgeted]* is still not being limited to the context of the selection.

The challenge continues to be... for a given filter selection of Workers, what is the sum of their [SOW_Bud_Hrs] and report that value for all valid reporting days, even if they have 0 hours approved for the project.  The second scenario, reporting even when 0 approved hours are reported, occurs 01/02 and 01/23-01/26, when Worker B had no Approved hours.

The relationship between tblWD[WD_Proj_Worker_Key] and tblSOW[SOW_Proj_Worker_Key] is not supporting this sum of a singular value per Worker or presentation of the budget amount when no new approved time was reported.

LeoJHunt_2-1710804077203.png


*Current Measure...

hrsBudgeted =
    VAR Result =
            SUMX(
                tblSOW,
                tblSOW[SOW_Bud_Hrs]
            )
    RETURN
        Result

I can only interpret and work with the data that is shared.  If the data shared is not representative of the nuances of your actual data, then i obviously cannot forsee the scenario.

Share a small dataset to work with and show the expected result on that abridged dataset. 


Regards,
Ashish Mathur
http://www.ashishmathur.com
https://www.linkedin.com/in/excelenthusiasts/
Anonymous
Not applicable

 

I think I solved this. Required building a massively complicated M/PQ model, but results work and model makes senses. 

 

Hi, @Anonymous 

Have you solved your problem? If so, can you share your solution here and mark the correct answer as a standard answer to help other members find it faster? Thank you very much for your kind cooperation!

Best Regards

Yongkang Hua

Anonymous
Not applicable

@Ashish_Mathur,

 

As I mentioned, I updated the sample file with additional data.

 sampleBurndown.box 

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.