
AtScale believes the value of a modern BI platform is in addressing known shortcomings and innovating on what originally made the semantic layer great: it is a force multiplier for data consumers. The concepts of a BI semantic model introduced almost 25 years ago have been largely static. Remember, the semantic layer is an abstraction and while having multiple abstractions for the same concept is sometimes right and useful, most of the time it goes against the engineering mantra of DRY (Don’t Repeat Yourself). How many semantic layers do you need? (Hint: The correct answer is 1). So, a Semantic Layer sounds great, what’s the catch?Ĭheck out this simple search I did for ‘semantic layer’ In fact the concept was originally patented in 1991 by Business Objects and was successfully challenged by Microstrategy in 2003. Semantic, in the context of data and data warehouses, means ‘ from the user’s perspective’ which sounds like a nice clean solution to a nasty unbounded complexity problem. In business intelligence (BI), also sometimes referred to as analytics, the key abstraction used in the majority of implementations is called the “semantic layer”. Can you afford to have each of your employees independently trying to replicate this logic correctly in their spreadsheets and reports? Will you be able to catch the subtle yet impactful errors? Without some level of abstraction, business is beholden to IT to generate and run reports or risk making big, costly and worst of all hidden mistakes. What is “Net Sales”? Is it net of invoice line-item costs and/or net of rebates? A small use case may contain tens of these calculations while a departmental model may contain hundreds. Does that include contractors? Remote people? How about a known, simple formula for Present Value with Compounding: Take for example a simple definition such as an “Employee”. From calculation to contextual meaning, abstraction helps with correctness and understanding.


This shouldn’t be surprising as businesses model complex real world concepts where the details matter. It turns out business people also like abstraction. Abstraction lets me work with a well thought out interface designed to let me accomplish more without having to always consider the system at a molecular level. I like abstractions because done correctly an abstraction will factor complexity down to a level where I don’t have to spend any brain cycles thinking about it. I am a software engineer and I like abstractions.
