Filter on Sprint To Show Specific Boards For Sprints Closed Within Previous Month

Hi all!

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:

Aggregate({
[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]
})
CASE WHEN
Aggregate({
Tail(Order(
Filter([Sprint].[Sprint].Members,
[Measures].[Sprint Closed?] = ‘Yes’ AND
NOT isEmpty([Measures].[Sprint End Date])),
[Sprint].CurrentMember.get(‘End date’), BASC
), 4)
})
END

Hi @cpuglisi,

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:

Aggregate(
  --filter sprints
  Filter([Sprint].[Sprint].Members,
  --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],
    [Time].[Month].CurrentDateMember.PrevMember)
))

More details on how to aggregate members in dimension and regular expressions are here:

Best,
Zane / support@eazyBI.com

1 Like

HI @zane.baranovska , i was trying your solution but i mayke some adjustement to fit my need.

I got several board that are all name with the format "Scrum " & Team_name

I try this syntaxe but i got no result.

 [Sprint].CurrentMember.Parent.Name MATCHES "^Scrum*"

Hi @XavierH,

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.

Best,
Zane / support@eazyBI.com