{"id":18822895,"url":"https://github.com/salma-mamdoh/datawarehouse_project","last_synced_at":"2026-01-25T22:51:43.504Z","repository":{"id":243270953,"uuid":"811629543","full_name":"Salma-Mamdoh/Datawarehouse_Project","owner":"Salma-Mamdoh","description":"Our project for Datawarehouse  Course taken during fall 2024 semester","archived":false,"fork":false,"pushed_at":"2024-06-07T04:32:53.000Z","size":4661,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-29T11:56:08.097Z","etag":null,"topics":["analytics","dashboard","datawarehousing","deploy","elt","kpis","powerbi","sql","ssis"],"latest_commit_sha":null,"homepage":"","language":"TSQL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Salma-Mamdoh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-07T01:34:56.000Z","updated_at":"2025-02-06T03:02:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"6257c21b-b251-4c73-9917-e32c42bb74bc","html_url":"https://github.com/Salma-Mamdoh/Datawarehouse_Project","commit_stats":null,"previous_names":["salma-mamdoh/datawarehouse_project"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Salma-Mamdoh/Datawarehouse_Project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Salma-Mamdoh%2FDatawarehouse_Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Salma-Mamdoh%2FDatawarehouse_Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Salma-Mamdoh%2FDatawarehouse_Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Salma-Mamdoh%2FDatawarehouse_Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Salma-Mamdoh","download_url":"https://codeload.github.com/Salma-Mamdoh/Datawarehouse_Project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Salma-Mamdoh%2FDatawarehouse_Project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28761097,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T20:56:06.009Z","status":"ssl_error","status_checked_at":"2026-01-25T20:54:48.203Z","response_time":113,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analytics","dashboard","datawarehousing","deploy","elt","kpis","powerbi","sql","ssis"],"created_at":"2024-11-08T00:52:01.622Z","updated_at":"2026-01-25T22:51:43.488Z","avatar_url":"https://github.com/Salma-Mamdoh.png","language":"TSQL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Datawarehouse_Project ✨📊\n\u003c!DOCTYPE html\u003e\n\u003chtml lang=\"en\"\u003e\n\u003chead\u003e\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n  \u003cdiv class=\"container\"\u003e\n    \u003ch1\u003eTable of Contents\u003c/h1\u003e\n    \u003cul\u003e\n      \u003cli\u003e\u003ca href=\"#northwind-schema\"\u003eNorthwind Database Schema\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#KPIs\"\u003eKPIs\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#data-warehouse-design\"\u003eData Warehouse Design\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#etl-process\"\u003eETL Process\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#deploy and schedule\"\u003eDeploying and Scheduling\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#analytical-queries\"\u003eAnalytical Queries\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#interactive-dashboard\"\u003eInteractive Dashboard Uisng Power BI\u003c/a\u003e\u003c/li\u003e\n    \u003c/ul\u003e\n    \u003ch2 id=\"northwind-schema\"\u003eNorthwind Database Schema\u003c/h2\u003e\n   \u003cp\u003eThe Northwind database is a classic and fictional relational database that simulates the operations of a small trading company called Northwind Traders. The database is structured into several tables representing entities such as products, customers, orders, employees, suppliers, and categories. Each table contains attributes relevant to its respective entity, facilitating the storage and management of data related to the company's transactions, inventory, personnel, and interactions with customers and suppliers.\u003c/p\u003e\n    \u003ch3\u003eMain Tables\u003c/h3\u003e\n    \u003cul\u003e\n      \u003cli\u003e\u003cstrong\u003eProducts:\u003c/strong\u003e Stores information about the products offered by Northwind Traders.\u003c/li\u003e\n      \u003cli\u003e\u003cstrong\u003eCustomers:\u003c/strong\u003e Maintains the details of the customers who place orders.\u003c/li\u003e\n      \u003cli\u003e\u003cstrong\u003eOrders:\u003c/strong\u003e Captures the order details, including the customer, order date, and shipping information.\u003c/li\u003e\n      \u003cli\u003e\u003cstrong\u003eOrder Details:\u003c/strong\u003e Stores the individual line items for each order, including the product, quantity, and unit price.\u003c/li\u003e\n      \u003cli\u003e\u003cstrong\u003eEmployees:\u003c/strong\u003e Holds the data about the company's employees, such as their names, job titles, and reporting structure.\u003c/li\u003e\n      \u003cli\u003e\u003cstrong\u003eSuppliers:\u003c/strong\u003e Keeps track of the suppliers who provide products to Northwind Traders.\u003c/li\u003e\n      \u003cli\u003e\u003cstrong\u003eCategories:\u003c/strong\u003e Organizes the products into different categories.\u003c/li\u003e\n    \u003c/ul\u003e\n    \u003ch3\u003eDatabase Schema\u003c/h3\u003e\n    \u003cimg src=\"Northwind Schma.png\" alt=\"db schems\"\u003e\n    \u003ch2 id=\"KPIs\"\u003eKPIs\u003c/h2\u003e\n    \u003cp\u003eThe following table outlines a set of essential KPIs relevant to our project\u003c/p\u003e\n    \u003ctable\u003e\n      \u003ctr\u003e\n        \u003cth\u003eKPI\u003c/th\u003e\n        \u003cth\u003eDefinition\u003c/th\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eTotal Orders Handled\u003c/td\u003e\n        \u003ctd\u003eThe aggregate count of orders managed and fulfilled by shippers, indicating operational throughput and workload distribution efficiency.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eAverage Shipment Time\u003c/td\u003e\n        \u003ctd\u003eThe mean duration taken by each shipper to complete order deliveries, reflecting the speed and reliability of shipping services provided.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eAverage Shipment Cost\u003c/td\u003e\n        \u003ctd\u003eThe average expense incurred per shipment by individual shippers, serving as a key metric for evaluating shipping cost effectiveness and operational expenditure management.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eTotal Units Sold\u003c/td\u003e\n        \u003ctd\u003eThe cumulative quantity of units sold across all product offerings, indicating sales volume and market demand for each product.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eTotal Revenue\u003c/td\u003e\n        \u003ctd\u003eThe aggregated revenue generated from the sale of all products, serving as a primary indicator of sales performance and revenue generation capability.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eRevenue per Unit\u003c/td\u003e\n        \u003ctd\u003eThe average revenue generated per unit sold for each product, providing insights into pricing strategies, product profitability, and customer purchasing behavior.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eTotal Number of Orders\u003c/td\u003e\n        \u003ctd\u003eThe overall count of orders placed by customers, representing sales activity levels and customer engagement with the business.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eTotal Sales Revenue\u003c/td\u003e\n        \u003ctd\u003eThe total monetary value generated from all sales transactions, serving as a key financial metric for assessing business performance and revenue growth.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eAverage Order Value\u003c/td\u003e\n        \u003ctd\u003eThe mean monetary value of individual orders placed by customers, providing insights into customer spending patterns and purchase behavior, and informing marketing and sales strategies.\u003c/td\u003e\n      \u003c/tr\u003e\n    \u003c/table\u003e\n    \u003ch2 id=\"data-warehouse-design\"\u003eData Warehouse Design\u003c/h2\u003e\n    \u003ch4\u003eData Staging Area\u003c/h4\u003e\n    \u003cp\u003eThe data staging area plays a pivotal role in the construction of the data warehouse. It serves as an intermediary step where data is collected, transformed, and prepared for integration into the warehouse.\u003c/p\u003e\n    \u003cul\u003e\n      \u003cli\u003e\u003cstrong\u003eData Extraction:\u003c/strong\u003e Relevant data is extracted from source systems, such as the Northwind database.\u003c/li\u003e\n      \u003cli\u003e\u003cstrong\u003eData Transformation:\u003c/strong\u003e Data undergoes transformations to standardize formats, handle null values, and perform other necessary modifications.\u003c/li\u003e\n      \u003cli\u003e\u003cstrong\u003eData Loading:\u003c/strong\u003e Transformed data is loaded into staging tables within the data warehouse, ensuring cleanliness and consistency for downstream processing.\u003c/li\u003e\n    \u003c/ul\u003e\n    \u003ch4\u003eData Warehouse Construction\u003c/h4\u003e\n    \u003ch5\u003eFacts\u003c/h5\u003e\n    \u003ctable\u003e\n      \u003ctr\u003e\n        \u003cth\u003eFact Table\u003c/th\u003e\n        \u003cth\u003eDescription\u003c/th\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eF_Shipper\u003c/td\u003e\n        \u003ctd\u003eCaptures shipping-related metrics such as the number of orders handled, average shipment time, and average shipment cost.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eF_Product\u003c/td\u003e\n        \u003ctd\u003eStores data on product sales, including the number of sold items, total revenue, and supplier information.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eF_Sales\u003c/td\u003e\n        \u003ctd\u003eTracks sales transactions made by employees, including the number of orders served and total revenue generated.\u003c/td\u003e\n      \u003c/tr\u003e\n    \u003c/table\u003e\n    \u003ch5\u003eDimensions\u003c/h5\u003e\n    \u003ctable\u003e\n      \u003ctr\u003e\n        \u003cth\u003eDimension Table\u003c/th\u003e\n        \u003cth\u003eDescription\u003c/th\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eD_Date\u003c/td\u003e\n        \u003ctd\u003eContains date-related attributes for time-based analysis.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eD_Location\u003c/td\u003e\n        \u003ctd\u003eStores location information for customers, suppliers, and shipping destinations.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eD_Customer\u003c/td\u003e\n        \u003ctd\u003eHolds details about customers, such as name, location, and segment.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eD_Employee\u003c/td\u003e\n        \u003ctd\u003eStores information about employees, including their names and job titles.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eD_Supplier\u003c/td\u003e\n        \u003ctd\u003eContains details about suppliers, such as name and location.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eD_Product\u003c/td\u003e\n        \u003ctd\u003eStores information about products, including category, supplier, and unit price.\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eD_Shipper\u003c/td\u003e\n        \u003ctd\u003eContains details about shipping companies, such as name and location.\u003c/td\u003e\n      \u003c/tr\u003e\n    \u003c/table\u003e\n    \u003ch4\u003eDatawarehouse Schema\u003c/h4\u003e\n    \u003cimg src=\"Final DWH Star Schema.png\" alt=\"dwh schema\"\u003e\n    \u003ch2 id=\"etl-process\"\u003eETL Process\u003c/h2\u003e\n      \u003cp\u003eIn this project, I utilized SQL Server Integration Services (SSIS) to design and implement a robust ETL process for populating a data warehouse, seamlessly integrating diverse data sources. To optimize the ETL, I implemented an incremental load strategy, enabling real-time data integration and analysis. The data warehouse schema supported comprehensive analysis, with fact tables capturing key business metrics complemented by dimension tables providing essential context. By leveraging SSIS and incremental loading, I delivered a solution that empowers stakeholders with timely and accurate insights to drive informed decisions.\u003c/p\u003e\n    \u003cp\u003eThis is a screenshot of the ETL Process for Product Fact Table loading \u003c/p\u003e\n        \u003cimg src=\"control flow-porductload.png\" alt=\"ssis1\" style=\"max-width: 100%; height: auto;\"\u003e\n        \u003cimg src=\"Productload-loadingtoStage.png\" alt=\"ssis2\" style=\"max-width: 100%; height: auto;\"\u003e\n        \u003cimg src=\"ProductFact_LoadingtoFact.png\" alt=\"ssis3\" style=\"max-width: 100%; height: auto;\"\u003e\n    \u003cp\u003e To see other packages download folder SSIS and enjoy :) \u003c/p\u003e\n    \u003ch2 id=\"deploy and schedule\"\u003eDeploying and Scheduling\u003c/h2\u003e\n    \u003cp\u003eIn the deployment and scheduling phase, the SSIS catalog facilitated the organization and deployment of SSIS projects, packages, and environments. SQL Server Agent jobs were utilized to automate the execution of SSIS packages, enabling efficient ETL workflows. Each job executed specific SSIS packages responsible for loading dimension and fact tables. By defining job schedules and dependencies, ETL processes ran reliably according to business requirements. The centralized approach streamlined management and integration with other SQL Server components. This framework provided a robust foundation for automating and managing ETL processes, facilitating informed decision-making and driving business outcomes.\u003c/p\u003e\n    \u003ch2 id=\"analytical-queries\"\u003eAnalytical Queries\u003c/h2\u003e\n    \u003cul\u003e\n    \u003cli\u003e\u003cstrong\u003eQuery 1:\u003c/strong\u003e Identifies the fastest shipper for each country based on average shipment time during the specified period.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eQuery 2:\u003c/strong\u003e Finds the top supplier in terms of revenue for each country during the specified period.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eQuery 3:\u003c/strong\u003e Calculates the total number of units sold by each supplier during the specified period.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eQuery 4:\u003c/strong\u003e Calculates the average shipment cost for each country.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eQuery 5:\u003c/strong\u003e Calculates the total number of orders handled by each employee during the specified period.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eQuery 6:\u003c/strong\u003e Calculates the total number of orders processed by each shipper during the specified period.\u003c/li\u003e\n    \u003cli\u003e\u003cstrong\u003eQuery 7:\u003c/strong\u003e Calculates the total revenue generated by each country during the specified period.\u003c/li\u003e\n  \u003c/ul\u003e\n    \u003ch2 id=\"interactive-dashboard\"\u003eInteractive Dashboard Using Power BI\u003c/h2\u003e\n    \u003cul\u003e\n  \u003cli\u003e\u003cstrong\u003eCategory Sales Analysis:\u003c/strong\u003e This section displays the total sales revenue for different product categories, providing insights into the best-selling and underperforming product lines.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eCustomer Order Distribution:\u003c/strong\u003e Here, the distribution of orders among major customers is visualized through a pie chart, highlighting the top contributors to the company's revenue.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eGlobal Revenue Overview:\u003c/strong\u003e This section presents the total revenue generated from different countries, offering insights into the company's global reach and performance.\u003c/li\u003e\n  \u003cli\u003e\u003cstrong\u003eEmployee Performance:\u003c/strong\u003e Employee productivity and performance are showcased here, listing the top employees by the number of orders processed.\u003c/li\u003e\n\u003c/ul\u003e\n  \u003c/div\u003e\n  \u003cimg src=\"Dashboard.jpg\" alt=\"dwh schema\"\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalma-mamdoh%2Fdatawarehouse_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsalma-mamdoh%2Fdatawarehouse_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalma-mamdoh%2Fdatawarehouse_project/lists"}