Hello,
I’m trying to build custom report which would should following metrics for each sprint:
- Committed Story Points
- Added Story Points
- Resolved Story Points from Original Commitment
- Resolved Story Points from Added Commitment
Sample chart that I want to get out of EazyBI:
I’m struggling with calculated measures as EazyBI doesn’t offer those out-of-the-box:
-
Committed Story Points - I’m using [Measures].[Sprint Story Points committed] which suits my needs.
-
Added Story Points - [Measure].[Sprint Story Points added] doesn’t seem to return all actual Stories that are added to a specific sprint. Some stories fall under other measures like [Sprint Story Points change] or [Sprint commitment changes] and I can’t get a full list of all Stories that were added to a sprint outside original commitment. I have defined a new calculated measure which iterates through all issues and sums Story points in Sprint that are not from Original commitment:
NonZero(Sum(
– set of issues added in a sprint after it was started
Filter(
Descendants([Issue].CurrentMember,[Issue].[Issue]),
– filter conditions for issues
IsEmpty([Measures].[Sprint issues committed])
AND [Measures].[Sprint Story Points at closing] > 0
),
– sum up story points
([Measures].[Story Points change],
[Sprint].DefaultMember)
)) -
Resolved Story Points from Original Commitment - there’s no such measure in EazyBI to filter resolved Stories from original commitment. I’ve created a calculated measure for that:
NonZero(Sum(
– set of issues committed AND resolved in a sprint
Filter(
Descendants([Issue].CurrentMember,[Issue].[Issue]),
– filter conditions for issues
[Measures].[Sprint issues committed] > 0
AND [Measures].[Story Points resolved] > 0
),
– sum up story points
([Measures].[Story Points resolved],
[Sprint].DefaultMember)
)) -
Resolved Story Points from Added Commitment - again, no such measure to filter resolved Stories from added commitment. I’ve created a calculated measure for that:
NonZero(Sum(
– set of issues added AND resolved in a sprint
Filter(
Descendants([Issue].CurrentMember,[Issue].[Issue]),
– filter conditions for issues
IsEmpty([Measures].[Sprint issues committed])
AND [Measures].[Story Points resolved] > 0
),
– sum up story points
([Measures].[Story Points resolved],
[Sprint].DefaultMember)
))
These newly created calculated measures seem to do what I need in one sprint context when I have Issue dimension in Rows and Sprint dimension in Pages. But once I start using Sprints as Rows it fails to return results for each Sprint. Usually queries take too long to process.
Can someone help me figure out what I am doing wrong and how to optimize these measures, so that they perform better.
Thank you in advance.