A semantic layer is a governed business logic layer that sits between raw data and analytics tools, translating technical database structures into business-friendly concepts like metrics, dimensions, and relationships. It ensures metric consistency across BI tools, AI agents, and embedded analytics by defining calculations once and reusing them everywhere, preventing the metric drift that occurs when each team defines "revenue" or "churn" differently. In 2026, semantic layers have become critical infrastructure for enterprise AI—LLMs and agentic analytics require structured, governed context to deliver trustworthy results, not just raw SQL access. The rise of headless BI (API-first analytics serving) and standards like Open Semantic Interchange (OSI) signal a shift from vendor-locked semantic layers to universal, tool-agnostic architectures that power dashboards, embedded portals, and intelligent agents from a single governed source of truth.
What This Cheat Sheet Covers
This topic spans 12 focused tables and 121 indexed concepts. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
Table 1: Core Semantic Layer Concepts
| Concept | Example | Description |
|---|---|---|
Business model sitting between data warehouse and BI tools | Centralized abstraction layer that defines metrics, dimensions, entities, relationships, join paths, and access rules above raw data; ensures consistent business logic across all consuming tools. | |
revenue: sum(order_amount) | Declarative specification of how to calculate a business measure; includes aggregation logic, filters, grain, and time dimensions; stored as code in version control. | |
order_amount (sum), user_id (count_distinct) | Aggregatable column from a semantic model; supports types: sum, count, count_distinct, min, max, average; measures are the building blocks for metrics. | |
product_category, order_date | Non-aggregatable attribute used for slicing and filtering; two types: categorical (product, region) and time (date, timestamp); dimensions define the grain for analysis. | |
user_id, order_id | Join key that defines relationships between semantic models; represents business objects; MetricFlow uses entities to determine valid join paths and prevent fan-out. |