Your data warehouse has a table called orders. It has columns like amount, status, created_at, and customer_id. Now three people ask "What was Q1 revenue?"

The analyst writes SELECT SUM(amount) FROM orders WHERE created_at BETWEEN '2026-01-01' AND '2026-03-31'. The data engineer adds WHERE status = 'completed'. Finance excludes refunds and trial conversions. Three queries, three numbers, one question. Nobody is wrong. They just defined "revenue" differently.

Multiply this by every metric in your organization, every team that queries the warehouse, and every tool that displays a number. That's the problem.

A semantic layer solves it by defining each metric once, in one place, and serving that definition to every consumer.

What is a semantic layer?