thanks for taking time to read this post.
I noticed that information on a FixVersion can be reached via multiple ways. Let’s take status as an example.
One is using the original dimension
[Fix Version].['Project name'].[Unreleased].['Version name'] .Get('Status')
Which return the value that I expect.
However, I want to make my query more robust, being independent if a version is released or not. I would like to handle this criteria in the measures with logical expressions.
So I figured I would use the FixVersion.By name dimension.
[Fix Version.By name].['Version name'] .Get('Status')
But I experience it returns a different result, so the logic I build on it fails.
Unfortunately there is no console or sandbox where I could see what exactly this returns, but when I compare an Unreleased version in a logical expression with = ‘Unreleased’ it fails.
Is my understanding wrong? Should these two not return the same?
Fix version properties, like identifier, start and end dates, status, are assigned to the lowest hierarchy level members identifying a specific Fix Version.
For the default and “By status” hierarchy, all versions are grouped by projects first, and the lowest level is named “Version”. The properties are assigned to Version level members:
The “By name” hierarchy is built differently to help sort out situations when several projects share the same version name. The versions are grouped first by name and only then by projects; thus the lowest level indicating a particular version is “Project”, and all properties are assigned to Project level members:
[Fix Version.By name].[Version name].[Project name].Get('Status')
If you would like to use Fix Versions by name on report rows, then you might want to use an expression that goes one level deeper (to Project) and get the property from it:
[Fix Version.By name].[Name].CurrentMember.FirstChild.Get('Status')
Zane / support@eazyBI.com
thanks for the reply, it all makes sense now. You’re the best!