ClarusIQ

What a Semantic Model Actually Is

In the real reason two dashboards never agree, we ended on a name without explaining it: a semantic model. That's the governed layer that fixes the "Active Customer" problem, three teams, three correct definitions, three numbers that were never meant to match. This piece is the explanation we owed you.

"Semantic model" gets thrown around a lot in BI vendor material, often as a synonym for "our platform is smart." Stripped of the marketing, it's a specific, concrete thing with a specific job. Once you see what's actually inside one, it stops sounding like jargon and starts sounding like the obvious fix it is.

Key Takeaways

  • A semantic model is the governed translation layer between raw data tables and business meaning: measures, relationships, and naming, defined once and reused by every report.
  • It's not a data warehouse and not a dashboard. It sits between the two, and it's what Power BI reports, natural-language Q&A, and AI features all query instead of raw tables.
  • Four things belong inside one: certified measures, defined relationships, clear naming and descriptions, and row-level security. One-off report-level calculations don't belong there.
  • Microsoft's own guidance is direct about this: the description property on a measure is essential documentation, not an optional nicety, because it's what disambiguates similar-sounding metrics for everyone downstream.

What a Semantic Model Actually Is

Strip away the vendor language and a semantic model is this: a layer that sits between your raw data tables and every report built on top of them, where the meaning of your business terms gets defined once, by someone accountable for the definition, and reused everywhere instead of recreated per report.

In Power BI specifically, this is the Tabular/VertiPaq model behind a report: tables, the relationships between them, and, most importantly, measures that encode business logic in DAX. When Copilot or a Power BI report calculates "Net Revenue," it isn't inventing that calculation. It's querying the existing semantic model, which is why the model's quality is the ceiling on everything built on top of it (Microsoft Learn).

That's the whole mechanism. It's not a new database. It's not a dashboard. It's the translation layer in between, and it's the specific thing that was missing in Day 2's "Active Customer" scenario.

Semantic Model vs. Data Model: What's the Difference

The two terms get used interchangeably, but they're answering different questions. A data model describes the physical structure: which tables exist, which columns they contain, what data type each column is, how primary and foreign keys connect them. It's an engineering description of the data as it's stored.

A semantic model sits on top of that structure and answers a different question: what does this data mean to the business, and how should it be calculated. The same physical data model (the same tables, the same columns) can support many different semantic models, or one semantic model that different teams query in different ways, because the semantic layer is about meaning and governance, not storage.

In practice, this means fixing your data model (cleaning up tables, correcting data types, tightening keys) is necessary but not sufficient. A perfectly clean data model with no semantic layer on top of it still leaves every report builder free to invent their own version of "Net Revenue."

A Concrete Example: One "Net Revenue," Used Everywhere

Picture the same three teams from Day 2, now with a semantic model in place. "Net Revenue" exists as exactly one certified measure: a specific DAX calculation, a written description of what it includes and excludes, and a named owner responsible for approving any change to it.

Marketing builds a campaign-performance report. Finance builds a forecasting report. Both pull the same "Net Revenue" measure from the same semantic model. Neither team recalculates it, renames it, or quietly redefines it inside their own report. If marketing genuinely needs a different cut (say, revenue attributable to a specific channel), that becomes its own clearly named measure, "Channel-Attributed Revenue," built on top of the same governed base, not a silent variant of "Net Revenue" that happens to produce a different number.

The difference isn't that disagreement becomes impossible. It's that any difference is now a visible, named, deliberate choice instead of an accident nobody can trace.

Raw data tables feed into a semantic model containing measures, relationships, naming and descriptions, and row-level security, which every report then queriesRaw DataTablesSales, CRM,billing, productSemantic ModelCertified Measuresone DAX calc, one ownerRelationshipshow tables connectNaming & Descriptionswhat each term meansRow-Level Securitywho can see whatDefined once. Owned by someone. Reused everywhere.Finance ReportMarketing ReportCopilot / AI Q&AEvery report, and every AI feature, queries the same governed model instead of the raw tables directly.
The semantic model sits between raw data and every report or AI feature that consumes it. Nothing downstream recalculates the underlying logic.

What Belongs Inside a Semantic Model

Four things, specifically.

Certified measures. Every business-critical metric exists as exactly one reusable DAX calculation, reviewed and approved, not recreated inline per report. If a measure needs to change, the change happens once, in the model, and every report that uses it inherits the update automatically.

Relationships. How tables connect to each other (which column joins to which, and what kind of relationship it is) is defined once at the model level, so every report built on the model uses the same, correct join logic instead of each report builder guessing.

Naming and descriptions. Microsoft's own Copilot preparation guidance treats this as more than cosmetic: the description property on a measure is essential documentation, because it's what people building reports from the model, and any AI feature querying it, use to tell similar-sounding metrics apart (Microsoft Learn). A measure with no description is a measure whose meaning lives only in the head of whoever built it.

Row-level security. Who can see which rows of data is defined once at the model level, and enforced consistently across every report and query type built on it, including natural-language AI features, which is what actually keeps a Copilot-style tool from showing someone data they shouldn't see (Microsoft Learn).

What Doesn't Belong There

Not everything needs to live in the semantic model, and forcing everything in isn't the goal. A one-off calculation built for a single, specific analysis that nobody else will reuse doesn't need to be certified and centralized. Exploratory work, draft measures still being validated, and genuinely report-specific logic can stay local until (and unless) it proves reusable enough to graduate into the governed model.

The line is reuse, not complexity. If two or more reports need the same number, it belongs in the model. If exactly one report needs it, forcing it into the model just adds governance overhead to something that didn't need it yet.

Where This Lives Next

A semantic model has to live somewhere physically, and in Microsoft's stack, that's a specific architectural question: how a semantic model relates to Power BI datasets, to Microsoft Fabric's OneLake, and to the lakehouse or warehouse underneath it. That's a distinct decision from what a semantic model contains, and it's easy to get the contents right and still place the model in the wrong spot architecturally. That's the next piece in this series.

Where This Fits

At ClarusIQ, this is where Data Foundation work turns into Power BI Reporting work: once the metric audit from Day 2 identifies which definitions need reconciling, building the actual semantic model, certified measures, documented relationships, clear naming, working row-level security, is the concrete deliverable that follows.

If you want to see how this looks applied to your own model, see how we structure semantic models for Power BI.

Next in this series: where semantic models actually live in Microsoft Fabric and Power BI, and the one architectural mistake that undermines them most often.

Want to talk through how this applies to your data?

Book a Reporting Diagnostic