Memory intensive burndown

Hello,
I’m using my “last sprint burndown chart” as usual, but it seems really memory consuming, I keep having out of memory errors on this and only this one report.

{
  "cube_name": "Issues",
  "cube_reports": [ {
     "name": "Last closed Sprint Burndown/Burnup",
     "folder_name": "Team Dashboard",
     "result_view": "line_chart",
     "definition": {"columns":{"dimensions":[{"name":"Measures","selected_set":["[Measures].[Cumulative Story Points resolved]","[Measures].[Sprint Burndown]","[Measures].[Sprint Story Points guideline]"],"members":[]}]},"rows":{"dimensions":[{"name":"Sprint","selected_set":["[Sprint].[Top Scrumboard]"],"selected_set_expression":"DescendantsSet({{selected_set}}, [Sprint].[Sprint])","members":[],"bookmarked_members":[]},{"name":"Time","selected_set":["[Time.Weekly].[Day].Members"],"members":[],"bookmarked_members":[]}],"filter_by":{"conditions":[{"expression":["[Measures].[Time within Sprint]"],"operator":"=","value":"1"},{"expression":["[Measures].[Time Independent Last Closed Sprint by Board]"],"operator":"=","value":"1"}]}},"pages":{"dimensions":[{"name":"Sprint","duplicate":true,"selected_set":["[Sprint].[Board].Members"],"members":[{"depth":1,"name":"Top Scrumboard","full_name":"[Sprint].[Top Scrumboard]","drillable":true}],"bookmarked_members":[],"current_page_members":["[Sprint].[Top Scrumboard]"]}]},"options":{},"view":{"current":"line_chart","maximized":false,"line_chart":{"area":false,"swap_axes":false,"data_labels":false,"series_options":{"Story Points resolved":{"type":"column"},"Cumulative Story Points resolved":{"type":"area","color":"#FFD04D"},"Story Points remaining":{"type":"line"},"Sprint Story Points Guideline":{"type":"line-Dash","color":"#E74B71","symbol":false},"Sprint Burnup":{"type":"areaspline","color":"#FFBE60"},"Sprint Burndown":{"color":"#B31238","symbol":"circle"},"cumulative story points resolved till today":{"type":"areaspline","color":"#FFE280"},"Sprint Story Points Guideline (Current)":{"type":"line-Dash","symbol":false},"Sprint Story Points guideline":{"type":"line-Dash"}}},"table":{}},"calculated_members":[]}
  } ],
  "calculated_members": [{"name":"Time within Sprint","dimension":"Measures","format_string":"","formula":"CASE WHEN\n  DateBetween([Time].CurrentHierarchyMember.StartDate,\n    DateAddDays([Sprint].CurrentHierarchyMember.get('Activated date'), -1),\n    CASE WHEN [Sprint].CurrentHierarchyMember.getBoolean('Closed')\n    THEN [Sprint].CurrentHierarchyMember.get('Complete date')\n    ELSE\n      CASE WHEN DateCompare([Sprint].CurrentHierarchyMember.getDate('End date'), Now()) \u003e 0\n      THEN [Sprint].CurrentHierarchyMember.get('End date')\n      ELSE Now()\n      END\n    END\n  )\nTHEN 1\nEND\n"},{"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 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 guideline","dimension":"Measures","format_string":"#,##0.00","formula":"CASE WHEN\n  DateBetween([Time].CurrentHierarchyMember.StartDate,\n    DateWithoutTime([Sprint].CurrentHierarchyMember.get('Activated date')),\n    [Sprint].CurrentHierarchyMember.get('End date')\n  )\nTHEN\n  ([Measures].[Sprint Story Points committed],\n    [Time].CurrentHierarchy.DefaultMember) *\n  (\n    DateDiffWorkdays(\n      DateWithoutTime([Sprint].CurrentHierarchyMember.get('Activated date')),\n      DateAddDays(DateWithoutTime([Sprint].CurrentHierarchyMember.get('End date')), 1)\n    ) -\n    DateDiffWorkdays(\n      DateWithoutTime([Sprint].CurrentHierarchyMember.get('Activated date')),\n      [Time].CurrentHierarchyMember.NextStartDate\n    )\n  ) /\n  DateDiffWorkdays(\n    DateWithoutTime([Sprint].CurrentHierarchyMember.get('Activated date')),\n    DateAddDays(DateWithoutTime([Sprint].CurrentHierarchyMember.get('End date')), 1)\n  )\nEND\n"},{"name":"Story Points history","dimension":"Measures","format_string":"#,##0.00","formula":"Cache(\n  NonZero(Sum(PreviousPeriods([Time].CurrentHierarchyMember),\n    [Measures].[Story Points change]\n  ))\n  + [Measures].[Story Points change]\n)\n"},{"name":"Cumulative Story Points resolved","dimension":"Measures","format_string":"#,##0.00","formula":"Cache(\n  Sum({PreviousPeriods([Time].CurrentHierarchyMember),\n      [Time].CurrentHierarchyMember},\n    [Measures].[Story Points resolved]\n  )\n)\n"},{"name":"Time Independent Last Closed Sprint by Board","dimension":"Measures","formula":"Case\nwhen\n[Sprint].Currentmember.Level.Name = 'Sprint' Then   \nCase \nWHEN     \n[Sprint].CurrentMember.Name  \u003c\u003e '(no sprint)'   \nTHEN     \nNonZero(Rank(\n[Sprint].CurrentMember,\nHead(\nOrder(\nFilter(\nChildrenSet(\n[Sprint].CurrentMember.Parent\n),[Sprint].CurrentMember.getBoolean('Closed') \n-- AND ([Time].CurrentHierarchy.DefaultMember,[Measures].[Issues created])\u003e0\n)\n,[Sprint].CurrentMember.get('Complete date'), DESC)\n,1)\n))\nEnd\nElse \n[Measures].[Issues created]  \nEnd","format_string":""},{"name":"Sprint Burndown","dimension":"Measures","formula":"CoalesceEmpty([Measures].[Sprint Story Points at closing],[Measures].[Story Points history]) -\n[Measures].[Cumulative Story Points resolved]","format_string":""}]
}

Is there any way to keep the memory usage a bit lower?
thanks.

Hi @Mauro_Bennici,

The Sprint dimension on timeline report rows, in combination with the calculated measure “Time Independent Last Closed Sprint by Board,” increases report complexity.

For burndown reports, it is best to keep only Time on report rows and use Sprint only as a filter on pages.

You might want to use this report as the basis for the burndown chart: Active (multiple) sprints story points burn-down - Issues - Jira Demo - eazyBI.

You should slightly modify the report and filter data by “Last closed (completed) sprints” instead of active sprints. In the Sprint dimension, add a calculated member Last closed (completed) sprints; take a code example from the Demo account.

Best,
Zane / support@eazyBI.com

hi @zane.baranovska , thanks for the response.
I have some issues using the solution you suggested, I implemented the calculated member and the measures from the demo report you quoted, but I get wrong results, i.e. for a project I have the last sprint starting on Apr 29th, but I get results starting from Apr 1st.
More than that, I don’t need data from all closed sprints in a project, I need the burndown of the last sprint on a single board.
Thanks again

Hello @zane.baranovska ,
I still have some issues with the report, this is what I get when I use the Last closed (completed) sprints calculated member.
As you can see, the guideline goes waaaay in the past and I have a good amount of empty cells that scramble the burndown. The blacked out dimension is project.