A common buzz sentence has been ‘a single version of the truth’ (SVOT), which is often used to describe the presence of a semantic model or layer in your BI environment. Evidently, before we dive into this, it is important to understand what a semantic layer is. The definition of the word ‘semantics’ is to give meaning or logic to words or the relationship between them. In the world of analytics, a semantic layer maps your data to your business terms and can define relationships between those.
Now that we generally know what a semantic layer is, is the term ‘a single version of the truth’ a fact or a myth? Well… It depends!
Linguistically or maybe even philosophically, I would suggest that a SVOT is a myth. The reason is that the definition itself implies that there could be multiple versions of the truth. And what is even meant by ‘the truth’? Is it the accuracy or recency of your data? Is it the definition of the entity ‘customer’ for example?
But as I mentioned earlier, we are speaking about the world of analytics!
When we confine our definition to the analytical world, we could define it as ‘One view of data that everyone in a company agrees is the real, trusted number for some operating data’. And this is a very important thing to achieve within an enterprise, for multiple reasons.
The first and most important reason is to speak the same data language, company-wide. Speaking about the same data, which you can now trust, because it is managed by a semantic model that is clearly defined, allows your business to be run way more efficiently. Without this, you would never be able to make precise future predictions or have a trustworthy historical overview of your KPIs. People might both be talking about a ‘customer’ within the same company, but their understanding of the definition of a customer might be totally different without a semantic layer.
Besides the automatic benefits that come with just having this in place, there are also some technical and/or operational features that are now within arm’s reach. Now that there is no more confusion about certain definitions or KPIs, this allows you to combine multiple data sources into single reports, dashboards, or insights in general. Also, because you now have a single trusted model, you could open that model to end-users and allow them to do self-service and create their own trusted insights.
On top of that, you now have a layer where you could not only apply logic, but also security! You could for example configure certain users only to be able to see certain dashboards. Or you could go even further than that and apply row- and/or column-level security. Let’s be clear that users don’t necessarily have to be real people! It could also be a visualization tool gathering data from your model through an API! Which allows your company to for example monetize its data.
The final benefit I want to highlight - though it is definitely not the last nor are the ones I spoke about the only ones-, is the time-to-insight. Initially, you would have to set up your model, which would require a little bit more time rather than just pushing raw data to a dashboard. But once your model is set up, you can re-use your objects such as attributes or measures into multiple forms of delivery. Need to make a change to maybe the definition of an attribute afterward? No worries, change it in your model and it will be automatically applied to all insights using that attribute, saving you loads of time!