New

Modules replaces what was previously called the Semantic graph.

Semantic model overview

The modules page lists all modules, join paths, dimensions, metrics, and entities in one view. You can also see underlying schemas, tables, and columns from your connected database.

Modules overview

Create a module in the Steep app

Modules can be created in code or in the app. They are automatically created when you define metrics and entities in the app.

To create a module in the Steep app:

  1. Go to Modules

  2. Click New module and select a table

  3. Use the suggested identifier or edit it; the module name is auto-prettified

  4. Add a description(optional) and click Create

Module definitions

Modules can be defined in the app or in code.

Learn how to define modules in code →

Modules properties

  • Identifier – Identifier of the module, defaults to table name.
  • Label – Display name of the module, will automatically be set to a prettified version of the identifier.
  • Description – Explains what the Module represents.

Delete a module

You need to remove all join paths, metrics, and entities based on this module before you are allowed to delete a module.

  1. Go to Modules
  2. Select a Module and click in the top right corner
  3. Select Delete Module

Join paths

Join paths connect modules so you can combine data from multiple tables. This lets you break down metrics using dimensions from other tables and drill down from a metric into related entities.

Create a join path in the app

  1. Go to Modules
  2. Select a Module and click + next to Join path
  3. Select the column, relationship type, and target Module and column

This will create a two-way connection between the modules. Steep can find modules two steps away from each other.d

Create and edit join paths

Remove a join path

  1. Go to Modules
  2. Select the module containing the join path you want to remove.
  3. Find the join path in the list and click Delete. This action removes the join path from both connected modules.

Check and repair broken metrics

When a join is removed, any metrics built on columns from the disconnected module 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.

An error message in the chart about a dimension not found indicates that something in the metric definition needs to be fixed. Once in the edit for, it will be clearly highlighted where the issue is.

Create and edit join paths

Dimensions

Dimensions let you slice, group, and filter metrics. They are automatically created when a column is used in a metric, but can also be defined manually.

Add a dimension:

  1. Select a module → click + next to Dimensions

  2. Select a column → add a type, label and description

Create and edit join paths

Dimension types

TypeDescription
Categoricaltext, booleans, numbers, or dates
H3 cell indexfor 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, Countryfor 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.

New

Dimensions are treated as the same in report filtering if the column names match.

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. Descriptions are visible by hovering over the dimension name when exploring metrics.

Limitations

If you use dbt Cloud or Cube, the modules pages is not available. However, if your setup includes another database in combination with dbt Cloud or Cube, you can view and manage modules for that database.