Your metrics are lying.
Fix that.
Six BI tools. Twelve definitions of "revenue." Zero alignment.
The Semantic Layer ends the chaos. Define once. Trust everywhere.
cubes:
- name: orders
measures:
- name: revenue
type: sum
sql: amount
- name: count
type: count
dimensions:
- name: status
type: stringOne Truth
Define metrics once in code. Every tool gets the same answer.
Code-First
YAML models. Git versioned. PR reviews for metric changes.
Sub-Second Queries
Pre-aggregations and smart caching. Dashboards finally load fast.
Built-in Security
Row-level, column-level security. Works with your existing RLS.
We had 47 different definitions of 'active user' across our BI tools. The Semantic Layer paid for itself in the first week by eliminating reconciliation meetings.
Metrics as code. Not spreadsheets.
Define cubes that map to your tables. Declare measures and dimensions in YAML. Version control everything. When Finance asks "what changed?", show them the git diff.
Define Cubes
Map business entities to database tables with measures and dimensions
Declare Measures
Sum, count, average, or custom SQL calculations—defined once, used everywhere
Add Dimensions
Group and filter your data with type-safe dimension definitions
Version Control
Your metric definitions are code. Review changes in PRs like any other code.
Query your way. We don't judge.
Sub-second queries at any scale. Pre-aggregations handle the heavy lifting.
Pre-aggregations
Materialize expensive queries automatically. Define once, refresh on schedule.
Smart Routing
Queries automatically served from cache when possible.
Partitioning
Time-based partitions for efficient historical queries.