Brief summary of this article:
In this article, we gathered examples of useful Advanced Filters for Views and Visual Reports that help to select, hide or highlight data by assigned Portfolios (Projects) and Teams.
Filtering data with Portfolios (Projects) and Teams selector
In general, we recommend to use Portfolios (Projects) and Teams selector to filter out your entities by assigned Portfolios (Projects) and Teams.
However in some sophisticated cases the capabilities of this selector do not fit your needs. One of the cases is multi-level hierarchical list views.
The selector is applied to all levels of hierarchical lists. For example, if you have a list view showing Epic > Feature > User Story hierarchy, and you apply 'Team ABC' selection with no other options, then the view shows you only User Stories assigned to the team, having parent Features assigned to the team, having parent Epics assigned to the team.
Should this happen, you're welcome to try using one of the filters described below. The filters may serve as acceptable workaround solution for missing Hide Empty Lanes in List Views capability.
It is not possible to refer to current context (selected portfolios (projects) and teams) in filters so far. Instead, you have to manually list portfolios (projects) and / or teams one by one in your saved filters.
Filters for work items
Filtering by assigned Portfolios (Projects) and Teams
Project, AssignedTeams and ResponsibleTeam fields of User Stories and other Assignable entities are used in order to filter a work item by the project or teams it is assigned to.
Entity | Filter | Result |
---|---|---|
Assignable | ?Project is 'iOS App' | cards in project "iOS App" |
Assignable | ?Project is not 'iOS App' | cards outside project "iOS App" |
Assignable | ?AssignedTeams.Where(Team is 'Alpha') | cards with team "Alpha" assigned |
Assignable | ?not AssignedTeams.Where(Team is 'Alpha') | cards without team "Alpha" assigned |
Filtering by Responsible Team
Multiple team may be assigned to the same entity but only one of them can be Responsible at the same moment of time. A team is defined as Responsible when:
- Entity is assigned to the Team
- Team workflow is configured
- An entity is in Project workflow state that is mapped to some state in the team workflow of this team
Entity | Filter | Result |
Assignable | ?ResponsibleTeam.Team is 'Alpha' | cards with team "Alpha" set as responsible |
Assignable | ?ResponsibleTeam.Team is not 'Alpha' | cards without team "Alpha" assigned as responsible |
Filtering by teams assigned to nested items
Entity | Filter | Result |
Feature | ?UserStories.Where(Project is 'iOS App') | features with user stories in project "iOS App" |
Feature | ?not UserStories.Where(Project is 'iOS App') | features having no user stories in project "iOS App" |
User Story | ?Tasks.Where(AssignedTeams.Where(Team is 'Alpha')) | user stories with tasks with team "Alpha" assigned |
Feature | ?UserStories.Where(AssignedTeams.Where(Team is 'Alpha')) | features with user stories with team "Alpha" assigned |
User Story | ?Tasks.Where(AssignedTeams.Where(Team is 'Alpha')) | user stories with tasks with team "Alpha" set as responsible |
Feature | ?not UserStories.Where(ResponsibleTeam.Team is 'Alpha') | features having no user stories with team "Alpha" assigned as responsible |
Deep level nesting is also supported.
Filter for Features:
?UserStories.Where(Tasks.Where(AssignedTeams.Where(Team is 'Alpha')))
Filters for Epics:
?Features.Where(UserStories.Where(AssignedTeams.Where(Team is 'Alpha'))) ?Features.Where(UserStories.Where(Tasks.Where(AssignedTeams.Where(Team is 'Alpha'))))
Filtering by the team you are member of
It is possible to display only entities where the assigned or responsible team is a team that you are a member of. Me keyword is used for this purpose.
Entity | Filter | Result |
Assignable | ?AssignedTeams.Where(Team.TeamMembers.Where(User is Me)) | entities assigned to your team |
Assignable | ?ResponsibleTeam.Team.TeamMembers.Where(User is Me) | entities for which your team is responsible at the moment |
Assignable | ?AssignedTeams.Where(Team.TeamMembers.Where(User is Me)) or AssignedUser.Contains(Me) | entities assigned to your team or to you personally |
Support for 'Me' keyword in Visual Reports
In Visual Reports Me keyword represents the user who is creator of the report, and not the logged in user who is viewing the report. At the moment Administrator cannot create single Visual Report for personal team assignments that could be used by multiple team members. Separate reports should be created for each individual team member with filters by Login / Email / First and Last name applied instead of Me.
Filters for portfolios (projects) and teams
Filtering Portfolios (Projects) by related Teams
TeamProjects collection of Project entity is used in order to filter projects by teams assigned to it.
Entity | Filter | Result |
---|---|---|
Project | ?not TeamProjects.Where(Team is 'Alpha') | projects with team "Alpha" assigned |
Project | ?not TeamProjects.Where(Team is 'Beta') | projects with no team "Beta" assigned |
Project | ?UserStories.where(AssignedTeams.Where(Team is 'Alpha')) | projects with user stories assigned to team 'Alpha' |
Filtering Teams by related Portfolios (Projects)
TeamProjects collection of Team entity is used in order to filter teams by projects they are assigned to.
Entity | Filter | Result |
---|---|---|
Team | ?TeamProjects.Where(Project is 'iOS App') | teams with project "iOS App" assigned |
Team | ?not TeamProjects.Where(Project is 'Android App') | teams with no project "Android App" assigned |
Filters for users
ProjectMembers and TeamMembers collections of User entity is used in order to filter teams by projects they are assigned to.
Entity | Filter | Result |
Person | ?ProjectMembers.Where(Project is 'TP3') | People assigned as members to some known Project |
Person | ?ProjectMembers.Where(Project is 'TP3' and Role is 'Developer') | People assigned as Developers to some known Project |
Person | ?TeamMembers.Where(Team is 'Alpha') | People assigned as members to some known Team |
Person | ?TeamMembers.Where(Team is 'Alpha' and Role is 'QA Engineers') | People assigned as QA Engineers to some known Team |
Assignable | ?Assignments.Where(GeneralUser.ProjectMembers.Where(Project is 'TP3')) | Work assigned to members of some known Project |
Assignable | ?Assignments.Where(GeneralUser.TeamMembers.Where(Team is 'Alpha')) | Work assigned to members of some known Team |
Person | ?ProjectMembers.Where(Project.ProjectMembers.Where(User is Me and Role is 'Project Manager')) | People assigned to Projects where current user (you) have Project Manager role |
Person | ?TeamMembers.Where(Team.TeamMembers.Where(User is Me and Role is 'Scrum Master')) | People assigned to Teams where current user (you) have Scrum Master role |
Still have a question?
We're here to help! Just contact our friendly support team.