Sprint report that shows issues by epic and sprint measures such as points added, removed, resolved and completion

Hey Team!

I’m new to eazyBI and our team requested a report that shows the following for the current and last sprint:

Epics, children, story points completed / percentage completion.

I’m trying to get that view to work using the ‘sprint issue review’ from the demo as a starting point, but the measures ‘Sprint story points commited completion %’ shows 0%, and both ‘sprint story points completed’ and ‘sprint story points completed of added’ also show empty. I’ve checked that sprint and several issues with story points have already been completed.
Any pointers will be greatly appreciated!

Here are my definitions
{
“cube_name”: “Issues”,
“cube_reports”: [ {
“name”: “Sprint overview”,
“result_view”: “table”,
“definition”: {“columns”:{“dimensions”:[{“name”:“Measures”,“selected_set”:[“[Measures].[Issue Sprint]”,“[Measures].[Issue type]”,“[Measures].[Issue Story Points]”,“[Measures].[Sprint Story Points committed]”,“[Measures].[Sprint Story Points added]”,“[Measures].[Sprint Story Points removed]”,“[Measures].[Sprint Story Points change]”,“[Measures].[Sprint Story Points completed]”,“[Measures].[Sprint Story Points completed of added]”,“[Measures].[Sprint Story Points committed completion %]”],“members”:}]},“rows”:{“dimensions”:[{“name”:“Issue”,“selected_set”:[“[Issue].[All Issues]”],“selected_set_expression”:“DescendantsSet({{selected_set}}, [Issue].[Project])”,“members”:,“bookmarked_members”:},{“name”:“Parent Epic”,“selected_set”:[“[Parent Epic].[Parent Epic].Members”],“members”:,“bookmarked_members”:}],“nonempty_crossjoin”:true},“pages”:{“dimensions”:[{“name”:“Sprint”,“selected_set”:[“[Sprint].[Active Sprints]”,“[Sprint].[Last closed (completed) sprint]”],“members”:[{“depth”:0,“name”:“Active Sprints”,“full_name”:“[Sprint].[Active Sprints]”,“calculated”:true,“drillable”:true,“dimension”:“Sprint”}],“bookmarked_members”:,“current_page_members”:[“[Sprint].[Active Sprints]”]},{“name”:“Project”,“selected_set”:[“[Project].[Identity]”],“members”:[{“depth”:1,“name”:“Identity”,“full_name”:“[Project].[Identity]”,“drillable”:true,“key”:“ID”}],“bookmarked_members”:[{“depth”:1,“name”:“Identity”,“full_name”:“[Project].[Identity]”,“drillable”:true,“key”:“ID”}],“current_page_members”:[“[Project].[Identity]”]},{“name”:“Issue”,“duplicate”:true,“selected_set”:[“[Issue].[All Issues]”],“members”:[{“depth”:0,“name”:“All Issues”,“full_name”:“[Issue].[All Issues]”,“drillable”:true,“type”:“all”}],“bookmarked_members”:,“current_page_members”:[“[Issue].[All Issues]”]}]},“options”:{},“view”:{“current”:“table”,“maximized”:false,“table”:{}},“calculated_members”:}
} ],
“calculated_members”: [{“dimension”:“Measures”,“name”:“Issue type”,“format_string”:“”,“formula”:“[Issue Type].[Issue Type].getMemberNameByKey(\n [Issue].CurrentHierarchyMember.get(‘Issue type ID’)\n)”},{“name”:“Issue Sprint”,“dimension”:“Measures”,“formula”:“[Sprint].[Sprint].getMemberNameByKey(\n [Issue].CurrentHierarchyMember.get(‘Sprint ID’)\n)\n”,“format_string”:“”},{“name”:“Sprint Story Points committed”,“dimension”:“Measures”,“format_string”:“#,##0.00”,“formula”:“( [Measures].[Story Points added],\n [Transition Field].[Sprint status],\n [Sprint Status].[Active],\n – An issue was in a sprint at a sprint start time\n [Issue Sprint Status Change].[Future =\u003e Active]\n)\n”},{“name”:“Sprint Story Points added”,“dimension”:“Measures”,“format_string”:“#,##0.00”,“formula”:“( [Measures].[Story Points added],\n [Transition Field].[Sprint status],\n [Sprint Status].[Active],\n – An issue was added or created in an active sprint\n [Issue Sprint Status Change].[(none) =\u003e Active]\n)\n”},{“name”:“Sprint Story Points removed”,“dimension”:“Measures”,“format_string”:“#,##0.00”,“formula”:“( [Measures].[Story Points removed],\n [Transition Field].[Sprint status],\n [Sprint Status].[Active],\n – An issue was removed from an active sprint\n [Issue Sprint Status Change].[Active =\u003e (none)]\n)\n”},{“name”:“Sprint Story Points change”,“dimension”:“Measures”,“format_string”:“#,##0.00”,“formula”:“-- Story point changes during an active sprint\n( [Measures].[Story Points change],\n [Transition Field].[(none)],\n [Sprint Status].[Active]\n)\n”},{“name”:“Sprint Story Points at closing”,“dimension”:“Measures”,“format_string”:“#,##0.00”,“formula”:“-- Story points from issues when a sprint was closed\n( [Measures].[Story Points added],\n [Transition Field].[Sprint status],\n [Sprint Status].[Closed],\n [Issue Sprint Status Change].[Active =\u003e Closed]\n)\n”},{“name”:“Sprint Story Points completed”,“dimension”:“Measures”,“format_string”:“#,##0.00”,“formula”:“(\n [Measures].[Sprint Story Points at closing],\n [Transition Status.Category].[Done]\n)\n”},{“name”:“Sprint Story Points completed of committed”,“dimension”:“Measures”,“format_string”:“#,##0.00”,“formula”:“(\n [Measures].[Sprint Story Points completed],\n [Sprint Incoming State].[Committed]\n)\n”},{“name”:“Sprint Story Points completed of added”,“dimension”:“Measures”,“format_string”:“#,##0.00”,“formula”:“(\n [Measures].[Sprint Story Points completed],\n [Sprint Incoming State].[Added]\n)\n”},{“name”:“Sprint Story Points committed completion %”,“dimension”:“Measures”,“format_string”:“#,##0.00%”,“formula”:“CASE WHEN [Measures].[Sprint Story Points committed] \u003e 0\nTHEN\n CoalesceEmpty([Measures].[Sprint Story Points completed of committed], 0) /\n [Measures].[Sprint Story Points committed]\nEND\n”},{“name”:“Issue Story Points”,“dimension”:“Measures”,“formula”:“[Issue].CurrentHierarchyMember.get(‘Story Points’)”,“format_string”:“#,##0.00”},{“name”:“Active Sprints”,“dimension”:“Sprint”,“formula”:“Aggregate(\n Filter(\n [Sprint].[Sprint].Members,\n NOT [Sprint].CurrentMember.getBoolean(‘Closed’)\n AND\n IIF (IsEmpty([Sprint].CurrentMember.get(‘Status’)),\n NOT isEmpty([Sprint].CurrentMember.get(‘Start date’)) ,\n [Sprint].CurrentMember.get(‘Status’) = "Active")\n )\n)\n”,“format_string”:“”},{“name”:“Last closed (completed) sprint”,“dimension”:“Sprint”,“formula”:“Aggregate(\n Generate(\n – get all boards\n [Sprint].[Board].Members,\n – access all children - sprints from the board and get the last 5 closed\n Tail(\n Filter(\n [Sprint].CurrentMember.Children,\n [Sprint].CurrentMember.GetBoolean("Closed")),\n – 1 last (from Tail) closed sprint from a board\n 1)\n – address the first (0) member from a set\n .Item(0)\n )\n)”,“format_string”:“”}]
}

And here is a screen shot of the report:

Thank you!
Kindly,
Bianca

Hi,

A likely reason why the completion percentage is empty is possible differences from how Jira counts completed story points and how eazyBI does.

Jira count of the completed story points according to how you define the closed statues in the sprint board columns. eazyBI counts completed story points according to the Status category. An Issue is counted completed in eazyBi report if the issue is in a status form the status category Done at sprint closing. You can check that in the formula behind the Sprint story points completed:

(
  [Measures].[Sprint Story Points at closing],
  [Transition Status.Category].[Done]
)

You can create a custom measure with a similar formula if you want to change the definition of the completed story points.

Kindly,

Janis, eazyBI support

1 Like