Semantic layer: one definition, everywhere
Everyone agrees the number should be the same every time. The disagreement is about who gets to decide what it means.
Nexatron's semantic layer is expressed in MetricQL: metrics, dimensions, hierarchies and joins are declared once and compiled to warehouse SQL at query time, so the same definition serves a typed question, a certified-metric lookup and an agent query. Technical semantics are generated automatically when a source connects; promoting a definition to certified remains a human action.
What it does
- Declared once, compiled per dialectA metric defined in MetricQL compiles to the SQL each connected warehouse actually speaks, so one definition does not fragment into per-source variants that drift.
- Generated technical semantics on connectConnecting a source produces its entity and field projection automatically. What exists, what type it is, how it relates. Scoped to what the connecting user can actually see.
- A person certifies it, never a heuristicThe platform will suggest and rank candidate definitions. It will not mark one certified on its own, because an auto-certified metric that is subtly wrong is indistinguishable from one that is right until a quarter closes on it.
- Grain and joins are declaredRelationships carry their cardinality, so aggregating across a one-to-many link is either handled correctly or refused. Rather than silently inflating every total.
What it deliberately won’t do
These are specifications, not caveats. Each one is a case where returning something would have been easy and wrong.
- Connecting a source does not give you governed metricsIt gives you the technical layer: tables, fields, types, relationships. The business meaning, which of four revenue definitions is the one, is analyst work, and the product is explicit that it has not done it for you.
- Uncertified answers are still available, and still labelledThe layer does not block exploration. It refuses to let exploration wear the same badge as an approved definition.
Test the claim, don’t take it
Ask it something you already know the answer to, then ask it something your data cannot answer. Those two questions tell you more than a feature list.