Project · Intermediate · about 16 hours
E-commerce star schema and DAX dashboard
Model a real Brazilian marketplace's orders as a star schema and build a Power BI report with time intelligence.
Skills:Data modelling, Power BI, SQL
Part of: Data Analyst
Data and licences
- Olist Brazilian E-Commerce Public Dataset (Kaggle) ↗CC BY-NC-SA 4.0 (non-commercial use, share alike)
Brief
Olist connects small Brazilian sellers to large marketplaces. The dataset has about 100,000 orders from 2016 to 2018 across nine related CSV files: orders, items, payments, reviews, customers, sellers, products, geolocation and category translations. Leadership wants a report on sales, delivery performance and customer satisfaction.
What to build
Declare two grains: order item (sales) and order (delivery and review).
Build dimensions: customer, seller, product (with English category names), date. Check each key is unique.
Build
fct_order_itemandfct_order. Compute delivery delay (delivered minus estimated date) onfct_order.In Power BI: relationships, a marked date table, measures for revenue, orders, average order value, on-time delivery rate, average review score, revenue MTD and YTD, and previous-month comparisons.
Answer: which categories grow fastest, and does late delivery lower review scores?
Deliverables
models/with your SQL or Power Query, and the.pbixmodel.pngwith grains written next to each fact tablereconcile.sqlor a check page: row counts and revenue match the source files
How it is graded
The model is graded before the visuals: a wrong grain or duplicated keys caps the score. Then DAX correctness and the clarity of the answers.
Stretch
Add row-level security by seller state and test it with "View as".
Deliverables
- SQL or Power Query that builds fact and dimension tables
- A model diagram with the declared grain of each fact table
- A Power BI report with at least six DAX measures including time intelligence
- A reconciliation check showing the model matches the source
How a reviewer grades it
| Criterion | Weight | What good looks like |
|---|---|---|
| Grain declared and respected, keys unique, relationships correct | 35% | |
| DAX measures correct, including MTD, YTD and previous period | 25% | |
| Report answers clear business questions | 25% | |
| Reconciliation and documentation | 15% |