Every sales team wrestles with the same fundamental problem, just under different names. Pipeline numbers live in one place, segment performance in another, and supplier fulfilment data somewhere else entirely. When a sales manager wants to know which segment is growing fastest, or which supplier is quietly eroding margins, someone has to join those tables together, build a report, and by the time it lands in an inbox it is already out of date.
We approached this the same way we approached Finance: one dashboard, live data, and a natural language assistant that answers real questions in plain language — with no SQL required.
The Problem We Were Solving
The sales team was monitoring five distinct areas of their business: revenue by customer segment, order count and average order value, supplier performance by region, shipment fulfilment rates by order priority, and quarter-over-quarter growth by segment. Each of these lived in a separate report.
When the team needed to compare the AUTOMOBILE segment against FURNITURE across three quarters, they either had to track down an analyst or attempt to reconstruct it in a spreadsheet. Neither approach was fast, and neither inspired confidence in the numbers.
What the team needed was a single location — accessible from a browser, requiring no technical knowledge — where anyone on the sales team could view current quarter data, ask follow-up questions in plain language, and act on the answers without waiting for support.
What We Used
- Dataset — TPC-H. A supply chain benchmark dataset preloaded within every Databricks workspace under
samples.tpch. It models customers, orders, line items, suppliers, parts, countries, and regions — the exact dimensions a sales team needs. - Storage — Unity Catalog. Data is stored in
dbw_pixel_demo.financials_domain— the same domain schema established during the Finance dashboard build. No additional data loading was required. - Gold Layer —
dbw_pixel_demo.sales_gold. Four SQL views handle all KPI computation. - Dashboard — Databricks AI/BI. Native drag-and-drop dashboard builder, entirely within Databricks.
- AI Layer — Genie. Natural language interface connected directly to the Gold layer.
The Dataset in Detail
The Sales dashboard uses six tables from dbw_pixel_demo.financials_domain, all sourced from samples.tpch:
| Table | Rows | What It Contains |
|---|---|---|
| orders | 7,500,000 | Every customer order — date, status, priority, total price |
| lineitem | 29,999,795 | Individual line items — quantity, price, discount, ship date, commit date |
| customer | 750,000 | Customer details — name, nation, market segment, account balance |
| supplier | 100,000 | Supplier details — name, nation, account balance |
| nation + region | 25 + 5 | Geographic hierarchy for regional analysis |
| partsupp | 4,000,000 | Supplier cost per part — used to calculate gross margin per supplier |
The five customer market segments — AUTOMOBILE, BUILDING, FURNITURE, HOUSEHOLD, and MACHINERY — behave like real business segments. The order priority levels from 1-URGENT to 5-LOW reflect genuine fulfilment tiers. The lineitem table contains l_shipdate and l_commitdate columns, which allowed us to derive late shipment rates without any additional data enrichment.
How the Architecture Works
Layer 1 — Raw Tables (financials_domain)
Eight TPC-H tables are stored in the financials_domain schema. These are not queried directly from the Sales dashboard. The joins are multi-table and complex, the column names are abbreviated, and the raw layer is not suited for non-technical consumption.
Layer 2 — Gold Views (sales_gold)
Four SQL views sit on top of the raw tables, each computing a specific set of KPIs:
- sales_kpi_summary — the headline view. Calculates net revenue, total orders, unique customers, total units sold, average order value, revenue per customer, and average discount percentage, segmented by customer segment and quarter.
- sales_by_priority — the fulfilment performance view. Computes revenue, order count, average discount, late shipment count, and late shipment rate per priority level per quarter. Late shipment rate is calculated directly from the lineitem table as COUNT(shipdate > commitdate) / COUNT(*) × 100.
- sales_rep_performance — the supplier profitability view. Joins lineitem to orders, partsupp, supplier, nation, and region to produce net revenue, gross profit, and gross margin percentage per supplier per quarter.
- sales_trend_qoq — the growth view. Uses a CTE to aggregate revenue by segment and quarter, then applies a LAG() window function to compute quarter-over-quarter growth percentage.
Layer 3 — Dashboard and Genie
The dashboard reads from the Gold views. Genie reads from the same Gold views. The same definitions power both surfaces, so there is no discrepancy between what a chart shows and what the AI returns.
The Dashboard Layout
- Row 1 — Five filters. Order Priority, Region, Year, Quarter, and Customer Segment. Every chart and KPI tile responds to all filters simultaneously.
- Row 2 — Six KPI tiles. Net Revenue, Total Orders, Unique Customers, Units Sold, Average Order Value, and Average Discount Percentage.
- Row 3 — Revenue by customer segment (bar chart) + Segment revenue share (donut chart).
- Row 4 — Quarterly revenue trend by segment (line chart) + Sales by order priority (bar chart).
- Row 5 — Top 10 suppliers by revenue (horizontal bar) with gross margin + Late shipment rate by priority (bar chart).
- Row 6 — Quarter-over-quarter growth by segment (grouped bar chart) with a zero reference line.
- Row 7 — Revenue by region and country (grouped bar chart).
The entire dashboard is live. No manual refresh. No export required. Opening it means seeing current numbers.
How We Configured Genie for Sales
We connected Genie to all four Gold views, designated them as Trusted Assets, and wrote detailed business instructions to ensure that Genie understands sales language and routes every question to the correct view.
Key routing instructions:
- “Revenue” means net_revenue — not gross revenue, not net_extended_price.
- “Growth” means qoq_growth_pct from sales_trend_qoq.
- “Late shipments” means late_shipment_rate_pct from sales_by_priority.
- When asking about suppliers, always include region alongside supplier name.
- When comparing segments, rank all five segments — not just the top performer.
- For trend questions, display at least four quarters of history.
- Segment questions route to sales_kpi_summary.
- Supplier and region questions route to sales_rep_performance.
- Fulfilment questions route to sales_by_priority.
- Growth questions route to sales_trend_qoq.
“Which customer segment generated the most revenue this year?”
Returns all five customer segments sorted on revenue, order count, and average order value.
“Which segment is growing fastest quarter over quarter?”
Returns QoQ growth rate per segment for the latest quarter in descending order.
“Which order priority has the highest late shipment rate?”
Shows results for all five priorities, ordered by late shipment rate and actual late shipment count.
“Which suppliers have the highest margins?”
Returns top suppliers ranked by gross margin percentage alongside revenue and region.
Four Things We Learned
1. Shared Data Foundations Accelerate Delivery
Because the Sales dashboard draws on the financials_domain tables already in place from the Finance build, the data loading step was entirely bypassed. When multiple teams examine different facets of the same underlying data, the correct approach is to load the raw data once and build individual Gold schemas for each team. This prevents duplication and reduces maintenance.
2. Late Shipment Rate Was the Metric the Sales Team Didn't Know They Needed
The late_shipment_rate_pct metric was added almost as a secondary consideration. It became one of the most actively used metrics on the entire dashboard. Sales managers began filtering by priority level and examining which order types were arriving late — connecting that directly to revenue impact. The insight was always there; it simply needed to be surfaced.
3. Supplier Margin Data Changes How Sales Teams Think About Performance
Before this dashboard, the sales team evaluated suppliers primarily on revenue. After the sales_rep_performance view was introduced — displaying gross margin percentage per supplier alongside revenue — the team began thinking about profitability. The two highest-revenue suppliers were not the two highest-margin suppliers. That discovery changed how supplier conversations were approached in quarterly reviews.
4. The QoQ Growth Chart Generates the Most Productive Discussions
Every sales review now starts with someone pointing to a bar on the QoQ growth chart and asking why it moved in a certain way. That is exactly what a good dashboard chart should do: raise a question, not confirm what we already assumed. The chart does not have the answer — it leads to the right question, and that is even more valuable.
How to Build This Yourself
- Confirm the data foundation. If the Finance dashboard has already been built, the TPC-H tables are already in
dbw_pixel_demo.financials_domain. No additional data loading is required. - Create the Gold schema. In SQL Editor:
CREATE SCHEMA IF NOT EXISTS dbw_pixel_demo.sales_gold. - Build the four Gold views. sales_kpi_summary, sales_by_priority, sales_rep_performance, sales_trend_qoq. All are standard SQL SELECT statements — no complex transformations.
- Build the dashboard. Create a new Databricks AI/BI dashboard, add all Gold views as datasets, and build the widgets using the drag-and-drop interface.
- Configure Genie. Add all four views as Trusted Assets, paste in the business routing instructions, add sample questions, and test thoroughly before publishing.
- Publish and share. Set auto-refresh to hourly and share the URL with the sales team.
Total setup time from schema creation to published dashboard is approximately two hours.
What Changed for the Sales Team
Before this dashboard, segment performance reviews happened once a week in a meeting where someone presented an Excel file on a shared screen. Questions that came up mid-meeting — “what did that look like in Q2 last year?”, “is this better or worse than the FURNITURE segment?” — required someone to leave the meeting, pull the data, and return with an answer. By which point the conversation had moved on.
After the dashboard was live, those questions are answered during the meeting. Someone opens the dashboard on a second screen, adjusts the filters, and the answer is visible in seconds. Genie handles the follow-up questions that require a more specific query.
The most significant shift was that sales managers stopped waiting for analysts to bring them information. They began finding it themselves. That was the goal from the start.
Final Thought
The Sales Intelligence Dashboard was built on a well-structured data foundation, four purpose-built Gold views, a live interactive dashboard, and a natural language AI layer connected to consistent, trusted definitions. The same architectural pattern that served the Finance team scales cleanly to sales — because the underlying data supports both.
The technical approach is deliberate and repeatable. Standard SQL. A clear separation between raw data and analytical views. A Genie configuration built around how sales users actually ask questions. The result is a dashboard that does not just display data — it actively supports how sales teams think, plan, and discuss performance.
We have done this for sales. We are ready to do it for you.