Notion's ability to
Relate items across databases is one of its most powerful features. Among other benefits, this "relational data structure" allows you to form parent-child relationships, where "children" can be displayed within their "parents" as filtered databases. For example, a project can display its related tasks, and a company can display its employees.
Rollup property is a robust extension of
Relations. By retrieving property values from related items, you can automatically populate content and summarize information. For example, you can automatically categorize people based on their employers; you can total expenses by month, year, category and other classifications; and you can calculate the progress of a project as the percentage of its completed tasks.
This guide expands on these examples to demonstrate the vast utility of the
Rollup property. For your reference as you practice, you can access the sample databases as a template on Notion Market.
Rollups are used in conjunction with
Relation properties. Consider related Databases A and B. When Item A1 is related to Items B1 and B2, a
Rollup property for Item A1 can retrieve and aggregate the values of a specified property for Items B1 and B2.
For example, an Expenses database might relate to an Expense Categories database. Each Expense has a Total and relates to an Expense Category. For each Expense Category, a
Rollup property can sum the Totals of all related Expenses.
When configuring a
Rollup, you'll specify three settings:
Relationproperty from which to "roll up" another property.
Show unique values.
For the expenses example, here are the settings for the Total property of the Expense Categories database:
The fundamental principal of my Bulletproof methodology is to centralize information in master databases. Typically, that includes master databases for Companies and People, which use a
Relation property to map people to their employers. Companies are the "parent"; people are the "children."
Select property, Companies are often categorized by relationship, such as "Vendor" or "Client." For the sake of filtering, People can inherit the category of their Company via a
Conversely, Companies can retrieve properties from their related People, then perform calculations on those properties. If the People database has an Age (
number) property, a
Rollup in the Companies database can retrieve and average the Ages for each Company's employees:
In many cases, you'll want to list the values of "rolled up" properties but remove duplicates. As of recently,
Show unique values.
If the People database includes a
Multi-Select property for Languages, a
Rollup within the Companies database can retrieve all Languages for each Company's employees, and display each language only once:
Show unique values
Also common in Bulletproof workspaces is an Expenses database, with classification databases, such as Years, Months and Expense Categories. Within the classification databases,
Rollup properties can summarize Expenses, such as total Expenses for June 2020 or within the Travel category.
This requires a
Relation between each Expense and its corresponding classifications.
In each classification database, you can then configure a
Rollup to calculate the sum of all related Expenses.
Here are the
You can automatically populate an Expense's Year when choosing its Month. By relating each Month to a Year, a
Rollup property can retrieve the Year of an Expense's Month.
Start with the relationship between Months and Years.
Within the Expenses database, configure a
Rollup to retrieve the Year of the related Month.
As with most Notion features,
Rollups are best learned through practical experience. As you adapt the template to your own needs, you'll inevitably encounter occasional hurdles, such as the inability to "roll up" a
Rollup. For most, there's a workaround, which you can discover through tinkering or by asking me on Twitter. Needless to say, I'm thrilled to help guide your Notion journey.