Filtering

Filters can be used in many places in ftrack to narrow down the view of the data you are looking at. There are different ways to filter depending on where you are and what you are trying to do.

Using the filter panel

You can use the filter panel to quickly filter any spreadsheet or view where the filter panel icon appears.

The filters panel is separated into two sections: filters and advanced filters. A filter can quickly be added to the panel from the Add filter menu, while an advanced filter can be set up in the Advanced filter settings dialog and then added to the filter panel. Multiple filters can be combined into an advanced filter with either and or any statements between each filter.

Filters present in the filter panel upon saving of a view are automatically added to the spreadsheet configuration and saved into the view to give you the ability to get back to the exactly same spreadsheet state later.

The filter panel toggle button indicates with a blue background color when having any number of filters active which affects the spreadsheet.

The spreadsheet updates automatically by default when anything has changed in the filters panel. If you don’t want this to happen you can turn this off by clicking the small arrow to the right on the Apply button and unchecking Apply filters automatically. When disabled you can click the Apply button to manually refresh the spreadsheet.

Adding a filter

To add a filter, click the Add filter button in the top of the filter panel and select an attribute to filter by. Find the filter in the filter panel and set it up as you wish. The spreadsheet is instantly updated to reflect the settings in the filter panel as soon as you change any setting.

Some filters offers an ability to filter beyond the pre-defined settings. For instance, with the Assignee filter you can filter by any user and the date filters offers filters by “Today” and “Next week” but also any custom date.

Removing a filter

To remove a filter from the filter panel, click the circled cross icon to the right in the filter header. The spreadsheet is instantly updated as soon as you click the icon.

Invert a filter

If you want to invert the result of a filter you can use the invert button to the right in the filter header.

Disable a filter

If you want to temporarily disable, but not remove a filter you can use the disable button to the right in the filter header.

Setting up an advanced filter

You can set up and manage advanced filters by clicking the cog icon in the top of the filter panel and selecting Advanced filters.

The advanced filter settings dialog comprises of two sections:

  • all filters
  • any filters

Filters added to the all category must all match and any filter added to the any category must match. Between the categories is an AND statement.

When you are satisfied with the settings, click Done and the spreadsheet will refresh instantly.

Note

The filters that can be added to the dialog works the same way as the filters that can be added in the filter panel.

Managing an advanced filter

To edit an advanced filter, click the Edit link to the right in the Advanced filters header.

To remove an advanced filter, click the circled cross icon to the right in the Advanced filters header.

Resetting the filter panel

In case you got too many filters added to the panel and want to start over with the default filters, click the cog icon and select Reset default.

Quick filtering

If you want to find an item quickly by any of the main attributes (see the list below), you can filter the spreadsheet instantly by typing into the Type to filter text field.

Depending on spreadsheet, the available attributes to filter by are:

tasks spreadsheet

  • task name
  • task description

Versions spreadsheet

  • version name
  • version type
  • version publisher

Lists spreadsheet

  • list name
  • created by user

Global filters (scopes)

Scopes work as a global filter in ftrack. They allow quickly switching focus and also narrowing or expanding your view with a few clicks. For example, they can be used if you have work divided over several sites around the world and want a quick way to view just the work being done at certain sites before zooming out to see the big picture.

Adding scopes

To add a new scope, go to System settings ‣ Workflow ‣ Scope. Click the Create button and enter a name.

Adding entities to scopes

Setting scopes on entities can be done either from the sidebar or from a spreadsheet. To set it from a spreadsheet - Go to the tasks spreadsheet on a project and add the Scope attribute from Gear menu ‣ Attributes ‣ Task ‣ Scope.

Once added, select the entities that you want to add scopes to and double click the Scope attribute.

Note

Scopes can only be added to one object type at the time.

To set a scope from the side bar - Open the sidebar for a specific entity and click the scope attribute.

Filtering on scopes

To filter on Scopes, select one or more scopes from User menu‣ Scope in the top right corner.

When one or more scopes is selected, views in ftrack will update to only show entities in the selected scopes. A notification bar is shown across the top of the screen whenever a global filter is active.

Note

At the moment scopes are only supported by the tasks spreadsheet and the versions spreadsheet, the Project menu and the left tree navigation. In the future they will also be able to affect other views in the system including custom dashboards.

Filtering using API like queries

In Configuring advanced settings it is possible to enable advanced filter query to get access to API like filters in the Versions / Tasks Spreadsheet and the Latest versions widget. This feature is geared towards advanced users with programming experience that have good knowledge of the ftrack API query language.

The query syntax is identical to the filter part of the query. So anything after the where keyword can be used:

select id from Task where .

Let us now have a look at a few examples of what can be done in the Tasks Spreadsheet, Add filter ‣ Task ‣ Query. Let us start with something easy and find all tasks named Animation:

name is Animation

Here we use a relation to filter out all tasks that have a status that is Approved:

status.name is Approved

Now let us try finding all Shots that have notes from our colleague John. Use Add filter ‣ Shot ‣ Query to add the query field for Shot:

notes any (author.first_name is John)

If we use the query filter in the Versions spreadsheet, Add filter ‣ Version ‣ Query we can find versions that have some metadata attached to them:

metadata any (key is foo and value is bar)

Or versions that have components in our custom Location named studio.foo:

components.component_locations.location.name is "studio.foo"

Any issues with syntax, usage of relations or attributes in the Query will be presented as feedback below the query input field.

Note

Take care when filtering based on relations. There are currently no restrictions on what relations are available and certain queries on nested data might cause performance problems.

Using variables

Filters also supports a set of predefined variables for dynamic usage:
CURRENT_USER_ID
User id of the current user.
CURRENT_USERNAME
Username of the current user.
THIS_MONTH
First date of this month.
THIS_WEEK
First date of this week.
NEXT_MONTH
First date of next month.
NEXT_WEEK
First date of next week.
TOMORROW
Tomorrow’s date.
TODAY
Today’s date.
NOW
Date and time right now.

Example of how to filter out all tasks that has notes added this week:

notes.date > "{THIS_WEEK}" and notes.user_id != "{CURRENT_USER_ID}"

Note

A variable must be inside quotation marks, see the example above. If a variable is misspelled or does not exist it will be silently ignored.

Did this answer your question?