Project 01 — Sales Dashboard¶
Navigation: Projects Index | Next → 02 — Budget Tracker
Overview¶
Build an interactive sales dashboard from raw transaction data: import a CSV, enrich it with formulas, summarize it with PivotTables, and present it as a one-screen dashboard with charts, KPIs, and slicers.
Skills: Importing data, Tables, Lookups, Date functions, PivotTables, PivotCharts, Slicers, Charts Notes used: 02, 07, 08, 11, 12
The Data¶
sales-data.csv contains ~40 sales transactions with these columns:
| Column | Description |
|---|---|
| OrderID | Unique order number |
| OrderDate | Date of sale (YYYY-MM-DD) |
| Region | North / South / East / West |
| Rep | Sales representative |
| Product | Product name |
| Units | Quantity sold |
| UnitPrice | Price per unit |
A second file, products.csv, is a lookup table of Product → Category → Cost, so you can practice joining and computing profit.
What You'll Build¶
A Dashboard sheet showing:
- KPI cards: Total Revenue, Total Units, Average Order Value, Number of Orders.
- Revenue by Region (column chart).
- Revenue by Month (line chart — the trend).
- Top 5 Products (bar chart).
- Slicers for Region and Rep, plus a Timeline for OrderDate, controlling everything at once.
Walkthrough¶
Step 1 — Import and make a Table¶
- Data → Get Data → From Text/CSV → select
sales-data.csv→ check column types → Load. - The data loads as a Table. Rename it
Sales(Table Design → Table Name).
Step 2 — Enrich with calculated columns¶
Add these columns to the Sales table (structured references auto-fill the column):
Revenue: =[@Units]*[@UnitPrice]
MonthKey: =TEXT([@OrderDate], "yyyy-mm")
Category: =XLOOKUP([@Product], Products[Product], Products[Category], "Other")
Cost: =[@Units]*XLOOKUP([@Product], Products[Product], Products[Cost], 0)
Profit: =[@Revenue]-[@Cost]
products.csv as a Table named Products first. If you don't have XLOOKUP, use INDEX/MATCH or VLOOKUP.)
Step 3 — Build the PivotTables¶
On a Pivots sheet, create (Insert → PivotTable) one each:
- Revenue by Region: Region in Rows, Sum of Revenue in Values.
- Revenue by Month: MonthKey in Rows, Sum of Revenue in Values.
- Revenue by Product: Product in Rows, Sum of Revenue in Values; sort descending and filter Top 5.
Step 4 — KPI cards¶
On the Dashboard sheet, add big-number formulas:
Total Revenue: =SUM(Sales[Revenue])
Total Units: =SUM(Sales[Units])
Number of Orders: =COUNTA(Sales[OrderID])
Average Order Value: =SUM(Sales[Revenue])/COUNTA(Sales[OrderID])
Step 5 — Charts¶
Create a PivotChart from each PivotTable (column for Region, line for Month, bar for Top-5 Products). Title each clearly, add data labels, remove clutter.
Step 6 — Make it interactive¶
- Click a PivotTable → PivotTable Analyze → Insert Slicer → Region and Rep.
- Insert Timeline → OrderDate.
- Right-click each slicer/timeline → Report Connections → tick all the PivotTables so one control filters the whole dashboard.
Step 7 — Polish¶
Arrange KPIs across the top, charts below, slicers on the left. Align to a grid, use one consistent color palette, and put the headline KPI top-left. Data → Refresh All before sharing.
Learning Goals¶
After this project you can: - Import and enrich raw transactional data into an analysis-ready Table. - Join a lookup table to compute derived metrics like profit. - Summarize with multiple PivotTables and visualize with PivotCharts. - Wire slicers/timeline to build a single interactive dashboard.
Extensions¶
- Add a Profit Margin KPI (
=SUM(Profit)/SUM(Revenue)), formatted as %. - Add a % of Grand Total view to the Region pivot.
- Add conditional formatting (data bars) to the product list.
- Add a Region-over-time combo chart.
Projects Index | Next → 02 — Budget Tracker