You want to summarize data from a related database in Notion without manually copying values. Rollup properties let you pull a single value from a related database and apply an aggregation function such as Earliest, Latest, or Count. This article explains how to set up a Rollup property and configure these three aggregation modes. By the end, you will be able to build summary fields that automatically update when your source data changes.
Key Takeaways: Using Rollup Aggregation in Notion
- Rollup property via Relation: Requires an existing Relation between two databases before you can add a Rollup column.
- Earliest: Returns the first value from the related records based on the property you choose, sorted in ascending order.
- Latest: Returns the last value from the related records, sorted in ascending order.
- Count: Shows the number of related records, ignoring the selected property value but counting each linked row.
What a Rollup Property Does and What You Need Before Using It
A Rollup property in Notion reads a property from a related database and then applies an aggregation function to produce a single result. The aggregation can be a simple count, a date or number summary, or a text extraction. The three most commonly used aggregation functions are Earliest, Latest, and Count.
Before you can create a Rollup property, you must have a Relation property linking the current database to a target database. The Relation can be one-way or two-way, but it must exist on the table where you intend to place the Rollup. Each record in the source database can be linked to one or more records in the target database. The Rollup property then reads data from all linked records in the target database and aggregates it.
Rollup properties do not store static data. They update automatically whenever the source data in the related database changes or when the Relation links are modified. This makes them suitable for dashboards, project trackers, and inventory sheets where you need a live summary.
How Earliest Aggregation Works
Earliest sorts all related records by the selected property in ascending order and returns the first value. For date properties, Earliest returns the oldest date. For text properties, it returns the alphabetically first value. For number properties, it returns the smallest number.
How Latest Aggregation Works
Latest behaves the opposite way. It sorts the related records by the selected property in ascending order and returns the last value. For dates, Latest returns the most recent date. For text, it returns the alphabetically last value. For numbers, it returns the largest number.
How Count Aggregation Works
Count ignores the actual value of the selected property. It simply counts the number of related records linked through the Relation property. If a related record exists but the selected property is empty, that record is still counted. Count is useful for tracking how many items are linked, such as the number of tasks in a project.
Steps to Add a Rollup Property and Configure Earliest, Latest, or Count
These instructions assume you already have two databases with a Relation property connecting them. If you do not have a Relation yet, add one first by clicking the plus sign on the current database, selecting Relation, and choosing the target database.
- Add a Rollup column
Open your source database. Click the plus sign in the last column header. From the property type list, select Rollup. - Choose the Relation
In the Rollup configuration panel, click the Relation field and select the Relation property that links to your target database. Only existing Relation properties appear here. - Select a property from the target database
Click the Property field and choose the column whose values you want to aggregate. This can be a text, number, date, or select property. The aggregation function will operate on this property. - Set the aggregation function
Click the Calculate field. From the dropdown, select Earliest, Latest, or Count. The Rollup column immediately displays the aggregated value for each row. - Test with sample data
Add a few related records in the target database. Observe how the Rollup value changes when you modify the selected property in those related records or when you change the Relation links.
The Rollup property updates in real time. No manual refresh is needed. You can also use the Rollup value in other formulas, filters, and sorts within the same database.
Common Mistakes and Limitations to Avoid
Rollup Shows Empty or No Value
If the Rollup column appears empty, check that the Relation property has at least one linked record for the row. A Rollup with no related records returns no value. Also verify that the selected property in the target database contains data. Count will still show a number even if the property is empty, but Earliest and Latest require a non-empty value to display anything.
Earliest or Latest Returns the Wrong Record
Earliest and Latest sort by the selected property only. If multiple related records have the same value for that property, the result may appear random. To get a deterministic order, add a secondary sort by using a formula property in the target database that combines the desired sort key with a unique identifier. Notion Rollup does not support multi-level sorting natively.
Count Does Not Filter by Property Value
Count always counts all related records regardless of their property values. If you need to count only records that meet a condition, such as tasks with a status of Done, you must filter the target database view before linking records, or use a formula that combines Rollup Count with a conditional. Notion does not offer a conditional Count inside the Rollup property itself.
Rollup Cannot Aggregate Across Multiple Relations
A Rollup property reads from only one Relation. If you need to aggregate data from two different related databases, you must create two separate Rollup columns. You can then combine their results in a formula property.
Rollup Aggregation Functions: Earliest vs Latest vs Count
| Item | Earliest | Latest | Count |
|---|---|---|---|
| Purpose | Return the first value when sorted ascending | Return the last value when sorted ascending | Count the number of related records |
| Sort direction | Ascending | Ascending | Not applicable |
| Result for text | Alphabetically first | Alphabetically last | Number of linked records |
| Result for numbers | Smallest number | Largest number | Number of linked records |
| Result for dates | Oldest date | Most recent date | Number of linked records |
| Empty property behavior | Returns nothing if all values are empty | Returns nothing if all values are empty | Counts the record even if property is empty |
You now know how to set up a Rollup property in Notion and use Earliest, Latest, and Count aggregation. Start by linking your databases with a Relation, then add the Rollup column and choose the function that fits your summary need. For advanced dashboards, combine multiple Rollup columns in a formula to create conditional summaries or running totals.