Notion VIP Logo
BulletproofA-to-ZConsultingThe Streamline
0
Subscribe

Notion Explained: Relations & Rollups

Notion's distinctive advantage is its unique integration of databases and documents. The Relation and Rollup properties make that feature even more powerful. They're part of any sophisticated workspace and the cornerstone of the Bulletproof methodology.

What are Relations?

The Relation property allows you to connect database items. When you create a Relation, you link it to a database. That allows you to choose items from that linked database to populate the property, somewhat like a Select property. Typically, you'll link Relations to other databases, but sometimes you'll choose the same database.

Related database items often represent parent-child relationships, where one item—the "parent"—is the classification, or grouping, of its related items—its "children."

For example, a Companies database often relates to a Contacts database. For each contact, you can choose the employer from Companies. Those contacts are automatically added to the reciprocal Relation property in Companies:

Related Notion Databases

Here are some other parent-child relationships:

The relationship can also be non-hierarchical:

Why use Relations?

Often used in place of Select and Text properties, Relations offer expansive benefits. These are among the most notable:

Keep your information accurate and consistent.

By choosing a value from a central repository (the linked database), you ensure it's entered the same way everywhere in your workspace.

Consider our Companies and Contacts databases. With a Text property, you're inclined to enter the same company in various ways, such as "Walmart" vs. "Wal-Mart." Among other consequences, this disrupts sorting and filtering.

With a Relation, you choose Walmart from the centralized Companies database:

Notion Relations vs. Text Properties

Reduce redundancy.

Choosing from a central collection also eliminates the need to type inputs and create duplicate Select properties.

In addition to the Contacts database, many other databases are likely to reference a company. For example, an Expenses database will have a Vendor property. Rather than creating identical Select properties in Contacts and Expenses, you can relate them to the Companies database, thus retaining a central repository:

Notion Relations vs. Select Properties

Automate filtered views.

You'll often want to filter "child" databases by their "parents." For example, you'll want to view players by team and tasks by project. Using Relations and database templates, you can automatically filter children within their parents.

In our Companies database, the template can filter Contacts to show only the employees of the respective company:

Filtered Notion Database within Database

Summarize information.

The Rollup property allows you to aggregate information from related items. You can then perform calculations on that information to reveal useful insights.

A common parent-child relationship is Expense Categories and Expenses. A Rollup can total the expenses related to each category:

Notion Rollup Property

Streamline navigation.

Easily click items within a Relation property to open them as pages.

When viewing a company, for example, you can easily open an employee's profile:

Streamlined Navigation in Notion

How to implement Relations.

Relate items in separate databases.

Most often, you'll establish relations between separate databases:

Once in place, you can use that Relation property to choose items from the other database.

Relate items within the same database.

Less frequently, you'll relate items to other items in the same database. A common example is dependent tasks, where Task B depends on Task A. The process for creating these Relations is the same; you simply choose the same database.

When doing so, you're given the option to form a two-way relationship ("sync both ways") or a one-way relationship ("no syncing"). A two-way relationship creates a reciprocal Relation property within the same database, while a one-way relationship keeps only one Relation property. For parent-child relationships, you'll typically want the reciprocity. They're still helpful, but not always essential, for non-hierarchical relationships, like dependent tasks.

Extend Relations with Rollups.

Rollups extend Relations. They retrieve and aggregate other properties from related items, then perform insightful calculations on those values.

Revisiting our Expenses and Expense Categories databases, each category relates to multiple expenses, then a Rollup sums the Total property of those expense:

Rollup Expense Totals in Notion

Rollups can perform a variety of calculations on the values they retrieve. Some of those calculations are specific to the value type, such as numbers, dates and checkboxes. Here are the calculations used most frequently:

Universal
Numbers
Dates
Checkboxes

Create a Rollup.

Create a Rollup in Notion

Because Rollups retrieve information from related items, they require an existing Relation property. Once you have that in place:

Additional Rollup examples.

Average ages.

In our Companies example, a Rollup can calculate the average age of employees (related contacts):

Average Ages in Notion with Rollup

The Rollup is configured like so:

Calculate progress.

When a Rollup retrieves Checkboxes, it can calculate the percent checked. Therefore, a project can display its progress as the percent of completed tasks:

Calculate Project Progress in Notion with a Rollup

Within our Projects database, a Rollup is configured like so:


Questions? Tweet @WilliamNutt.

All-in on
the all-in-one
productivity app.
Subscribe →