# Semantic Layer and Metrics Catalog for dbt | Silicon

URL: https://meetsilicon.com/product/semantic-layer/

> Define metrics, dimensions and joins once in YAML next to your dbt models. Every dashboard, report and AI answer in Silicon uses the same definitions.

models/finance/fct_revenue.yml
1 models: 2 - name: fct_revenue 3 columns: 4 - name: net_amount 5 meta: 6 metrics: 7 net_revenue: 8 type: sum 9 description: Revenue after refunds
Analytics / Semantic layer
# Define each metric once for every dashboard and answer
Your metrics, dimensions, joins and business rules live in one place next to your dbt models. Dashboards and AI answers read from those definitions, so finance and product report revenue from the same definition.
Book a demo
30-minute demo with the founder
Works with the stack you already run.
dbt
Snowflake
BigQuery
Databricks
Redshift
Postgres
ClickHouse
GitHub
Slack
dbt
Snowflake
BigQuery
Databricks
Redshift
Postgres
ClickHouse
GitHub
Slack
dbt
Snowflake
BigQuery
Databricks
Redshift
Postgres
ClickHouse
GitHub
Slack
Problem
## Three teams reporting three different revenue numbers
When definitions live in people's heads and spreadsheets, every dashboard and every AI tool invents its own version of the truth.
- 01 Definitions live in people's heads, spreadsheets and old dashboards.
- 02 AI tools guess what a column means from raw tables.
- 03 A metric changes and nobody downstream finds out.
How it works
## One definition behind every answer and dashboard
Define
Discover
Reuse
01 Semantic layer
### Define metrics next to your dbt models
Metrics, dimensions and joins live in YAML in your repository, reviewed and versioned like the rest of your code.
models/product/fct_signups.yml
1 models: 2 - name: fct_signups 3 meta: 4 metrics: 5 activation_rate: 6 type: number 7 sql: ${activated} / NULLIF(${signups}, 0) 8 format: percent
Features
## What you define, where it's used, and how it stays governed.
### What you define
The business context your data team already knows.
- Metrics
- Dimensions
- Joins
- Owners
- Business rules
- Descriptions
### Where it's used
Every surface reads from the same definitions.
- Dashboards
- AI answers
- Scheduled reports
- Embeds and API
### How it stays governed
Changes are reviewed before they reach anyone.
- Verified metrics
- Version history
- Pull request review
## What is a semantic layer?
A semantic layer is a shared set of business definitions (metrics, dimensions and the joins between tables) that sits between your warehouse and every tool that reads from it. Defining them once means every dashboard and AI answer calculates a metric the same way.
FAQ
## Questions, answered
### Do I need dbt to use Silicon? +
No. Silicon works natively with dbt projects, reading your models, metrics and descriptions directly. If you don't use dbt, Silicon YAML lets you define the semantic layer in standalone YAML files that point at tables in your warehouse.
### How is a semantic layer different from a metrics layer? +
A metrics layer defines calculations. A semantic layer also defines the dimensions, joins and relationships around them, so tools can explore data safely, not just compute numbers.
### Who can change a definition? +
Definitions live in your repository, so changes go through the same pull request review as any other code.
### Can business users see where a number comes from? +
Yes. The metrics catalog shows each metric's description and where it is used.
## Related
- AI analyst ->
- Dashboards as code ->
- Metric library ->
## Tell us where your data lives today.
Book 30 minutes with the founder. Tell us where your data is today, and see Silicon running on sample data.
Book a demo
30-minute demo with the founder
