Order Sprint in Report

I have a report that I want to be able to order the sprint by start date with the latest sprint first but when I set the sprint to order it does not change

{
“cube_name”: “Issues”,
“cube_reports”: [ {
“name”: “Application Services Velocity Report”,
“folder_name”: “Custom”,
“result_view”: “table”,
“definition”: {“columns”:{“dimensions”:[{“name”:“Measures”,“selected_set”:["[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].[% Story Points Completed]"],“members”:[]}]},“rows”:{“dimensions”:[{“name”:“Project”,“selected_set”:["[Project].[All Projects]"],“members”:[{“depth”:0,“name”:“All Projects”,“full_name”:"[Project].[All Projects]",“drillable”:true,“type”:“all”,“expanded”:true,“drilled_into”:false,“removed”:true}],“bookmarked_members”:[]},{“name”:“Sprint”,“selected_set”:["[Sprint].[All closed sprints]","[Sprint].[Sprint Order]"],“members”:[{“depth”:0,“name”:“All closed sprints”,“full_name”:"[Sprint].[All closed sprints]",“calculated”:true,“drillable”:true,“expanded”:true,“drilled_into”:false,“removed”:true}],“bookmarked_members”:[]}],“filter_by”:{“conditions”:[{“expression”:["[Measures].[Sprint end date]"],“operator”:“between”,“value”:“2019-12-01 and today”,“value_type”:“date”,“value_format_string”:“mmm dd yyyy”}]},“nonempty_crossjoin”:true},“pages”:{“dimensions”:[{“name”:“Issue Type”,“selected_set”:["[Issue Type].[Story]"],“members”:[{“depth”:1,“name”:“Story”,“full_name”:"[Issue Type].[Story]"}],“bookmarked_members”:[{“depth”:1,“name”:“Story”,“full_name”:"[Issue Type].[Story]"}],“current_page_members”:["[Issue Type].[Story]"]},{“name”:“Profields Project Team”,“selected_set”:["[Profields Project Team].[Project Teams]"],“members”:[{“depth”:0,“name”:“Project Teams”,“full_name”:"[Profields Project Team].[Project Teams]",“drillable”:true,“type”:“all”,“expanded”:true,“drilled_into”:false},{“depth”:1,“name”:“AS - CASH”,“full_name”:"[Profields Project Team].[AS - CASH]",“parent_full_name”:"[Profields Project Team].[Project Teams]"}],“bookmarked_members”:[],“current_page_members”:["[Profields Project Team].[AS - CASH]"]},{“name”:“Profields Owning Dev Manager”,“selected_set”:["[Profields Owning Dev Manager].[Owning Dev Managers]"],“members”:[{“depth”:0,“name”:“Owning Dev Managers”,“full_name”:"[Profields Owning Dev Manager].[Owning Dev Managers]",“drillable”:true,“type”:“all”}],“bookmarked_members”:[],“current_page_members”:["[Profields Owning Dev Manager].[Owning Dev Managers]"]},{“name”:“Team”,“selected_set”:["[Team].[All Teams]"],“members”:[{“depth”:0,“name”:“All Teams”,“full_name”:"[Team].[All Teams]",“drillable”:true,“type”:“all”,“expanded”:true,“drilled_into”:false}],“bookmarked_members”:[],“current_page_members”:["[Team].[All Teams]"]}]},“options”:{“nonempty”:“rows”},“view”:{“current”:“table”,“maximized”:false,“table”:{“row_dimension_headers”:{“Project”:true,“Sprint”:true}}}}
} ],
“calculated_members”: [{“name”:“Sprint end date”,“dimension”:“Measures”,“format_string”:“mmm dd yyyy”,“annotations”:{“group”:“Agile”,“predefined”:true},“formula”:"[Sprint].CurrentMember.get(‘End date’)"},{“name”:“All closed sprints”,“dimension”:“Sprint”,“format_string”:"",“formula”:“Aggregate(\n Order(\n Filter([Sprint].[Sprint].Members,\n [Sprint].CurrentMember.getBoolean(‘Closed’) AND\n NOT IsEmpty([Sprint].CurrentMember.get(‘Complete date’))),\n [Sprint].CurrentMember.get(‘Start date’),\n BASC\n )\n)”,“annotations”:{“predefined”:true}},{“name”:“Sprint Story Points committed”,“dimension”:“Measures”,“format_string”:"#,##0.00",“annotations”:{“group”:“Agile”,“predefined”:true},“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 [Time].CurrentHierarchy.Levels(‘Day’).DateMember(\n [Sprint].CurrentMember.get(‘Start date’)\n )\n)"},{“name”:“Sprint Story Points added”,“dimension”:“Measures”,“format_string”:"#,##0.00",“annotations”:{“group”:“Agile”,“predefined”:true},“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)"},{“name”:“Sprint Story Points removed”,“dimension”:“Measures”,“format_string”:"#,##0.00",“annotations”:{“group”:“Agile”,“predefined”:true},“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)"},{“name”:“Sprint Story Points change”,“dimension”:“Measures”,“format_string”:"#,##0.00",“annotations”:{“group”:“Agile”,“predefined”:true},“formula”:"-- Story point changes during an active sprint\n( [Measures].[Story Points change],\n [Transition Field].[(none)],\n [Sprint Status].[Active]\n)"},{“name”:“Sprint Story Points at closing”,“dimension”:“Measures”,“format_string”:"#,##0.00",“annotations”:{“group”:“Agile”,“predefined”:true},“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)"},{“name”:“Sprint Story Points completed”,“dimension”:“Measures”,“format_string”:"#,##0.00",“annotations”:{“group”:“Agile”,“predefined”:true},“formula”:"(\n [Measures].[Sprint Story Points at closing],\n [Transition Status.Category].[Done]\n)"},{“name”:“Sprint Order”,“dimension”:“Sprint”,“formula”:“Aggregate(\n Order(\n Filter(\n [Sprint].[Sprint].Members,\n NOT isEmpty([Sprint].CurrentMember.get(‘Start date’))\n),\n-- ordering by start date across all boards\n[Sprint].CurrentMember.get(‘Start date’), DESC\n))\n”,“format_string”:""},{“name”:"% Story Points Completed",“dimension”:“Measures”,“formula”:“CASE WHEN [Measures].[Sprint Story Points Committed] \u003e 0 AND [Measures].[Sprint Story Points completed] \u003e 0 THEN\n[Measures].[Sprint Story Points completed] / [Measures].[Sprint Story Points committed]\nEND”,“format_string”:"#%"}]
}

Hi,

There are known limitations for the ordering function to work correctly with a combination of the dimensions like in your report. A possible workaround is to implement a new custom measure for ordering. You can concatenate the project name with the timestamp of the sprint start date and apply the ordering on this measure in the descending order. I tried the following formula (note the formatting to show the measure as string):

You can remove this measure from the report, and the ordering will be preserved.

Kindly,
Janis, eazyBI support