Metrics layer vs. semantic layer: model metrics apart from the data model

The metric estate, how metrics are calculated from each other and which metrics drive which, belongs in its own model, abstracted from the data model. Duodata keeps that metrics model, links it deterministically to the data model, and bakes the result into the semantic layers of Snowflake, Databricks and Microsoft Fabric.

Two models, one correct link

Why the metrics model must sit above the data model

Metrics layer (Duodata) Semantic layer (Snowflake, Databricks, dbt, Fabric) Data catalog
Models The metric estate: definitions, variants, owners Measures, joins and dimensions on one platform Datasets, owners and data lineage.
Lineage Calculation lineage and value driver lineage between metrics How one measure is computed from tables How data flows between systems.
Link to data Deterministic, versioned mapping to every implementation Is the implementation Descriptions attached to tables.
Main users Business owners, Metric Stewards, data teams Analytics engineers, BI developers Data engineers, technical stewards.
What AI gets One approved metric, its drivers and how to retrieve it Queryable logic for that platform A list of candidate tables.

Governing agents, not just data

Data governance controls the data: who may access which tables, data quality, classification and lineage. Duodata governs what AI agents mean when they answer: which approved metric, variant and implementation an agent uses, and a clear stop when a requested metric is not approved. It complements data governance and runtime agent controls (permissions, identity, guardrails) rather than replacing them.

How it fits together

  1. Business and data teams model the metric estate in Duodata and approve each definition.
  2. Data teams map each approved metric to its implementation in the data model.
  3. Duodata deploys the linked definitions into the semantic layers, and the AI Connector serves agents the approved context.

When you need a metrics layer above the semantic layer

Why a data catalog isn't enough for AI to talk to your data