Skip to content

Latest commit

 

History

History
101 lines (79 loc) · 5.22 KB

File metadata and controls

101 lines (79 loc) · 5.22 KB

Analytics Engineer Project - Adventure Works

dbt Snowflake Power Bi Figma


About The Project

This project was developed as a solution for the Analytics Engineer Certification challenge from Indicium. The objective was to build a data warehouse and a dashboard for the sales area of Adventure Works, a bicycle manufacturer, following Modern Data Stack project practices. The project used the ELT approach, in which the raw data extracted and loaded into a "raw" schema in Snowflake was transformed in dbt, creating a dimensional model after the "staging", "intermediate" and "marts" layers. After the last layer, the data warehouse was finalized, with the fact and dimension tables created in the data warehouse schema in Snowflake. Finally, Power BI was connected to the data warehouse for the development of the sales area dashboard, meeting the business needs of Adventure Works.

Data Sources

The project used public data from the Adventure Works transactional database, which contains 68 tables distributed across 5 schemas: HR, Sales, Production, and Purchasing. The complete database diagram can be viewed below.

Adventure Works database entity relationship diagram

All tables in the database were previously loaded into a "raw" schema in Snowflake, the platform used to host the data warehouse in the cloud.

To develop a project using Adventure Works data, the data can be obtained from the GitHub repository: https://github.com/microsoft/sql-server-samples/tree/master/samples/databases/adventure-works.

Data Warehouse

The data warehouse was built following the entity-relationship diagram developed for this project, based on a Star Schema. Five dimensions were created: "dim_customers," "dim_products," "dim_sellers," "dim_address," and "dim_dates," and one fact table: "fact_orders_details."

To transform the data and create the data warehouse, dbt was used in conjunction with Snowflake. The data went through three transformation layers: "staging," "intermediate," and "marts."

Initially, the necessary tables with the raw data were cleaned in the "staging" layer. Then, they were transformed in the "intermediate" layer, where the dimensions were consolidated, and the business metrics of the fact table were created. Finally, in the "marts" layer, the dimension and fact tables were created, according to the data warehouse diagram. All layers and models developed can be found in the "models" folder of this repository.

Additionally, documentation was created for the models in the .yml files, and generic and singular tests were applied.

BI Dashboard

The interactive dashboard was developed in Power BI, connected to the data warehouse in Snowflake. The page design was created in Figma, and the data visualizations were designed to meet the business needs of the Adventure Works sales area, as specified in the certification challenge.

The complete dashboard can be viewed by clicking here.

BI Sales - Home page BI Sales - Product page

BI Sales - Seller page BI Sales - Location page

License

This project is under MIT License, see the LICENSE.txt file for more details.