I’m trying to create a table report that has a calculated measure on the Sprint dimension. It will show only specific boards for Sprints that were opened within the previous month.
This is the code I have so far (defined in a new calculated measure on the Sprint dimension) but I keep getting syntax errors:
[Sprint].[MCX Agile Team 1 Scrum Board],
[Sprint].[MCX Agile Team 2 Scrum Board],
[Sprint].[FMC Agile Team Scrum Board],
[Sprint].[FMC Screeners Scrum Board]
[Measures].[Sprint Closed?] = ‘Yes’ AND
NOT isEmpty([Measures].[Sprint End Date])),
[Sprint].CurrentMember.get(‘End date’), BASC
When aggregating a group of members, first, you might want to decide which level members (in your case Boards or Sprints) you would like to group. And then write all filtering criteria from that level perspective. For example, to aggregate Sprints, start by filtering Sprint level members by certain rules:
specific Board (sprint parent) name
sprint is closed
sprint end date is in the previous month
The calculation might look like this:
--from specified boards
[Sprint].CurrentMember.Parent.Name MATCHES "MCX Agile Team 1 Scrum Board|MCX Agile Team 2 Scrum Board|FMC Agile Team Scrum Board|FMC Screeners Scrum Board" AND
[Measures].[Sprint Closed?] = 'Yes' AND
--sprint end date in previous month
DateInPeriod([Measures].[Sprint end date],
More details on how to aggregate members in dimension and regular expressions are here:
If you would like to group sprints with the name pattern starting with “Scrum” you might slightly adjust the expression.
First, check the CurrnetMember name directly, not its Parent.
When checking on name patterns, use the regular expression .* (see examples in Regular expressions in calculated members).
[Sprint].CurrentMember.Name MATCHES "^Scrum.*"
For more complex use cases to group sprints by name patterns, check out other community posts describing how to create a custom hierarchy in the Sprint dimension.