COURSE / REAL PRACTICE
From SQL results to useful dashboards
Define metrics at the right grain, reconcile native SQL results and publish an interactive sales-report snapshot with honest charts.
Read the explanation and diagrams, then work through the practice. Your browser profile supplies your saved progress.
What you’ll work toward
Build a working interactive dashboard backed by reconciled SQLite results and original CSV fixtures. Define completed-order net value, weighted averages, filter effects and comparison coverage without requiring a Power BI subscription.
Read an explanation, inspect the diagrams and work through the available checks, debugging exercises and builds. Feedback and prerequisite links guide the next step.
Before you start
This course builds on these skills:
- Grouping, aggregates & HAVING
- Joins, cardinality & missing matches
- NULL, expressions & CASE
- Cardinality and relationship tables
Individual lessons can add prerequisites. Your lesson progress shows your actual readiness.
A look inside the first lesson
State the question, row grain and denominator
WITH input_orders(id,status,net_cents) AS (
VALUES(1,'completed',0),(2,'completed',1000),(3,'pending',5000)
)
SELECT id,net_cents FROM input_orders
WHERE status='completed' ORDER BY id;Your lesson sequence
Follow the same units and lessons in either view. Prerequisite links and your practice progress stay with each lesson.
Questions, grain and trustworthy metrics
- LESSON 01.01
State the question, row grain and denominator
Select one row per completed order, preserve unknown dimensions and define exactly which orders contribute to the metric.
Open lesson - LESSON 01.02
Reconcile totals and calculate a weighted average
Aggregate the selected order population, keep empty sums explicit and divide total cents by the correct total order count.
Open lesson
Relationships and honest visuals
- LESSON 02.01
Prevent join fanout before you sum
Aggregate line and refund children independently, then join those one-order totals without losing orders or unknown dimensions.
Open lesson - LESSON 02.02
Choose an honest chart for the question
Prepare categorical bar data, retain empty channels and expose a zero baseline while preserving negative adjustments.
Open lesson
Time, filters and the complete report
- LESSON 03.01
Keep zero days and propagate filters consistently
Join daily aggregates to a known calendar so quiet days remain visible and every measure uses the same dimension filters.
Open lesson - LESSON 03.02
Publish a reconciled interactive report
Align current/prior windows, define undefined comparisons and export a complete offline dashboard with filters, honest charts and metric definitions.
Open lesson