Here I added an updated formula to check if version in period is released or not. For released version I applied the same split of issues created till version release date. I added a new cycle to pull in unreleased versions with past date or date in period (DateBeforePeriodEnd) and I am pulling all issues created in unresolved versions in those periods.
Sum(
Descendants([Affects Version].CurrentMember, [Affects Version].[Version]),
CASE WHEN
-- for version released in period we will split issues created
DateInPeriod(
[Measures].[Version release date],
[Time].CurrentHierarchyMember
)
AND
[Affects Version].CurrentHierarchyMember.Get('Status') <> "Unreleased"
THEN
SUM(
Filter(
-- get all days in selected period
Generate(
{ [Time].CurrentHierarchyMember,
ChildrenSet([Time].CurrentHierarchyMember) },
Descendants([Time].CurrentHierarchyMember,[Time].CurrentHierarchy.Levels("Day"))),
-- filter by days till version release:
DateCompare(
[Time].CurrentHierarchyMember.StartDate,
[Measures].[Version release date]
) <=0),
[Measures].[Defects created])
WHEN
-- for unreleased version with released date in past or in this period pick all created issues
DateBeforePeriodEnd(
[Measures].[Version release date],
[Time].CurrentHierarchyMember
)
AND
[Affects Version].CurrentHierarchyMember.Get('Status') = "Unreleased"
THEN NonZero([Measures].[Defects created])
WHEN
-- for version release date still to come
DateAfterPeriodEnd(
[Measures].[Version release date],
[Time].CurrentHierarchyMember
)
THEN NonZero([Measures].[Defects created])
END
)
I also made a small change and used function DateAfterPeriodEnd instead of DateCompare (used in the formula shared with you in previous answer). This is easier to use and will pick up the same period correctly. We added updates for Time functions in latest versions to work with Time calculated member and multiple time selections.
Daina / support@eazybi.com