# Recreating Notion Rollups

Hi!

I’m currently making the move from Notion to Coda, but I can’t figure out the formula to recreate a rollup, in this case for a family tree.

Can someone help me with the formulas to fill in the empty columns on the table shown in the image? All of the columns are relations in the same table. The parents (linked) and children (relation) columns are linked.

I’ve also included images of my notion rollup formats.

Thanks!

There is no special Rollup column type in coda.

Any formula can refer to ANY property of ANY relation using the dot-notation like this;
` Product.Price`

So in your example the formula for `Grandparents` is…
`Parents.Parents`

And use the same notation for all the other relationships.
So the formula for `Siblings` is simply…
`Parents.Children`

However, these formulas will return lists-of-lists, so for complete correctness, we should add the formula `.ListCombine()` to the end, so that it will collapse the list-of-lists into a single simple list.

So the final formulas are
Grandparents; `Parents.Parents.ListCombine()`
Siblings; `Parents.Children.ListCombine()`

4 Likes

A further refinement may be desirable for Siblings.

The simple formula `Parents.Children.ListCombine()` will return a list that INCLUDES the person themselves - ie; the full set of siblings.

But you may want to NOT include the person themselves; ie - just a list of their brothers and sisters. In which case you will need to add a .Filter() formula to filter only the items where the referenced-row is not thisRow. The filter condition for that is CurrentValue!=thisRow, where != means NOT-EQUAL

So the Sibling formula becomes;
`Parents.Children.ListCombine().Filter( CurrentValue!=thisRow ).Unique()`

We needed to add the .Unique() formula at the end because otherwise we would get siblings occuring more than once, once for each parent. The Unique() formula simply removes any duplicates from the given list.

This example illustrates one of the major differences between Notion and Coda.

The Notion setup is perhaps easier for a new user to set up, as the rollups are selected from a pre-defined set of options. This is what Coda calls a ‘low-floor’ approach. A simple and easy way to do something that does not need knowledge of formula wrangling.

The Coda approach involves using formulas to define the ‘rollup’ operation. And those formulas can be used anywhere and refer to any tables, columns and canvas objects needed. But they do require the maker to understand the formula language. What Coda refers-to as a ‘high-cieling’.

The Notion approach is fine for those use-cases that are supported by the drop-down list of options for rollups. But it is unable to handle the more complex cases where the business logic is more involved.

Some of my clients do not like the formula-based approach, and so they are happier in the Notion play-pen. Many of my clients LOVE the formula-based approach and the flexability it allows; they move whole-heartedly to the Coda makers-lab and never look back.

Its like Lamborghinis and Corollas; both great cars - but aimed at different types of people .

5 Likes

Thank you!

I definitely love the formula approach. Notion has limitations because of it, but I haven’t found any in Coda yet.

I was trying to make the formula much more complicated than it needed to be.

This is perfect!

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.