1 + 1 = 0? Why would I want a semantic layer?
You are wondering how 1 + 1 can be equal to zero? It doesn’t make any sense. You are absolutely right. It doesn’t make any sense. In the course of my career, I’ve seen cases of 1 + 1 = 0 or 3, but not 2. And you are wondering, “How can this be?” Let’s extend 1 + 1 = 0 to something business-related, like overall equipment effectiveness (OEE) or contribution margin (CM). Each of those metrics has its own formula or definition. As a business user, you are either very familiar with the business processes/rules in your organization and you know how to accurately calculate the OEE or CM, or you need to rely on some kind of semantic layer.
What is a semantic layer?
A semantic layer is a business representation of corporate data that helps end users access data using common business terms. It maps complex data and formulas to common business terms like customer, product, OEE or CM. The semantic layer shields the user from the overly complex structure of data store, enabling the user to easily build queries with a user-friendly interface and familiar business terms. It also creates a common corporate definition of all measures shared by all users. Some vendors give a name to the semantic layer. For instance, SAP BusinessObjects calls it a “universe.”
Who builds and uses a semantic layer?
Traditionally, a semantic layer is built by individuals who have a deep knowledge of the business processes of the organization and data store. They can be part of an IT department or have a functional role like business analyst in a financial department. They will translate the business definition of a measure like CM to a complex algorithm that will include all necessary variables used to calculate an accurate measure.
In theory, semantic layers are geared toward all users in an organization, from the casual users to the advanced analysts. The sales pitch emphasizes that with little training any organization can enable self-service across all functions. It will liberate users from IT. Some functions will be more apt to use the semantic layer due to their analytical background. Among them are marketing, finance and manufacturing. But the reality is that many users just want to consume reports and dashboards. Not because they don’t have the skills to use the semantic layer, but because it’s not their key priority.
Why are semantic layers losing popularity, and why is it dangerous?
Users don’t want to wait to expand their analytics. They want to quickly aggregate data from multiple sources to derive new insights in a matter of days, not weeks or months. It is true that adding new objects to a semantic layer can take time, especially in a highly governed organization. And with the plethora of new solutions available that promise to deliver high- value visualization from multiple data sources to the more casual user without the need to rely on IT developers, it’s understandable that some users abandon semantic layers.
Unless your data store is providing preprocessed measures like CM, not using a semantic layer can put your organization at risk. Imagine users building their own definition of the CM, or simply miscalculating it because they didn’t exclude operational variances and non-operating costs. Users will make a wrong decision and/or act upon incorrect facts. They will communicate inaccurate information to their managers, who in turn will also make wrong decisions. So we are back to 1 + 1 = 0.
How can you unleash the semantic layer?
The future semantic layer tool will be similar to the advent of visualization tools like Tableau and Qlik. Instead of having the creation and enhancement of the semantic layer confined to IT departments, casual users will be able to build and enhance the semantic layer. The future tool will enable auto-governance to avoid the multiplication of disparate definitions for one single measure. The future semantic layer tool will be user friendly, with shorter learning curves.
Organizations need semantic layers to ensure that there’s only one answer to the business question, “What is my CM?” in order to make sure 1 + 1 = 2 and not 0 nor 3.
By the way, 1 + 1 can be equal to 0. See the explanation here.