Skip to main content
This parameter allows you to explore data in both directions when two datasets are connected. By default, it’s set to false to keep your results clean and predictable. Omni restricts joins in the exploration process to joins that do not fan out the result set. For example, this means that users are always available with orders (each order has one user), but will not shown by default when querying users (one user has many orders, and thus joining orders changes the shape of the result set). To summarize:
  • By default, one_to_many joins will be created as many_to_one joins with reversible: true, meaning they will fan out the data set
  • One-to-one joins are always reversible as they do not change the shape of the data set, they only add columns
  • Many-to-many joins are reversible by default, as they always change the shape of the data

Syntax

reversible: <boolean>

Properties

reversible
boolean
default:"false"
Controls bi-directional join functionality.When false, you can explore data in one direction: from the source view to the joined view. Exploring data in the opposite direction would fan out the results set.When true, you can explore data in both directions. This may fan out the dataset and create more rows than you started with, which you would need to account for in your analysis.

Examples

- join_from_view: users
  join_to_view: orders
  join_type: always_left
  on_sql: ${users.id} = ${orders.id}
  relationship_type: many_to_one
  reversible: true