Identifying missing teams (comparing two strings)

Hi Everyone,

I have a scenario where we are using some epics to track compliance intent, we have one feature created where many teams are linking their work to. The problem is that we need to know which are the teams that have yet created their stories so it can be easier to follow up.
My current approach is using a Label per team in an epic level, convert it to a string, and later, compare it to a string that pulls all the teams that have created stories underneath that epic.

I can successfully compare them and get a Yes/No answer if the string matches, however, what I’m missing is displaying who are the ones that are missing. I was able to go through this community and re-use some code to my needs but I was not able to find this same scenario, so any help will be really appreciated!

Converting epic labels into one string:

Generate(
– iterates through all labels which are assigned to issues
Filter(
[Label].[Label].Members,
[Measures].[Issues created] > 0
AND
[Label].CurrentMember.Name <> “(none)”
),
[Label].CurrentMember.Name,
', ’
)

Getting the Team field from all child stories
Generate(
Filter(
Descendants([Team(TIR Official)].CurrentMember, [Reporter].[user]),
(
[Measures].[Issues created],
[Time].CurrentHierarchyMember.DefaultMember
)>0
AND
[Team(TIR Official)].CurrentMember.Name <> “(none)”),
[Team(TIR Official)].CurrentMember.Name,’, ’
)

Comparing Strings together to a YES/No Match
CASE
WHEN
[Measures].[Affected Teams (Labels)] MATCHES [Measures].[Teams with stories]
THEN
“No”
ELSE
“Yes”
END

Identifying missing teams
??? (this is where I need help :slight_smile: )

Hi @Jorge,

I am afraid MDX alone won’t cut it to extract the missing team when comparing dimension members from two different dimensions. The intersect() function could come in handy if both values were from the same dimension.

You could try to accomplish your requirement with scripted fields in Jira or JavaScript calculated custom fields in eazyBI. Unfortunately, I don’t have examples specific to your use case.

Best,
Roberts // support@eazybi.com

Hi @Jorge,

There might be a chance to accomplish this with a calculated measure, after all. See an example below:

The issue property “Issue fix versions” displays the current Issue dimension level member versions - Epic issue versions. The calculated measure “Epic issue Versions” displays the versions in issues below the Epic. It is quite similar to the one you used to get the Team field values from Epic children.

Finally, the “Fix version missing in Epic issues” displays the versions in Epics not found in child issues. See the formula below:

Generate(
  Filter(
    [Fix Version].[Version].Members,
    [Fix Version].CurrentMember.Name MATCHES 
    Replace(
      CoalesceEmpty([Measures].[Issue fix versions], ""),
      ",","|"
    )
    AND
    NOT [Fix Version].CurrentMember.Name MATCHES
    Replace(
      CoalesceEmpty([Measures].[Epic Issue Versions], ""),
    ",","|"
    )
    AND
    [Measures].[Issues created] > 0
  ), [Fix Version].CurrentMember.Name, ","
)

Try adjusting the formula to match your use case.

Best,
Roberts // support@eazybi.com