Hi jbuchhol,
Welcome to the eazyBI community.
This will be a longer answer and is currently based on the assumption that you want to filter Epics that currently are “In Progress” and that you would want the “Drill through issue” to open a list of epics.
There are several steps:
(1) Create dimension members that create aggregates for later calculations. Please double-check if all status names are correct.
(1.1) To exclude epics from child calculations create [Issue Type].[Except Epics]
Aggregate( Except( [Issue Type].[Issue Type].Members, {[Issue Type].[Epic]} ) )
1.2) To group In Dev statuses create [Transition Status].[In Dev]:
Aggregate(
{[Transition Status].[Open]
,[Transition Status].[In Progress]}
)
1.3) To group all child statuses that are in Dev and ready for QA create [Transition Status].[Not Ready to ship]:
Aggregate(
{[Transition Status].[Open]
,[Transition Status].[In Progress]
,[Transition Status].[Ready for QA]}
)
(2) Define a new report specific calculated measure “Epics In Dev” that uses newly created aggregated dimension members [Transition Status].[In Dev] and [Issue Type].[Except Epic] to count epics with at least one child in dev. If you choose different names in step 1, then the names should be adjusted in this formula as well:
Count(
Filter(
Descendants([Issue].CurrentHierarchyMember,[Issue].[Issue]),
[Measures].[Issue type] = "Epic"
AND
[Measures].[Issue status]= "In Progress"
AND
-- at least 1 child "In Dev":
([Measures].[Issues history]
,[Issue.Epic].[Epic].GetMemberByKey([Issue].CurrentHierarchyMember.key)
,[Transition Status].[In Dev]
,[Issue Type].[Except Epic]
,[Issue].DefaultMember)>0
)
)
(3) Formula for “Epics in QA”:
Count(
Filter(
Descendants([Issue].CurrentHierarchyMember,[Issue].[Issue]),
[Measures].[Issue type] = "Epic"
AND
[Measures].[Issue status]= "In Progress"
AND
-- no child "In Dev":
IsEmpty(NonZero(([Measures].[Issues history]
,[Issue.Epic].[Epic].GetMemberByKey([Issue].CurrentHierarchyMember.key)
,[Transition Status].[In Dev]
,[Issue Type].[Except Epic]
,[Issue].DefaultMember)))
AND
-- at least 1 child in Ready for QA:
([Measures].[Issues history]
,[Issue.Epic].[Epic].GetMemberByKey([Issue].CurrentHierarchyMember.key)
,[Transition Status].[Ready for QA]
,[Issue Type].[Except Epic]
,[Issue].DefaultMember)>0
)
)
(4) Formula for “Epics Ready to Ship”:
Use the same formula as for “Epics in QA”, but in IsEmpty condition replace [Transition Status].[In Dev] with [Transition Status].[Not Ready to ship] (created in step 1.3)
Note that “Issues history” field will look at issues at the end of the Time period, so these formulas will show epic counts at the end of each month.
Let me know if that works for you or if you have more questions.
Kindly,
Ilze