All Course Datasets
Browse all available datasets for the Power BI course. Each file includes a description, column information, and a small sample preview. Use the download buttons to get the files.
Northwind: Clean data for Session 1
Dirty files for Power Query exercises
Northwind Dataset (Clean)
Classic sample database for learning data modeling and visualization. Use these files for Session 1 demos.
customers.csv CLEAN
Customer master data with contact information, addresses, and regional data.
Use customerID to join with the orders table.
| customerID | companyName | contactName | city | country |
|---|---|---|---|---|
| ALFKI | Alfreds Futterkiste | Maria Anders | Berlin | Germany |
| ANATR | Ana Trujillo Emparedados | Ana Trujillo | México D.F. | Mexico |
| ANTON | Antonio Moreno Taquería | Antonio Moreno | México D.F. | Mexico |
products.csv CLEAN
Product catalog with pricing, stock levels, and supplier references.
Use productID to join with order-details, categoryID to join with categories.
| productID | productName | unitPrice | unitsInStock | categoryID |
|---|---|---|---|---|
| 1 | Chai | 18.00 | 39 | 1 |
| 2 | Chang | 19.00 | 17 | 1 |
| 3 | Aniseed Syrup | 10.00 | 13 | 2 |
orders.csv CLEAN
Order headers with customer references, dates, and shipping information.
Use orderID to join with order-details, customerID to join with customers.
| orderID | customerID | orderDate | shipCity | shipCountry |
|---|---|---|---|---|
| 10248 | VINET | 1996-07-04 | Reims | France |
| 10249 | TOMSP | 1996-07-05 | Münster | Germany |
| 10250 | HANAR | 1996-07-08 | Rio de Janeiro | Brazil |
order-details.csv CLEAN
Individual line items for each order with quantity, price, and discount.
This is a junction table linking orders to products. Use orderID and productID.
| orderID | productID | unitPrice | quantity | discount |
|---|---|---|---|---|
| 10248 | 11 | 14.00 | 12 | 0.00 |
| 10248 | 42 | 9.80 | 10 | 0.00 |
| 10248 | 72 | 34.80 | 5 | 0.00 |
categories.csv CLEAN
Product category names and descriptions. Use categoryID to join with products table.
Great for grouping products in visualizations.
| categoryID | categoryName | description |
|---|---|---|
| 1 | Beverages | Soft drinks, coffees, teas... |
| 2 | Condiments | Sweet and savory sauces... |
| 3 | Confections | Desserts, candies... |
employees.csv CLEAN
Employee information including names, titles, hire dates, and contact details.
Use employeeID to join with orders table to analyze by salesperson.
| employeeID | lastName | firstName | title | hireDate |
|---|---|---|---|---|
| 1 | Davolio | Nancy | Sales Representative | 1992-05-01 |
| 2 | Fuller | Andrew | Vice President, Sales | 1992-08-14 |
| 3 | Leverling | Janet | Sales Representative | 1992-04-01 |
shippers.csv CLEAN
Shipping company reference data. Use shipperID to analyze delivery methods.
Small lookup table for enriching order data.
| shipperID | companyName | phone |
|---|---|---|
| 1 | Speedy Express | (503) 555-9831 |
| 2 | United Package | (503) 555-3199 |
| 3 | Federal Shipping | (503) 555-9931 |
suppliers.csv CLEAN
Vendor and supplier contact information. Use supplierID to join with products.
Useful for supply chain analysis and vendor performance reporting.
| supplierID | companyName | contactName | country |
|---|---|---|---|
| 1 | Exotic Liquids | Charlotte Cooper | UK |
| 2 | New Orleans Cajun Delights | Shelley Burke | USA |
| 3 | Grandma Kelly's Homestead | Regina Murphy | USA |
Dirty Datasets (Power Query Exercises)
These files contain intentional data quality issues for learning Power Query transformations. Use these files for Session 2 exercises.
Employees_Dirty.csv DIRTY
Issues: Header noise rows, inconsistent text casing, double spaces in names,
mixed date formats (ISO, US, UK, written), N/A and PENDING as missing values,
inconsistent department naming with numbers.
| EmployeeID | FullName | Department | Salary | StartDate |
|---|---|---|---|---|
| E001 | Laura Williams | IT 216 | (blank) | 2019-12-29 |
| E003 | SARAH JOHNSON | Procurement 407 | 42679 | 02/08/2022 |
| E004 | JAMES LEE | Admin 371 | 61795 | 20th August 2024 |
Sales_Dirty.csv DIRTY
Issues: £ currency symbols in amounts, REFUND and TBC as invalid entries,
mixed date formats, inconsistent casing (uppercase products), blank payment methods,
inconsistent region names (south/North/EAST).
| SaleID | EmployeeID | Product Sold | Sale Amount | Sale Date | Region |
|---|---|---|---|---|---|
| S0001 | E136 | Widget B | 890.00 | 2024-08-23 | south |
| S0002 | E920 | TRAINING BUNDLE | 780.00 | 10/04/2024 | North |
| S0003 | E500 | Implementation Support | £1650.00 | 25/10/2023 | EAST |
Departments_Dirty.csv DIRTY
Issues: Extra header rows with report metadata, blank lines,
irregular spacing. Demonstrates the "Remove Top Rows" and "Promote Headers" transforms
needed for exported report data.
| Department | Manager | Budget |
|---|---|---|
| (blank) | (blank) | (blank) |
| (blank) | (blank) | (blank) |
| Department Report | (blank) | (blank) |
Data Model Reference
Recommended table relationships for the Northwind dataset in Power BI.
| From Table | Column | To Table | Column | Cardinality |
|---|---|---|---|---|
| customers | customerID | orders | customerID | One-to-Many |
| orders | orderID | order-details | orderID | One-to-Many |
| products | productID | order-details | productID | One-to-Many |
| categories | categoryID | products | categoryID | One-to-Many |
| employees | employeeID | orders | employeeID | One-to-Many |
| shippers | shipperID | orders | shipVia | One-to-Many |
| suppliers | supplierID | products | supplierID | One-to-Many |