Real analyst problem
Your client has ‘revenue’, ‘Revenue’, ‘Rev’, and ‘total_revenue’ across different files. The semantic layer maps them all to one canonical measure — so ‘show me revenue by month’ always means the same thing, regardless of which dataset you’re querying.
Measures, dimensions, and hierarchies
Define numeric measures (revenue, units sold, profit margin) and categorical dimensions (region, product category, sales rep). Add hierarchies for drill-down (Year → Quarter → Month). Dotwave reasons over these when building charts.
Synonyms for plain-English queries
Add synonyms so ‘income’, ‘sales’, and ‘revenue’ all resolve to the same measure when someone asks a question in plain English.
Consistent across every chart
Once defined, the semantic layer applies to every chart, every NL query, and every auto-suggested visualization — not just the one you built it for.