Analytics · Intermediate

Power BI and SQL Reporting

Build trustworthy business reports end to end: write the SQL reporting layer in PostgreSQL 16, then model, measure and design a Power BI report on it and validate every number against the source.

About this course

A report is only useful if people can trust its numbers. This course teaches reporting as two halves of one job. The **SQL half is fully hands-on**: you work in **PostgreSQL 16** against `meridian`, a synthetic sales-and-support star schema for a fictional outdoor-gear retailer, and write the queries and views that a dashboard reads — aggregations and grouping, window functions for running totals, period-over-period and cohorts, reporting views, and the query-performance techniques (indexes, materialized views) that keep a dashboard fast. Every query in these lessons was executed against PostgreSQL 16 and the output you see is the output that was observed. The **Power BI half is taught as concepts and a worked specification**. Power BI Desktop is a free Microsoft application, but it runs only on Windows and the terms for a paid hosted-classroom lab are still being confirmed, so this course does **not** claim to host a Power BI lab. Instead it teaches the ideas precisely — Get Data and Power Query/M, the data model and relationships, DAX measures and time intelligence, visual choice and honest report design, refresh, parameters, publishing and row-level security — with correct DAX, clearly labelled `[SCREENSHOT: ...]` placeholders, and a downloadable `.pbix` specification you build. If you want to follow along hands-on, install free Power BI Desktop on your own Windows machine and connect it to the same SQL source. The final project ties the halves together: you build the SQL reporting layer for a described business (validated views, executed against PostgreSQL) and a documented Power BI report specification (model, DAX measures, visuals), with a validation note that reconciles the report's headline numbers to the SQL source. You finish able to reason about where a number comes from and prove it.

Content time
14 h 20 min
Lessons
10
Certificate
Yes
on completion
Choose a career path

Lesson 1 is free. Enroll in a career path to access its full courses.

Lesson 1 is a free preview — read it without an account.

Analytics — the kind of infrastructure this course is practised on

Outline

Lessons

10 lessons · 14 h 20 min
  1. Lesson 1: Reporting, and the reporting stackFree preview

    What reporting is (and is not), the layers between a database and a dashboard, and how Power BI reaches a SQL source.

    55 min
  2. Lesson 2: SQL aggregations for dashboards

    Turn a star schema into dashboard-ready numbers with GROUP BY, FILTER, HAVING and ROLLUP, and publish the base view every report reads.

    1 h 30 min
  3. Lesson 3: Window functions and time

    Running totals, month-over-month and year-over-year change, and cohort reorder rates with SQL window functions — the calculations a trend report lives on.

    1 h 35 min
  4. Lesson 4: Reporting views and performance

    Package report logic in views, pre-aggregate with a materialized view, and use EXPLAIN and indexes to keep a dashboard fast.

    1 h 25 min
  5. Lesson 5: Get Data and Power Query

    Connect Power BI Desktop to the SQL source, choose Import or DirectQuery, and clean and shape data with Power Query and the M language.

    1 h 30 min
  6. Lesson 6: The data model and star schema

    Build a Power BI model as a star of dimensions and facts, with correct relationships, cardinality and cross-filter direction — the same shape you queried in SQL.

    1 h 25 min
  7. Lesson 7: DAX fundamentals

    Write DAX measures and calculated columns, understand filter and row context, modify context with CALCULATE, and add time intelligence — with correct DAX throughout.

    1 h 50 min
  8. Lesson 8: Visuals and report design

    Choose the right visual for each question, make a report interactive and accessible, and avoid the chart choices that mislead.

    1 h 25 min
  9. Lesson 9: Refresh, parameters, and row-level security

    Publish a report, keep it current with scheduled refresh and a gateway, parameterise the connection, and restrict rows per user with row-level security.

    1 h 25 min
  10. Lesson 10: Delivering a trustworthy report

    Validate a report's numbers against the SQL source, keep it performant, and govern it so people can rely on it over time.

    1 h 20 min

Where it leads

Part of these career paths