Excluding issues with OR logic

Hello,

I’m trying to create fixVersion calculated member with this logic:
let’s say I have fixVersion named PI1, PI2, PI3, …, PI10
and I want to aggregate all issues that contain PI7 but do not contain PI8 OR PI9 OR PI10

how can I do it?

right now I am trying to use something like this:

Aggregate(
Except([Fix Version].[Version].Members,
{
[Fix Version].[XXX].[Unreleased].[PI8],
[Fix Version].[XXX].[Unreleased].[PI9],
[Fix Version].[XXX].[Unreleased].[PI10]
}
))

but it seems to return issues based on logic of AND and not OR between the set’s object, meaning it returns issues with PI8 or issues with PI8 and PI10 but it doesn’t return issues with PI8 and PI9 and PI10 together.

Thanks in advance

Jordan

Hi,

You may try an approach to import CSV dimension from Fix versions that can generate all the possible fix version combinations as separate members.

  1. In advanced settings, add a piece of code to import assigned Fix Version combinations as separate members:
[jira.customfield_fixversions_csv] 
name = 'Fix Versions'
data_type = 'string'
multiple_values = true
split_by = ','
dimension = true
separate_table = true
csv_dimension = true
javascript_code = '''
var versionList = [];
if (issue.fields.fixVersions ) {
  for (var i=0; i < issue.fields.fixVersions.length; i++) {
    var versionName = issue.fields.fixVersions[i].name;
    versionList.push(versionName); 
  }
}
if (versionList){
  issue.fields.customfield_fixversions_csv = _.uniq(versionList).join(",");
}
'''
  1. In import options, select custom field Fix Versions to import as property and as dimension.

  2. After data is improted, a new dimension Fix Versions CSV will be available for your reports. You may use this dimension to filter data in a report.

  3. In Fix Versions CSV dimension, you may define a calculated member which aggregates available fix version combinations except versions PI8,PI9 and PI10 using a formula like this:

Aggregate(
Filter(
[Fix Versions CSV].[Fix Versions CSV].Members,
Not [Fix Versions CSV].CurrentMember.Name matches '.*PI8.*'
AND
Not [Fix Versions CSV].CurrentMember.Name matches '.*PI9.*'
AND
Not [Fix Versions CSV].CurrentMember.Name matches '.*PI10.*'
)
)

Select the calculated member from the “Fix Version CSV” dimension.

Then select the original “Fix Version” dimension as the page filter and select PI7.

Issues created measure should return the number of issues with PI7 but without PI8, PI9 or PI10

Martins / eazyBI