How to Use Notion Relation Property in Database Filter Predicate
🔍 WiseChecker

How to Use Notion Relation Property in Database Filter Predicate

When you link two Notion databases using a Relation property, you often need to filter the source database based on a value from the related database. Notion’s filter system allows you to write predicates that check properties inside the related row. This article explains how to build a filter predicate that targets a Relation property, including the syntax for single and multi-select relations. You will learn the exact steps to configure the filter in both the database view and a linked database view.

Key Takeaways: Filtering Notion Databases by Relation Property

  • Database view filter > Add a filter > Select the relation property: Choose the relation column, then select a property from the related database to build the predicate.
  • Filter condition “contains” or “does not contain”: Use these for multi-select relation properties to check if the related row includes a specific value.
  • Linked database view > Filter > Relation property: Apply the same predicate in a linked database to show only rows whose related row meets a condition.

ADVERTISEMENT

What a Relation Property Filter Predicate Does

A Relation property in Notion creates a link between two databases. When you filter by a Relation property, the filter predicate does not check the relation itself. Instead, it checks a property from the related database. For example, if you have a Tasks database related to a Projects database, you can filter Tasks to show only tasks where the related Project has a Status of “Active.”

Notion supports two types of relation filters: single relation (each row links to one related row) and multi-relation (each row links to multiple related rows). The filter conditions available depend on the property type of the related database column you choose. For text properties you can use “contains,” “is,” “is not,” and so on. For select properties you can use “is,” “is not,” “contains,” or “does not contain.”

To use a Relation property in a filter predicate, you must have at least one row in the source database that is linked to a row in the related database. If no relation exists, the filter will show no results because the predicate has nothing to evaluate.

Steps to Add a Relation Property Filter in a Database View

These steps apply to a standard database view inside a Notion page. The same method works for table, board, gallery, and list views.

  1. Open the database view
    Navigate to the Notion page that contains the database you want to filter. Click on the database to activate its view.
  2. Click the “Filter” button
    In the top-right area of the database toolbar, click the filter icon (funnel shape) or the “Filter” text. A filter panel appears.
  3. Add a filter
    Click “Add a filter” in the filter panel. A new filter row appears.
  4. Select the Relation property
    From the first dropdown in the filter row, choose the name of the Relation property that links to the target database. For example, “Related Project.”
  5. Choose a property from the related database
    After selecting the relation, a second dropdown appears labeled “Where.” Click it and select a property from the related database. For example, “Status.”
  6. Set the condition and value
    Select the filter condition (e.g., “is,” “contains,” “is not”) and enter or choose the value. For a select property, you pick an option from the list. For text, you type a string.
  7. Apply the filter
    Press Enter or click outside the filter panel. The database view updates to show only rows that meet the predicate.

Example: Filter Tasks by Related Project Status

Assume you have a Tasks database with a Relation property called “Project” that links to a Projects database. The Projects database has a Select property called “Status” with options “Active,” “On Hold,” and “Completed.” To show only tasks whose related project is Active:

  1. Add a filter
    Click “Add a filter” in the Tasks database view.
  2. Select “Project” as the property
    From the first dropdown, choose “Project.”
  3. Select “Status” as the related property
    From the “Where” dropdown, choose “Status.”
  4. Set condition to “is” and value to “Active”
    Choose “is” from the condition dropdown, then click the value field and select “Active.”
  5. Confirm the filter
    The tasks list now shows only tasks linked to a project with Status = Active.

ADVERTISEMENT

Steps to Use Relation Filter in a Linked Database View

A linked database view is a copy of a database that appears on another page. Filters applied to the linked view do not affect the original database. You can use the same relation predicate technique.

  1. Open the linked database view
    Navigate to the page where the linked database view exists. Click on the view to select it.
  2. Click the view name
    In the top-left of the linked database, click the current view name (e.g., “Table view”). A dropdown menu opens.
  3. Select “Filter” from the menu
    Hover over “Filter” in the dropdown, then click “Add a filter.” Alternatively, click the filter icon in the toolbar.
  4. Repeat steps 4 through 7 from the previous section
    Select the Relation property, choose a related property, set the condition, and apply.

If the Relation Filter Does Not Work as Expected

Filter shows no results when it should

This usually happens when the related property you selected has no value in the related row. For example, if you filter by a text property “Description” and the related project’s Description is empty, the filter excludes that row. Check that the related property contains the value you expect. Also verify that the relation link exists — open the source row and confirm the relation cell shows the linked page name.

Filter condition “contains” does not work with single relation

For a single relation property, the filter treats the related row as a single object. The “contains” condition is meant for multi-select relation properties. If you use “contains” on a single relation, Notion may return unexpected results or no results. Use “is” or “is not” for single relation filters. For multi-relation, use “contains” to check if any of the linked rows match the condition.

Cannot select the relation property in the filter dropdown

This occurs if the database does not have a Relation property defined. Open the database properties panel, click “Add a property,” and create a Relation property that links to the target database. After adding the relation, the property appears in the filter dropdown.

Single Relation vs Multi-Relation Filtering Compared

Item Single Relation Multi-Relation
Relation type One linked row per source row Multiple linked rows per source row
Available condition is, is not is, is not, contains, does not contain
Filter behavior Evaluates the single related row’s property Returns true if any linked row matches the condition (contains) or if none match (does not contain)
Use case Each task belongs to one project Each task can belong to multiple projects
Performance Fast, single lookup Slightly slower due to multiple lookups

You can now filter any Notion database using a Relation property predicate. Start by adding a simple filter with “is” on a single relation to confirm the connection works. After that, experiment with multi-relation filters using “contains” to narrow down results by multiple linked rows. As an advanced tip, combine a relation filter with a formula property in the related database to create dynamic conditions, such as filtering tasks where the related project’s deadline is within the next seven days.

ADVERTISEMENT