Changelog

Relation & Rollup Properties for Tables

Relation and Rollup are two properties with the purpose to relate different databases. Databases in RemNote are created with tags and tables. Relations should be able to one-way and two-way relate two databases to each other.

Example:

I have a tasks and a projects tag with table (database). I create a relation property in the tasks table that links the tasks database to the projects database. In a one-way relation I only would be able to select all Rems with the tag project. In the two-way relation, in the projects database a new column would appear with all tasks that are assigned to each project. If I in the projects database created a new note, it would automatically also be shown in the tasks database with corresponding project in the column with the relation property to projects.

I know that the one-way relation is already possible with the single or multi select property in RemNote, when I chose the “all tagged with…” feature. The two-way relation though is not yet possible. This means, even if I created a task and assigned it under a project, the task would not show up in a column of the projects database automatically assigned to the chosen project. I currently would need to create an extra select property and always manually add the corresponding tasks in the projects database.

With the possibility that we have in RemNote to generate properties out of template headings, I was able to implement something that works like the two-way relation property. In the projects template I would make a heading “tasks” and under it a table view of all tasks with the filter “where project is (insert current project that bears this template)”. Then, I can show this table view as property in the projects database and everything works like a two-way relation. Though, there are downsides to this method like…

  1. nested table/list views

  2. the need to always use the template with every project to make the relation work

  3. very complicated in comparison to a two-way relation property

  4. It does not look very nice and also feels unsmooth to use it like this currently

This is why I think an extra relation property would make sense.

If we have a relation property, a rollup property is the next logical step. With a rollup property you can choose a related database of the current database and access all of the properties of the related database. You have also access to some extra features like sum.

Example:

All my tasks have a time assigned to it, how long they take. As previously described, a project can have several tasks. If I now want to know how much time the whole project needs, I can use a rollup property that sums up all durations and gives me the total duration of the project.

This feature is implemented in notion as I have described it. This video explains, how relation and rollup work in notion (although to that time one-way relations seem not to have existed).

Here a picture that shows that it does not work in RemNote only with the single and multi select tools:

Relation and Rollup are two properties that really enables one to create very complex systems and workflows based on databases. Without them, popular and even expensive templates such as The Ultimate Brain from Thomas Frank would not be able to exist as they are full of two-way relation and rollup properties. The absence of those properties really holds me and other users back from creating a similar complex and useful system in RemNote that works similarly fine and intuitive. If a user relied heavily on databases, which for most Notion users is the case, they won’t be eager to switch to RemNote as long as the possibility of creating similar comlex database structures is not given.

The possibilty we have in RemNote, to generate properties out of template headings is a very valuable and unique feature (I even was able to kind of re-build the relation-property with this feature). Nevertheless, in my opinion relation and rollup are two core features every database implementation should have.

If there is a pssibility to implement what I have described with current RemNote features (maybe even better) that I have not seen yet, then please let me know that in the comments. If not, then I really hope that this feature for tables will be implemented soon.