This project is an E-Commerce Data Warehouse built using SQL Server and SSIS to support advanced business intelligence and analytics.
The system consolidates transactional data from a relational source into a dimensional model designed for reporting and insights into sales, payments, and inventory.
The main objectives:
- 🎯 Support decision-making with reliable analytical data.
- 📈 Provide insights into customer behavior, payments, sales trends, and supplier performance.
- 🔄 Enable ETL workflows for clean, transformed, and historical data storage.
- 🗄️ Database: Microsoft SQL Server
- ⚙️ ETL Tool: SQL Server Integration Services (SSIS)
- 🗂️ Modeling: ER Diagrams (Operational DB & DW)
- 📑 Documentation: PDF report with queries and analysis
The warehouse is designed following a star schema, with transactional fact tables and conformed/shared dimensions.
🔗 Data Warehouse Galaxy Schema
📂 See SQL Queries & Result Screenshots
The data warehouse is built through automated ETL workflows:
- 📥 Extract: Pull data from the operational relational database.
- 🔧 Transform: Clean, standardize, and integrate data (handling nulls, formatting, keys).
- 📤 Load: Insert transformed data into dimensional and fact tables.
✅ This ensures that the warehouse always contains clean, historical, and analysis-ready data.
📦 e-commerce-data-warehouse
┣ 📂 SSIS-Packages # SSIS packages for data extraction, transformation, loading
┃
┣ 📂 Relational-DB
┃ ┣ 📜 Physical ERD.png # Relational Schema Diagram
┃ ┣ 📜 Schema.sql # SQL script for datasource
┃
┣ 📂 DataWarehouse-Design
┃ ┣ 📜 Galaxy-Schema-DWH.png # Data warehouse schema
┃ ┣ 📜 Project Details.pdf # Full report with detailed queries and insights
┃ ┣ 📜 DW-Staging-Schema.sql # SQL script to create Staging & Data Warehouse tables
┃
┣ 📂 Queries-script
┃ ┣ 📜 Queries-Script.sql # SQL scripts containing the main analytical queries executed on fact tables
┃
┣ 📂 Screenshots # Contains screenshots of executed queries with their result sets for better visualization
┃
┣ 📜 README.md
- Screenshots available in
Screenshots/folder. - Includes queries for:
- 🔢 Total Number of Payments
- 🏆 Top Paying Customers
- 📅 Daily Revenue Report
-- top paying customers
SELECT C.custname, SUM(fp.PaymentAmount) AS TotalSpent
FROM DWH.f_payment fp
JOIN DWH.customer c ON fp.customerid = C.surkey
GROUP BY C.custname
ORDER BY TotalSpent DESC- Screenshots available in
Screenshots/folder. - Includes queries for:
- 💰 Top 5 Most Expensive Purchases
- 🏭 Total Cost Per Supplier
- 📊 Total Units Purchased Per Product
-- Top 5 Most Expensive Purchases
SELECT TOP 5
P.productname,
S.suppliername AS SupplierName,
F. [unitspurchased],
F. [costofpurchase]
FROM
DWH. f_inventory_purchases F
JOIN
DWH. product P ON F.productid = P.surkey
JOIN
DWH. supplier S ON F.supplierid = S.surkey
ORDER BY
F. [costofpurchase] DESC;- Queries were implemented but not included in this README for brevity.
- 📑 For full details and results, please check
DataWarehouse-Design/Project Details.pdf.
- 🔄 Built ETL workflows with SSIS for loading data from operational DB into the DW.
- 🗄️ Designed transactional fact tables for Sales, Payments, and Inventory Purchases.
- 📊 Delivered analytical queries and insights on customers, suppliers, and sales.
- ✅ Ensured clean, historical, and query-optimized data for BI reporting.