Due date burndown

Hi,

I’m a beginner EazyBI statistics. Mostly I use existing graphs and modify them for my needs. Often this solves my use cases. :slight_smile:

Now I’ve a simple use case for that I don’t find an answer. I just have Measures in the columns and Time in the rows. The target is to have all issues which have a due date displayed on a “Timeline burndown” chart. The problem is I could only configure a version that shows the due date when it’s planned. But I need a burndown that starts at the complete sum of all tickets and everytime after a due date is reached one gets subtracted until only the ones which have no due date are left (burndown).

I tried with this:

CASE
WHEN CurrentTuple(VisibleRowsSet()).Item(0).Name = '$total_aggregate' THEN
  [Measures].[Issues due].Value
WHEN NOT IsEmpty([Measures].[Issues due]) THEN
  Sum(Filter([Sprint].[Sprint].Members,
      [Sprint].CurrentMember.Name MATCHES ''))-Sum(
    Head(VisibleRowsSet(), Rank(CurrentTuple(VisibleRowsSet()), VisibleRowsSet())),
    [Measures].[Issues due]
  )
END

It works “somehow” but not really. I goes from zero to negative number and I couldn’t drill down into the points from this curve and get an error.

Any hints on this?

Hi @andreas99,

You are halfway through to the solution; the second Sum() of the expression is working all right and returns the accumulated value of issues due. However, the first Sum() does not work as expected, and therefore you get negative numbers in your report.

Your idea for the burndown is correct; get the total of issues due and subtract the accumulated issue due value. To get the total value of issues due, you might want to use a tuple construction of measure “Issues due” and the “Time” dimension DefaultMember (in other words All Times member).

The updated expression might look like this:

CASE 
  WHEN CurrentTuple(VisibleRowsSet()).Item(0).Name = "$total_aggregate" THEN
    [Measures].[Issues due].Value
  WHEN NOT IsEmpty([Measures].[Issues due]) THEN
    --all issues due across time
    ([Measures].[Issues due],
    [Time].CurrentHierarchy.DefaultMember) -
    --substract accumulated value of Issues due on the period end
    Sum(
      Head(VisibleRowsSet(), Rank(CurrentTuple(VisibleRowsSet()), VisibleRowsSet())),
      [Measures].[Issues due])
END

More details on tuple construction and DefaultMember are here:

Best,
Zane / support@eazybi.com

1 Like