Data Glossary 🧠

Search

Search IconIcon to open search

What is a Semantic Layer

Last updated Sep 29, 2022 - Edit Source

A semantic layer (sometimes also called Headless BI) calculates complex business metrics at query time. It sits between your data sources/transformation layer and your analytics tools. You define a metric’s aggregations (daily, weekly, monthly, and quarterly) and dimensions (region, customer, product). Examples of metrics could be “monthly active users”, “weekly revenue”, “number of paying customers”, and so on.

You can think of a semantic layer as a translation layer between any data presentation layer ( business intelligence, notebooks, data apps) and the data sources. A translation layer includes many features, such as integrating data sources, modeling the metrics, and integrating with the data consumers by translating metrics into SQL, REST, or GraphQL.

Because everyone has different definitions of “active” users or “paying” customers, the semantic layer allows you to define these discrepancies once company-wide. Instead of having three different versions each presentation tool e.g. BI tool would show a different number than your Jupyter notebook or data app. And what if the metric changes to a new definition, with a semantic layer you change only one time. This powerful feature empowers domain experts and data practitioners to get a common understanding of business metrics.

A sub-layer of the semantic layer is the Metrics Layer.

Read more on The Rise of the Semantic Layer or other fascinating reads on the topic: