Skip to main content
Topics created from data input tables or uploaded CSV/XLSX files can’t be joined to other data.
Declares other views as part of the topic. To include multiple tables, nest the table under the table it joins through. Deleting the joins parameter entirely causes joins to be recomputed to their defaults based on the relationships file.

Syntax

Properties

object
A nested object structure that declares which views to include in the topic. Views are nested under the views they join through. Final views in each branch must end with an empty object {}.
Use joins: {} to explicitly specify no joins.

Model mode properties

When you view or edit a topic’s joins in Model mode, or a branch’s Merged mode, on a layer that only stores a delta over its base - a shared model extension, a branch, or a workbook model - joins render as two keys instead of joins:
object
Joins this layer adds to the inherited topic, as a joins:-style tree. Replaces joins in model and merged mode; drop inherited joins with removed_joins.
array
Inherited joins this layer drops. Model and merged mode only, alongside added_joins.
joins keeps its original meaning - the full tree, with removals shown by omission - in plain shared/schema models and in fully combined or composed views.
Don’t combine joins with added_joins or removed_joins on the same topic, and don’t use added_joins or removed_joins when Combined mode is in effect. Both return an error.

Examples

Nested joins

No joins

Explicitly declare no joins

added_joins and removed_joins

For example, a base topic with these joins:
Is changed by a spoke layer - a shared model extension, branch, or workbook model - to remove the users join and add the inventory_items > products join. In Model mode, that layer shows: