Join paths enable seamless connections between tables, allowing data from multiple tables to be combined into a single metric. These connections also support drill-downs from a metric to an entity built on different tables. They also enable dynamic querying so only necessary tables are used, making fetching data time- and cost-efficient.

Admins only

Semantic graph is available for admins only

Get an overview

The semantic graph displays all schemas, tables and views from your connected database. When you select a table from the list, a detailed panel opens, offering more information and options. This allows you to manage join paths and view a complete list of all available columns for the selected table.

Semantic graph overview

Create a join path

Join paths connect one table to another by a shared data point.

  1. Go to SettingsSemantic graph
  2. Select a table
  3. Click + next to Join path to create a connection
  4. Choose a column you want to join from.
  5. Specify the relationship type: one-to-one, one-to-many or many-to-one
  6. Select the table and the column to join to

This will create a two-way connection between the tables. Steep can traverse the semantic graph to find tables two steps away from each other.

Creating a join path

Remove a join path

Please note

Removing a join may break metrics that rely on the connection, as well as drill-downs between metrics and entities.

Delete join

  1. Go to SettingsSemantic graph
  2. Select the table containing the join you want to remove.
  3. Find the join in the list and click Delete.

This action removes the join from both connected tables.

Remove a join

Check and repair broken metrics

When a join is removed, any metrics built on columns from the disconnected table may break. All broken metrics will be highlighted in the metric catalog, making it easy for you to find and repair any issues caused by a removed join.

Missing columns

Upgrade old joins to semantic graph

Workspaces containing metrics that are built with the old version of joins can be upgraded to the new join paths in the semantic graph.

Here’s a simple guide for setting up new join paths:

Dimensions

Dimensions give context to your metrics. They let you slice, group, and explore your data in meaningful ways — like breaking sales down by region.

For each table in the semantic graph, dimensions are automatically created if a column is used when defining a metric. You can also add new dimensions for any column that hasn’t been used yet.

Add or edit a dimension:

To add or edit a dimension:

  • Click on the table that contains dimension
  • Select or create the dimension using that column

Dimension properties

Type

Each dimension must have a type. Choosing the right type ensures your data behaves as expected in Steep.

  • Categorical – for text, numbers, or dates. Use this for grouping, filtering, or breaking down metrics. This type is automatically applied when a column is used when defining a metric.
  • H3 cell index – for spatial data using the H3 standard. Each precision level should be set up as a separate dimension. For city-level exploration, we recommend starting with levels 8–10.
  • City or Country – for location-based columns like city_name or country_code. Setting these types allows users to quickly filter and explore data by location when using maps.

Label

The label is the dimension name shown in Steep. By default, it matches the column name in your table, but you can update it to be more user-friendly (e.g. “Customer country” instead of cust_cntry). Dimensions with the same label are only treated as the same if their underlying column names also match.

Description

You can add a description to clarify what a dimension represents. Right now, descriptions are visible only in the semantic graph, but in the future, they will be more accessible throughout the workspace.

Limitations

If you use dbt Cloud or Cube, the semantic graph does not display underlying tables or support join creation.

However, if your setup includes another database in combination with dbt Cloud or Cube, you can view and create joins for tables in the supported database.