Blog
Notes on governed metrics
How we model, query and secure the numbers that dashboards and AI agents share. From the people building datahashi.
QueryingFilters that compose safely
Two filters interacting should narrow a result, not rewrite the metric. How datahashi treats filter composition as a first-class part of every semantic query.
QueryingHow semantic queries become SQL
A semantic query names metrics and dimensions; the warehouse still speaks SQL. Here's how datahashi compiles one into SQL you can inspect and trust.
QueryingSemantic Query 101: metrics × dimensions × filters
Introduce the semantic query triad so any consumer can ask the same question the same way.
Modeling & metricsDerived metrics without double counting
Derived metrics compose other metrics, not raw columns — get the expansion order wrong and a ratio silently double-counts. Here's how datahashi keeps composition honest.
Modeling & metricsEntities and relationships in the semantic model
Metrics sit on entities. Relationships tell the layer how to join without letting every consumer reinvent the graph.
Modeling & metricsTime grains and asymmetric aggregates
Time grain is part of the metric contract. Some aggregates roll cleanly across grains. Others do not, and agents need to know the difference.
Modeling & metricsAdditive vs non-additive metrics
Why some metrics can be summed across dimensions and time, and why others must never be.
Modeling & metricsFan-out-safe metrics explained
What fan-out risk looks like in metric queries and how to keep aggregates correct.
Modeling & metricsDimensions that do not explode joins
How to model dimensions so metric grain stays correct and joins do not multiply rows.
Modeling & metricsYour first metric: name it, do not hand-write SQL
Walk through defining a first certified metric by name and measure without pasting hand-written SQL into the agent path.
Strategy & comparisonsThin layer, thick warehouse: what not to copy
What belongs in your warehouse versus your semantic layer, and why copying logic into both creates drift.
Governance & trust