Release health filtering at the epic level

Hi there,

This question is related to a JIRA process change. We used to leverage the priority field at the user story level to define a committed feature. This has changed, and we have introduced a new custom fields called commitments at the epic (not user story) level.

Here is the formula we are currently using for ‘committed story points balance’:


–annotations.group=Scope

case when
[Fix Version].CurrentHierarchyMember.Level.Name = “Version”
then
CASE WHEN
NOT isEmpty([Measures].[Story Points created]) THEN
(Sum(Filter([Priority].Members, [Priority].CurrentMember.Name MATCHES ‘High’ OR [Priority].CurrentMember.Name MATCHES ‘Highest’),
[Measures].[Story Points created]) / [Measures].[Story Points created])
END
end


What will be the MDX syntax to move from the Priority field at the user story level [Priority].CurrentMember.Name to commitments at the related epic level?

Thank you in advance for your help,

Patrick

The new custom field measure "Commitments at the epic created” should be used instead of “Story points created” measure.
This will work correctly only if the Epics have the Priority and Version fields, as well as the Commitments at the epic field filled out. If not, then more information is needed to understand how Epic gets the version and priority information from stories.

If this is a question how epic properties could be displayed for stories then you may use functions getmemberByKey() and get() in your calculations. For example, for each story at the issue level you may get related epic properties, like commitments at the epic, using an expression:

[Issue].[Issue].GetMemberByKey(
  [Issue].CurrentHierarchyMember.get('Epic Link')
).Get('Commitments at the epic')
1 Like

Hi Zane, thank you so much for the feedback. Giving this a try and will let you know the outcome.

@zane.baranovska,

We managed to implement this MDX formula thanks to the help of @Elvis and the https://flex.bi/ team.

Here is the code we deployed in case others in the community are interested.

The approach consists in adding a filter for issues at the page level in the report and select only stories that have a parent epic in a committed state, the MDX function is the following one:

Stories with Committed Epics

Aggregate(
Filter(
[Issue].[Issue].Members,
[Measures].[Issue type] = ‘Story’
AND
CASE
WHEN
NOT IsEmpty(
[Issue].[Issue].GetMemberByKey(
[Issue].CurrentHierarchyMember.get(‘Epic Link’)
)
)
THEN
[Issue].[Issue].GetMemberByKey(
[Issue].CurrentHierarchyMember.get(‘Epic Link’)
).get(“Commitment”) MATCHES ‘Committed’
ELSE
1=0
END
)
)

1 Like

Hi Zane,
In a similar way, I tried getting the “Original Estimate” field, at the Epic level:

[Issue].[Issue].GetMemberByKey(
[Issue].CurrentHierarchyMember.get(‘Epic Link’)
).Get(‘Original Estimate’)

But this gives me a NULL/empty value. I am interested in what was entered into this field, at the Epic level. I am not looking for the sum of estimates of stories/children under the Epic.

This is the screenshot of the report I am trying to build:

I want the “Epic Estimate” field to be the value what was entered at the Epic.

Please help me!

Best,
Shyam