Define in code is currently in beta

Workspace admins can request access for their workspace using this form.

Steep is introducing a new way to manage your semantic model, including modules, dimensions, joins paths and metrics. This means you can now define your semantic model in the Steep app or in code. Many teams start in the app and later move to code to get version control and better support for collaboration.

Learn more about Define in code here →

This guide walks you through the recommended steps to migrate an existing app-defined model to code.

1. Prepare your workspace

  • Clean up unused or outdated definitions in your semantic model. You find an overview on Modules
  • Connect a GitHub repository How to connect GitHub →

2. Export your existing app-based definitions

You can export module by module, including dimensions, joins, and metrics. Migrating one module at a time helps you to stay in control.

  1. Go to Modules
  2. Select a Module
  3. Select the Code tab
  4. Copy or Export code definition

image

What will get exported

Steep will generate a YAML file. One file per module.

A module YAML file includes:

  • Module
  • Dimensions
  • Join paths
  • Metrics

3. Review and structure your files

  • Open your GitHub repo in your preferred code editor
  • Import you YAML file or paste your copied code in the right place. Set up one YAML-file per module.

Important note

Make sure to use the same module and metric identifiers from the Steep app in code to replace a app-defined metric with a code-defined metrics. If not, you will create duplicate metrics instead of replacing them.

4. Deploy your model from code

  • Commit your code to main branch
  • Steep validates and applies the code definitions from your repo and your in app-defined modules, joins, dimensions and metrics will be replaced by the code version.

If validation fails, Steep shows which file and line caused the error. Fix and redeploy until all definitions are valid.

You can still use the Steep app to define entities, derived metrics, and other elements not yet supported in code.

Learn more about how to combine app-definitions and code-definitions