How it works...

The Burndown measure represents the cumulative number of hours reported as work against the project over time. To calculate this measure, we start by setting the current reporting date, __ReportingDate. Then, we get the maximum date within the current context of our line chart visualization, __Date. Next, we get the starting and finishing dates, __StartDate and __FinishDateby using MINX and MAXX to retrieve the minimum value in the Start_Date column and the maximum date in the Finish_Date column, respectively. The next variable, __TotalProjectHours, stores the total amount of planned hours of work within the project plan in the R07_Table table. To calculate __TotalProjectHourswe simply use SUMX to sum all of the values in the Scheduled_Work column. We also need __TotalConsumedHours, which is the cumulative total of hours reported as work that are less than or equal to __Date.

The return value for the Burndown measure is simply the __TotalProjectHours minus the __TotalConsumedHours. However, first, we check to see if __Date is less than the start date of the project, __StartDate, or greater than the reporting date, __ReportingDate and, if so, return BLANK.

The Idealized Burndown measure represents an even distribution of consumed hours for the project over time. This means that the same number of hours is consumed every day over the course of the entire project. The calculations for the __ReportingDate, __StartDate, __FinishDate, and __TotalProjectHours variables are identical to the same variables in our Burndown measure. However, we then calculate __IdealHoursPerDay, which is an even distribution of the total project hours over the entire length of the project. To calculate __IdealHoursPerDay, we divide the total project hours, __TotalProjectHours, by the number of days between the start of the project, __StartDate, and the end of the project, __EndDate. By doing this, we can find the ideal hours consumed at any point in our project timeline, __IdealConsumedHours, by multiplying __IdealHoursPerDay by the difference in days between the start of the project, __StartDate, and the current date, __Date.

The return value for the Idealized Burndown measure is simply the __TotalProjectHours minus the __IdealConsumedHours. However, first, we check to see if __Date is less than the start date of the project, __StartDate, or greater than the end of the project, __FinishDate, and if so, return BLANK.