Filer Time in Fix Version "by name"

To identify whether the Time dimension is within a Release I can use the
[Time within Fix Version]
CASE WHEN
DateBetween([Time].CurrentHierarchyMember.StartDate,
DateAddDays([Fix Version].CurrentHierarchyMember.get(‘Start date’), -1),
[Fix Version].CurrentHierarchyMember.get(‘Release date’)
)
THEN 1
END

However I need to have the selection of release by name so it is regardless of whether it is released or not.

How do I create a version of this so it is Name specific as it appears the selection needs the Project to be selected as well, but I don’t want the user to have to select this as the Page level would only show the name of the project not the release it is filtering.
image

Hi Rob,

There can be several Projects having a version with the same name. In your example, you are only showing one version that has the Time within the selected period. How would you like to treat cases when the version name is the same, but there is a Project that has the version time within the selected period, but the others don’t?

Lauma / support@eazybi.com

We’re trying to solve the same problem, however we have the “Fix Version” as a page view. We want to limit the span of a timeline to the minimum value of all the release start dates and maximum value of the release end dates. Right now our “release window” measure works when a single fix version is selected, but we would like this to apply to multiple fix versions so that our chart can be re-used by multiple teams.

Our current measure is calculated by
Cache(
CASE WHEN
DateBetween(
[Time].CurrentHierarchyMember.StartDate,
DateAddDays([Fix Version].CurrentHierarchyMember.get(“Start date”), -74),
DateAddDays([Fix Version].CurrentHierarchyMember.get(“Release date”), +7
4*3)
)
THEN 1
END
)

Hi @lennoncork!

Here is a generic solution to get the Time between the first start date and last release date (returning 1 for the period between the dates) for either Fix Version default or By Name hierarchies, no matter if single or multiple versions are selected

CASE WHEN
 DateBetween([Time].CurrentHierarchyMember.StartDate,
 Order( 
    Filter(
      Generate( -- here we generate a set of Fix Versions either from Fix Version hierarchy or aggregated Page selection
        { [Fix Version].CurrentHierarchyMember,
        ChildrenSet([Fix Version].CurrentHierarchyMember) },
        -- The lowest level in Fix Version dimension is Version or project in hierarchy by name
        IIF([Fix Version].CurrentHierarchy.Name = "Fix Version.By name",
         Descendants([Fix Version].CurrentHierarchyMember,[Fix Version.By name].[Project]),       
         Descendants([Fix Version].CurrentHierarchyMember,[Fix version].CurrentHierarchy.Levels('Version'))
        )),  
      NOT isempty( [Fix Version].CurrentHierarchyMember.get('Start date'))), -- filter only those versions with Start Date
  [Fix Version].CurrentHierarchyMember.get('Start date'), BASC) -- order them to have the lowest date first
  .Item(0).get('Start date'), -- and get this start date
 Order( 
    Filter(
      Generate( -- Similar for getting the last release date
        { [Fix Version].CurrentHierarchyMember,
        ChildrenSet([Fix Version].CurrentHierarchyMember) },
        IIF([Fix Version].CurrentHierarchy.Name = "Fix Version.By name",
         Descendants([Fix Version].CurrentHierarchyMember,[Fix Version.By name].[Project]),       
         Descendants([Fix Version].CurrentHierarchyMember,[Fix version].CurrentHierarchy.Levels('Version'))
        )),  
      NOT isempty( [Fix Version].CurrentHierarchyMember.get('Release date'))), 
  [Fix Version].CurrentHierarchyMember.get('Release date'), BDESC)
  .Item(0).get('Release date'))
THEN 1
END

Lauma / support@eazybi.com

1 Like

Thank you so much, that worked perfectly!

1 Like