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.
- Go to Modules
- Select a Module
- Select the Code tab
- Copy or Export code definition

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