"Ragged Hierarchy" or "Snowflake" Data Structure in Coda

A fellow Coda builder asked on another forum how to represent a “Ragged Hierarchy” (a hierarchy where items can skip several levels) in Coda. They provided an example hierarchy diagram. So I built this example solution - it uses a Recursive Acyclical Graph (RAG) table which is a weird name for a simple way to represent a hierarchy in Coda. These structures are typically used to represent Work Breakdown Structures (WBS) in project management systems, or Sub-assembly Breakdowns in manufacturing. Scroll down to the How It Works section. (Please make a copy of this doc to explore its formulas).

RAG structures are also used extensively in Video Games to store all the graphical elements of the game.


Must read at length! Anything posted by @Xyzor_Max is pure gold


It’s a generous trait to share one’s expertise in a post. It’s the sign of a true community champion to invest one’s time to additionally build out a exemplifying doc and opening it up to anyone to learn from it.

This community is honored to have you, and personally, I’m incredibly grateful for all the guidance you continuously provide me with and the laughs we share. You’re just the best, @Xyzor_Max!


May I ask why the semicolon ; in column names?

sorry, its a naming convention we have used at Agile Dynamics for data modeling.

we use suffixes to help us see the data types in a model.

semicolon means an N:1 link.

an 1:N link uses the colon.

so MyCountry; links to a single country row.

but MyOrders: links to a number of Order rows.

it has no meaning in coda.

see the full topic here