Models give every question the same definitions: SQL datasets with measures, segments, and relationships. The AI drafts them from plain language and learns as you work, and your team verifies what's canonical.
14-day trial. No credit card required.
Powering analytics for 5000+ teams worldwide
Semantic layer
A model is a SQL dataset with meaning attached: column descriptions, measures like MRR, segments like active subscriptions, a row grain, and joins to other models. Ask about revenue and the AI reuses that logic instead of rebuilding it from raw tables.
MRR by plan
Last 6 monthsShow MRR by plan for active subscriptions. Built from the verified Subscriptions model.
Reused from the semantic layer
- SUM(monthly_amount)
- Measuremonthly_recurring_revenue
- status = 'active'
- Segmentactive_subscriptions
- models.subscriptions
- ModelSubscriptions
Built with AI
Ask for a customer activity model and Basedash inspects your schema, picks the tables and joins, writes row-grain SQL, documents every column, and adds the measures and segments. Preview it on real data, refine it, and keep going.
New model
Create a customer activity model and define active users as people who completed at least one session in the last 30 days.
Customer activity
Drafted by AI- Row-grain SQLone row per session
- 7 columnsdescribed
- Measureactive_users
- Segmentactive_last_30_days
- Default time columnoccurred_at
Governed definitions
Every edit to a model's SQL or semantics saves a version you can restore. Admins verify the models that hold approved logic, and any edit clears the badge until someone reviews it, so agents never mistake a draft for the canonical metric.
History· Subscriptions
Used by 3 dashboards, 2 automationsChanges in version 14
Editing a segment removed verification until an admin reviews this version.
Changes in version 13
Verified by Priya Shah on Oct 3
Changes in version 12
Changes in version 11
One source of truth
Every surface reads the same models: chat, charts, dashboards, insights, automations, the SQL editor, and agents like Claude or Cursor through the MCP server. Already document tables in dbt? Basedash reads those descriptions from your warehouse too.
Dashboard · KPIs
$381,200
MRR · +5.2% vs. last month
Claude · Basedash MCP
MRR this month is $381,200, from the verified Subscriptions model.
#revenue · Weekly digest
MRR closed the week at $381,200. The Growth plan is up 4.5% this month.
monthly_recurring_revenue
Inside a model
No new modeling language to learn. A model is SQL in your source's own dialect, plus the metadata and controls a data team expects.
Plain SQL
Written in your source's dialect and queried as models.name.
Measures and segments
Named aggregates and filters the AI reuses in every query.
Relationships
Many-to-one, one-to-one, or one-to-many joins, set once.
Row grain and synonyms
Say what one row means and what people call the model.
Version history
Every SQL or semantic change is saved and restorable.
Admin verification
Agents prefer verified models, and any edit clears the badge.
Access rules apply
Row- and object-level rules filter model SQL and metadata.
REST API
Create and update models from scripts or CI.
“We evaluated Omni and other BI tools, but the speed to insight with Basedash is unmatched.”
Greg Demoge
Co-founder & CPO · FullEnrich
Read case study →
“Our selection criteria focused on speed, usability, AI-native exploration, governance, and the ability to move from business question to useful answer without the friction of traditional reporting workflows.”
Amro Alkhatib
AI Strategist · Purpose
Read case study →
How the semantic layer works, how it fits with dbt, and who controls your definitions.
What is the semantic layer in Basedash?
Basedash's semantic layer is built from models. A model is a reusable SQL dataset on one data source with semantic metadata attached: column descriptions and synonyms, measures such as monthly recurring revenue, segments such as active subscriptions, a default time column, a row grain, usage guidance, and relationships to other models. Models appear as read-only virtual tables you query by reference name, like models.subscriptions, and every Basedash AI gets their definitions and verification status when it answers a question.
Does Basedash work with dbt?
Yes, alongside it. Connect the warehouse where dbt builds your tables and Basedash queries those tables and views in place. Table and column descriptions in the warehouse, including the ones dbt persists there, are read automatically as AI context. Basedash doesn't parse dbt project files, so teams usually build models on top of their dbt marts to add the measures, segments, and relationships agents use, and can manage those models from CI through the REST API.
How do I define a metric like MRR or active users?
Define it as a measure on a model. A measure is a named aggregate expression, such as SUM(monthly_amount) for monthly recurring revenue, and a segment is a named filter, such as status = 'active'. Keep the model's SQL at row grain, one row per subscription for example, and set a default time column so the AI can group the metric by day, week, or month. Write these by hand, or describe the metric and let the AI draft the SQL, measures, and segments for you to review.
Can models handle data transformation?
Yes. Model SQL can clean, join, rename, and reshape raw tables into analysis-ready datasets, and a model can join other models and tables on the same data source. Each model runs in its source's native SQL dialect. To model across SaaS tools like Stripe and HubSpot, sync them into Basedash Warehouse, where each lands in its own schema on one source, then build models on top.
Why do models make AI answers more accurate?
Without models, an AI rebuilds business logic from raw tables on every question, and small differences add up: a missed filter, a wrong join, revenue counted twice. With models, Basedash gives its agents each model's measures, segments, row grain, relationships, synonyms, and verification status. The AI reuses measure expressions in SELECT and segment expressions in WHERE, joins along declared relationships to avoid fanout, and prefers verified models when more than one could answer.
Who can change a model, and how are changes reviewed?
Members can view and edit models for the data sources they can access, and row-level and object-level access rules still filter the model SQL and metadata each person sees. Every change to SQL or semantic metadata creates a version you can review and restore from History. Only organization admins can verify a model, and editing its SQL, columns, measures, segments, or default time column removes verification until an admin reviews the new version.
How are models different from skills?
Models hold executable logic: SQL datasets, measures, and segments that every query can reuse, so the numbers come out the same. Skills hold judgment: plain-language playbooks, such as how finance reports revenue or how to read an experiment, that the AI loads when a request calls for them. Most teams use both, with models for what to calculate and skills for how to analyze and present it.