{"id":20364254,"url":"https://github.com/phammings/sales-management-analysis","last_synced_at":"2026-02-01T01:06:25.453Z","repository":{"id":262480194,"uuid":"887353573","full_name":"phammings/Sales-Management-Analysis","owner":"phammings","description":"Sales management analysis and Power BI dashboard for sample business request and user stories","archived":false,"fork":false,"pushed_at":"2024-11-12T16:18:03.000Z","size":22865,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-15T04:17:18.918Z","etag":null,"topics":["data-analysis","excel","powerbi","sql"],"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/phammings.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-11-12T15:45:34.000Z","updated_at":"2024-11-12T16:35:29.000Z","dependencies_parsed_at":"2024-11-12T17:36:32.958Z","dependency_job_id":null,"html_url":"https://github.com/phammings/Sales-Management-Analysis","commit_stats":null,"previous_names":["phammings/salesmanagementanalysis"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phammings%2FSales-Management-Analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phammings%2FSales-Management-Analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phammings%2FSales-Management-Analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phammings%2FSales-Management-Analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phammings","download_url":"https://codeload.github.com/phammings/Sales-Management-Analysis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241904681,"owners_count":20040020,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["data-analysis","excel","powerbi","sql"],"created_at":"2024-11-15T00:10:44.474Z","updated_at":"2026-02-01T01:06:20.431Z","avatar_url":"https://github.com/phammings.png","language":"TSQL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sales Management Data Analysis Project\n\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n\n![Dashboard Overview](Images/dashboard1.png)\n\n\u003ch3 align=\"center\"\u003eSales Management Data Analysis Project\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\nThis project involved developing a comprehensive sales management dashboard tailored to the needs of sales managers and representatives. The goal was to enhance visibility into key metrics such as customer purchasing trends, product performance, and budget tracking.\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\n## [Power BI Download Link 🔗](https://github.com/phammings/SalesManagementAnalysis/blob/main/Sales%20Report.pbix)\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#roadmap\"\u003eRoadmap\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\n\n1. Business Request Review:\n   - Analyzed business requirements and outlined key user stories to guide dashboard functionality and ensure alignment with user needs.\n\n\n2. Data Cleansing and Transformation:\n   - Employed SQL to cleanse and transform data from various tables, including customer, product, and sales data, ensuring data consistency and quality for analysis.\n   \n\n3. Data Modeling and Dashboard Creation:\n   - Built a comprehensive data model in Power BI that integrated SQL data and additional Excel-based budget data.\n   Developed a dynamic, multi-page Power BI dashboard with visualizations for overall sales, top-performing customers and products, and sales trends over time, updated daily for ongoing insights.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- ROADMAP --\u003e\n## Roadmap\n\n### 1. Business Request \u0026 User Stories\nThe business request for this data analyst project was an executive sales report for sales managers. Based on the request that was made from the business we following user stories were defined to fulfill delivery and ensure that acceptance criteria’s were maintained throughout the project.\n\n| #  | Role              | Request                                      | User Value                                           | Acceptance Criteria                                               |\n|----|-------------------|----------------------------------------------|------------------------------------------------------|------------------------------------------------------------------|\n| 1  | Sales Manager     | To get a dashboard overview of internet sales | Can follow better which customers and products sell the best | A Power BI dashboard which updates data once a day                |\n| 2  | Sales Representative | A detailed overview of Internet Sales per Customer | Can follow up with customers that buy the most and identify opportunities for more sales | A Power BI dashboard which allows me to filter data for each customer |\n| 3  | Sales Representative | A detailed overview of Internet Sales per Product | Can track products that sell the most                   | A Power BI dashboard which allows me to filter data for each product |\n| 4  | Sales Manager     | A dashboard overview of internet sales        | Follow sales over time against budget                   | A Power BI dashboard with graphs and KPIs comparing against budget |\n\n\u003cbr\u003e\n\n### 2. Data Cleansing \u0026 Transformation (SQL)\nTo create the necessary data model for doing analysis and fulfilling the business needs defined in the user stories the following tables were extracted using SQL.\nOne data source (sales budgets) were provided in Excel format and were connected in the data model in a later step of the process.\nBelow are the SQL statements for cleansing and transforming necessary data.\n\n#### DIM_Calendar:\n\n```\n-- Cleansed DIM_Date Table --\nSELECT\n[DateKey],\n[FullDateAlternateKey] AS Date,\n--[DayNumberOfWeek],\n[EnglishDayNameOfWeek] AS Day,\n--[SpanishDayNameOfWeek],\n--[FrenchDayNameOfWeek],\n--[DayNumberOfMonth],\n--[DayNumberOfYear],\n--[WeekNumberOfYear],\n[EnglishMonthName] AS Month,\nLeft([EnglishMonthName], 3) AS MonthShort,   -- Useful for front end date navigation and front end graphs.\n--[SpanishMonthName],\n--[FrenchMonthName],\n[MonthNumberOfYear] AS MonthNo,\n[CalendarQuarter] AS Quarter,\n[CalendarYear] AS Year --[CalendarSemester],\n--[FiscalQuarter],\n--[FiscalYear],\n--[FiscalSemester]\nFROM\n[AdventureWorksDW2019].[dbo].[DimDate]\nWHERE\nCalendarYear \u003e= 2019\n```\n\n#### DIM_Customers:\n\n```\n-- Cleansed DIM_Customers Table --\nSELECT\nc.customerkey AS CustomerKey,\n--      ,[GeographyKey]\n--      ,[CustomerAlternateKey]\n--      ,[Title]\nc.firstname AS [First Name],\n--      ,[MiddleName]\nc.lastname AS [Last Name],\nc.firstname + ' ' + lastname AS [Full Name],\n-- Combined First and Last Name\n--      ,[NameStyle]\n--      ,[BirthDate]\n--      ,[MaritalStatus]\n--      ,[Suffix]\nCASE c.gender WHEN 'M' THEN 'Male' WHEN 'F' THEN 'Female' END AS Gender,\n--      ,[EmailAddress]\n--      ,[YearlyIncome]\n--      ,[TotalChildren]\n--      ,[NumberChildrenAtHome]\n--      ,[EnglishEducation]\n--      ,[SpanishEducation]\n--      ,[FrenchEducation]\n--      ,[EnglishOccupation]\n--      ,[SpanishOccupation]\n--      ,[FrenchOccupation]\n--      ,[HouseOwnerFlag]\n--      ,[NumberCarsOwned]\n--      ,[AddressLine1]\n--      ,[AddressLine2]\n--      ,[Phone]\nc.datefirstpurchase AS DateFirstPurchase,\n--      ,[CommuteDistance]\ng.city AS [Customer City] -- Joined in Customer City from Geography Table\nFROM\n[AdventureWorksDW2019].[dbo].[DimCustomer] as c\nLEFT JOIN dbo.dimgeography AS g ON g.geographykey = c.geographykey\nORDER BY\nCustomerKey ASC -- Ordered List by CustomerKey\n```\n\n#### DIM_Products:\n```\n-- Cleansed DIM_Products Table --\nSELECT\np.[ProductKey],\np.[ProductAlternateKey] AS ProductItemCode,\n--      ,[ProductSubcategoryKey],\n--      ,[WeightUnitMeasureCode]\n--      ,[SizeUnitMeasureCode]\np.[EnglishProductName] AS [Product Name],\nps.EnglishProductSubcategoryName AS [Sub Category], -- Joined in from Sub Category Table\npc.EnglishProductCategoryName AS [Product Category], -- Joined in from Category Table\n--      ,[SpanishProductName]\n--      ,[FrenchProductName]\n--      ,[StandardCost]\n--      ,[FinishedGoodsFlag]\np.[Color] AS [Product Color],\n--      ,[SafetyStockLevel]\n--      ,[ReorderPoint]\n--      ,[ListPrice]\np.[Size] AS [Product Size],\n--      ,[SizeRange]\n--      ,[Weight]\n--      ,[DaysToManufacture]\np.[ProductLine] AS [Product Line],\n--     ,[DealerPrice]\n--      ,[Class]\n--      ,[Style]\np.[ModelName] AS [Product Model Name],\n--      ,[LargePhoto]\np.[EnglishDescription] AS [Product Description],\n--      ,[FrenchDescription]\n--      ,[ChineseDescription]\n--      ,[ArabicDescription]\n--      ,[HebrewDescription]\n--      ,[ThaiDescription]\n--      ,[GermanDescription]\n--      ,[JapaneseDescription]\n--      ,[TurkishDescription]\n--      ,[StartDate],\n--      ,[EndDate],\nISNULL (p.Status, 'Outdated') AS [Product Status]\nFROM\n[AdventureWorksDW2019].[dbo].[DimProduct] as p\nLEFT JOIN dbo.DimProductSubcategory AS ps ON ps.ProductSubcategoryKey = p.ProductSubcategoryKey\nLEFT JOIN dbo.DimProductCategory AS pc ON ps.ProductCategoryKey = pc.ProductCategoryKey\norder by\np.ProductKey asc\n```\n\n#### FACT_InternetSales:\n```\n-- Cleansed FACT_InternetSales Table --\nSELECT\n[ProductKey],\n[OrderDateKey],\n[DueDateKey],\n[ShipDateKey],\n[CustomerKey],\n--  ,[PromotionKey]\n--  ,[CurrencyKey]\n--  ,[SalesTerritoryKey]\n[SalesOrderNumber],\n--  [SalesOrderLineNumber],\n--  ,[RevisionNumber]\n--  ,[OrderQuantity],\n--  ,[UnitPrice],\n--  ,[ExtendedAmount]\n--  ,[UnitPriceDiscountPct]\n--  ,[DiscountAmount]\n--  ,[ProductStandardCost]\n--  ,[TotalProductCost]\n[SalesAmount] --  ,[TaxAmt]\n--  ,[Freight]\n--  ,[CarrierTrackingNumber]\n--  ,[CustomerPONumber]\n--  ,[OrderDate]\n--  ,[DueDate]\n--  ,[ShipDate]\nFROM\n[AdventureWorksDW2019].[dbo].[FactInternetSales]\nWHERE\nLEFT (OrderDateKey, 4) \u003e= YEAR(GETDATE()) -2 -- Ensures we always only bring two years of date from extraction.\nORDER BY\nOrderDateKey ASC\n```\n\n### 3. Data Model\nBelow is a screenshot of the data model after cleansed and prepared tables were read into Power BI.\n\nThis data model also shows how `FACT_Budget` hsa been connected to `FACT_InternetSales` and other necessary DIM tables.\n\n![Dashboard Overview](Images/datamodel.png)\n\n### 3. Sales Management Dashboard\nThe finished sales management dashboard with one page with works as a dashboard and overview, with two other pages focused on combining tables for necessary details and visualizations to show sales over time, per customers and per products.\n\n![Dashboard Overview](Images/dashboard1.png)\n![Dashboard Overview](Images/dashboard2.PNG)\n![Dashboard Overview](Images/dashboard3.PNG)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Built With\n\n* [![SQL][SQL]][SQL-url]\n* [![Excel][Excel]][Excel-url]\n* [![Power BI][PowerBI]][PowerBI-url]\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n[Excel]: https://img.shields.io/badge/Excel-217346?style=for-the-badge\u0026logo=microsoft-excel\u0026logoColor=white\n[Excel-url]: https://www.microsoft.com/en-us/microsoft-365/excel\n[SQL]: https://img.shields.io/badge/SQL-4479A1?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white\n[SQL-url]: https://en.wikipedia.org/wiki/SQL\n[PowerBI]: https://img.shields.io/badge/Power%20BI-F2C811?style=for-the-badge\u0026logo=power-bi\u0026logoColor=black\n[PowerBI-url]: https://powerbi.microsoft.com/\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphammings%2Fsales-management-analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphammings%2Fsales-management-analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphammings%2Fsales-management-analysis/lists"}