Reports using Jira users


This example shows how to create an issue report by using Jira user groups. Below is an example of issues as reported by different user groups.


To create this report, you need to add a separate calculated member for each Jira user group in the Reporter dimension. Calculated member for jira-developers would be defined as follows:

Aggregate(
  Filter([Reporter].[User].Members,
    CoalesceEmpty([Reporter].CurrentMember.get('Groups'), '') 
	MATCHES '.*(^|,)jira-developers($|,).*'
  )
)

The Aggregate({...}) function will combine all the users together so that they can later be expanded or drilled into to get more details. CoalesceEmpty(..., '') function converts an empty cell value to an empty string. This is necessary to avoid errors for example when issues have been in status "unassigned".

User groups can also be combined by using OR regular expression. For example to get users who are in jira-developers group or jira-test group you can use 

Aggregate(
  Filter([Reporter].[User].Members,
    CoalesceEmpty([Reporter].CurrentMember.get('Groups'), '') 
	MATCHES '.*(^|,)(jira-developers|jira-test)($|,).*'
  )
)

After the calculated members in the Reporter dimension are created, they can be used in rows together with, for example, Measures dimension (as in the above example) or Status dimension in columns.

In a similar way, user groups can be defined for the Assignee dimension.

Aggregate(
  Filter([Assignee].[User].Members,
    CoalesceEmpty([Assignee].CurrentMember.get('Groups'), '') 
    MATCHES '.*(^|,)jira-developers($|,).*'
  )
)

These calculated members can be used to, for example, get a report with issue status by assignee groups as shown below.

See also how to import Jira user groups as separate dimensions from the import options page