Estimated Burndown of Tasks

I am trying to create a estimated burndown of issues (or sub-tasks, either will work) measure to add to a graph to compare agains actual burndown. similiar to this example:

except I am looking to do by ALL issues in the project, not just issues in a particular sprint. because I am using portfolio (advanced roadmaps) as well I am hoping to create a calculated measure which shows:

Sum(all issue count) - sum(issues with target end date) - sum (all issues with previous target end dates)

this should give me a burn down but im not sure how to implement with MDX. any ideas?

@martins.vanags based on other things you have replied to, you are the person to help with this I think.

Hi @Jaylyn_Brown,

You may have a similar report for the project, version, or some other business unit with begin and end dates.

This report would require few adjustments:

  1. Import project start and end dates. For example, those could be project properties from Profields or additionally imported project properties.

  2. Replace measure “Time within Sprint” with a similar measure “Time within Project” that would mark Time periods (months, weeks, days) between project begin and end dates. For example, if you have Project properties Start date and End date the expression might look like this:

    CASE WHEN
      DateBetween([Time].CurrentHierarchyMember.StartDate,
      DateAddDays([Project].CurrentHierarchyMember.get('Start date'), -1),
      [Project].CurrentHierarchyMember.get('End date') )
    THEN 1
    END
    
  3. Replace measure “Sprint Estimated Guideline” with a similar measure “Project Estimated Guideline”. Replace sprint dates with project dates. And for the total scope of estimated hours, you may select the Remaining estimated hours at the first date of the project. The formula might look like this:

    CASE WHEN -- period when project is active
      DateBetween([Time].CurrentHierarchyMember.StartDate,
        [Project].CurrentMember.get('Start date'),
        [Project].CurrentMember.get('End date')
      )
      OR 
      DateInPeriod(
        [Project].CurrentMember.get('Start date'),
        [Time].CurrentHierarchyMember
      )
    THEN
      --remaining estimated huors when project starts
      ([Measures].[Remaining estimated hours history],
      [Time].CurrentHierarchy.Levels('Day').DateMember(
        [Measures].[Profields Start Date (pf)]) ) *
      --multiplied by remaining days in project
      (
        DateDiffWorkdays(
          [Project].CurrentMember.get('Start date'),
          [Project].CurrentMember.get('End date')
        ) -
        DateDiffWorkdays(
          [Project].CurrentMember.get('Start date'),
          [Time].CurrentHierarchyMember.StartDate
        )
      ) /
      --divided by total count of days in period
      DateDiffWorkdays(
        [Project].CurrentMember.get('Start date'),
        [Project].CurrentMember.get('End date')
      )
    END
    

The main idea of how to construct the burn-down or burn-up reports (represent relative periods and create guideline) is also described for two other user cases in the documentation:

Best,
Zane / support@eazyBI.com

So the code you posted is looking for the data that has to do with the stop/start of the project and then comparing that against the estimated hours field contents. I don’t have the estimated hours filled in on my issues yet but i have “target start” and “target end” dates which are portfolio fields which import into eazyBI as measures and properties.

so the calculations I’m currently using are…

  1. Sum of issues:

– sum of all issues created
Sum({
PreviousPeriods([Time].[2021].[Q1 2021]),
[Time].currenthierarchymember},
(NonZero([Measures].[Issues Created])
) )

–minus
-

– Sum of any issues completed
Sum({
PreviousPeriods([time].Currenthierarchymember),
[Time].CurrentHierarchyMember},
(NonZero([Measures].[Issues resolved])
) )


The issue I’m having is this is giving me a lower than expected value for the sum I think which is causing my planned burndown line to go into the negatives.

  1. Planned BurnDown

–sum of issues minus

[Measures].[Sum code above] -

–sum of issues that have a target end date on that date or before that date

(Sum({
Previous Periods([Time].CurrentHierarchyMemeber),
[Time].CurrentHierarchyMember},
[Measures].[Issues with Target end]
))


sorry about any typos im having to transpose.

my chart looks like:
(again sorry i cant copy/paste)