CodeRigor

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.

Lessons & exercises6 authored lessons3 units
Start with the first lesson.

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:

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

SQL
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.

UNIT 012 lessons Questions, grain and trustworthy metrics
  1. 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
  2. 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
UNIT 022 lessons Relationships and honest visuals
  1. 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
  2. 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
UNIT 032 lessons Time, filters and the complete report
  1. 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
  2. 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