Story Points for committed issues which transitioned to other status

Our Jira Workflow goes over multiple teams (BA → Dev → Test), each of which use their set of statuses, and I’d like to calculate how many Story Points my developers have delivered, i.e. the Story points for issues which:

  1. Were in “development” statuses at the start of the sprint
  2. Of these, those which were in “post-development” status at the end of the sprint

For this I have two calculated dimensions:

[Transition Status].[dev] =
Aggregate(
    {[Transition Status].[Ready for Development],
     [Transition Status].[In Progress],
     [Transition Status].[In Technical Code Review]
    }
)

[Transition Status].[post-dev]=
Aggregate(
    {[Transition Status].[Ready for deployment],
     [Transition Status].[Ready for QA],
     [Transition Status].[In QA],
     [Transition Status].[Tested],
     [Transition Status].[Done]}
)

And following calculated measure to calculate committed story points:

[Measures].[Sprint Story Points commited dev] =
( [Measures].[Story Points added],
  [Transition Field].[Sprint status],
  [Sprint Status].[Active],
  [Transition Status].[dev],
  -- An issue was in a sprint at a sprint start time
  [Issue Sprint Status Change].[Future => Active]
)

However, when it comes to calculating story points for the same tickets, I am stuck. Here’s what I tried, which fails because of referencing Transition Status twice:

[Measures].[Sprint Story Points completed dev]=
(
  [Measures].[Sprint Story Points at closing],
  [Transition Status].[post-dev],
  [Sprint Incoming State].[Committed],
  
  [Transition Field].[Sprint status],
  [Sprint Status].[Active],
  [Transition Status].[dev],
  -- An issue was in a sprint at a sprint start time
  [Issue Sprint Status Change].[Future => Active]
)

How do I calculate the Story Points for the Tickets in given status at the end of the sprint which were in certain status at the start of the sprint?

HI @Nikolai.Novik,
If you want to filter your issues by two measures “Sprint Story Points commited dev” and “Sprint Story Points completed dev” then you need to use DescendantsSet() to iterate through issues and filter thoses issues where each issue have both those measures.

Sum(
  Filter(
    DescendantsSet(
      [Issue].CurrentHierarchyMember, [Issue].CurrentHierarchy.Levels("Issue")
    ),
    [Measures].[Sprint Story Points commited dev]>0
    AND
    [Measures].[Sprint Story Points completed dev]>0
  ),
  [Measures].[Sprint Story Points at closing]
)

best,
Gerda // support@eazybi.com