Semantic Layer and Metrics Standardization
A semantic layer translates warehouse tables into shared business concepts, dimensions, relationships, and metrics. It keeps calculations such as revenue or active customers consistent across dashboards, applications, and other data consumers.
itData engineering and analytics | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Intro
A semantic layer is a governed translation between stored data and the people or software that ask business questions. It gives technical columns and tables stable business meaning. A metrics layer is the part that defines reusable calculations, such as net revenue, conversion rate, or monthly active customers. In practice, many products combine both concerns and call the result a semantic layer.
Without this layer, every dashboard or notebook can encode its own joins, filters, and formulas. Two reports labeled “revenue” can then disagree while both queries remain valid SQL. Standardization moves the definition, its dimensional behavior, and its ownership into a shared model. Consumers request a named metric and dimensions instead of rebuilding the calculation.
Architecture and query flow
A semantic system usually has four parts:
- Modeled data supplies business-ready facts and dimensions in a warehouse or analytical database.
- Semantic definitions declare entities, dimensions, measures, metrics, relationships, labels, and access rules.
- A query planner or compiler resolves a metric request into joins, filters, aggregations, and SQL that the data platform can execute.
- Consumers use the same definitions through business intelligence tools, notebooks, APIs, embedded analytics, or AI applications.
The flow starts with a request such as “net revenue by customer region for last quarter.” The layer resolves net revenue to its formula and source measure. It finds the region dimension and a valid relationship path from the revenue fact to the customer entity. It applies the requested time range at the metric’s supported time grain. The generated query runs in the warehouse, and the result returns with business-facing names and formatting.
A semantic layer normally stores metadata and logic, not another authoritative copy of all analytical data. Some products cache results or create pre-aggregations for performance. Those structures accelerate queries, but the declared metric remains the contract.
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://docs.getdbt.com/docs/use-dbt-semantic-layer/dbt-sl
Supports
- A governed semantic layer exposes centrally defined metrics to downstream tools and applications
- Semantic definitions can be versioned and reused across consumers
- Operational access to a semantic layer is distinct from warehouse execution
- https://docs.getdbt.com/docs/build/about-metricflow
Supports
- MetricFlow interprets semantic models and metrics to build analytical queries
- Metric queries resolve dimensions, entities, measures, and joins
- https://docs.getdbt.com/docs/build/semantic-models
Supports
- Semantic models define entities, dimensions, and measures over dbt models
- Semantic model configuration includes defaults and time behavior
- https://docs.getdbt.com/docs/build/metrics-overview
Supports
- Metrics can expose measures directly or be ratio, cumulative, conversion, or derived calculations
- Ratio metrics have numerator and denominator components
- Metric filters and type changes affect result behavior
- https://docs.getdbt.com/docs/build/dimensions
Supports
- Dimensions provide categorical, time, or entity attributes for metric queries
- Time dimensions support declared granularities
- https://docs.getdbt.com/docs/build/entities
Supports
- Entities identify and join semantic models
- Entity types and keys affect valid relationship paths
- https://docs.cube.dev/docs/data-modeling/overview
Supports
- Cube models measures, dimensions, joins, segments, and views over data sources
- Semantic definitions are used to generate queries for consumers
- Pre-aggregations can accelerate semantic queries without replacing model definitions
- https://docs.cloud.google.com/looker/docs/lookml-terms-and-concepts
Supports
- LookML views define dimensions and measures over tables or derived tables
- Explores define query options and relationships between views
- Dimensions group results while measures use aggregations
- https://docs.cloud.google.com/looker/docs/additional-lookml-basics
Supports
- Percentage metrics can be modeled from component counts
- Reusable LookML fields centralize analytical calculation patterns
- https://learn.microsoft.com/en-us/power-bi/transform-model/desktop-relationships-understand
Supports
- Model relationships propagate filters along declared paths
- Cardinality and relationship evaluation affect correctness and performance
- Data integrity problems can change relationship behavior
- https://learn.microsoft.com/en-us/power-bi/transform-model/service-edit-data-models
Supports
- Power BI semantic models contain tables, relationships, measures, and row-level security roles
- Semantic models can be edited and consumed by reports in the service
- https://learn.microsoft.com/en-us/power-bi/guidance/star-schema
Supports
- Dimension tables support filtering and grouping while fact tables support summarization
- Fact table grain must remain consistent
- Star-schema design supports usable and performant semantic models
- https://github.com/sindresorhus/awesome
Supports
- The canonical Awesome index links to a Data Engineering awesome list
- https://github.com/brandonhimpfen/awesome-data-engineering
Supports
- The list includes dbt and SQLMesh under transformation and modeling
- The list includes DataHub under data quality, governance, and lineage
- https://docs.getdbt.com/docs/introduction
Supports
- dbt projects transform analytical data and carry model metadata
- Version control and testing apply to analytical code
- https://sqlmesh.readthedocs.io/en/stable/concepts/metrics/overview/
Supports
- SQLMesh defines reusable metrics over models
- Metric queries can group calculations by dimensions
- https://docs.datahub.com/docs/features/feature-guides/business-glossary/
Supports
- DataHub glossary terms capture shared business vocabulary and ownership
- Glossary governance complements executable metric definitions
- https://docs.lightdash.com/guides/lightdash-semantic-layer
Supports
- Lightdash defines metrics, dimensions, and metadata in dbt or Lightdash YAML
- The semantic layer generates queries for user interfaces and programmatic consumers
- https://www.atscale.com/use-cases/universal-semantic-layer/
Supports
- AtScale exposes shared metrics, dimensions, hierarchies, relationships, and business logic to multiple consumers
- AtScale connects semantic models to cloud analytical platforms
- https://www.gooddata.com/docs/cloud/model-data/semantic-layer/
Supports
- GoodData models facts, attributes, datasets, relationships, and reusable metrics
- Its semantic model serves analytics interfaces and embedded applications
- https://www.thoughtspot.com/data-trends/data-and-analytics-engineering/semantic-layer
Supports
- ThoughtSpot models business logic and metrics for search and conversational analysis
- Governed definitions provide context to analytical consumers
- https://help.tableau.com/current/pro/desktop/en-us/datasource_datamodel.htm
Supports
- Tableau data models relate logical tables while preserving their level of detail
- Relationships affect query generation based on fields used in a visualization
