This repository contains an SSIS package that performs conditional data splitting based on country names. The package processes employee data from the AdventureWorksDW2017 database and distributes it into separate tables for the United States, United Kingdom, Germany, and others.
- Conditional Data Splitting: Divides data based on the
CountryRegionNamecolumn. - ETL Process: Demonstrates key ETL (Extract, Transform, Load) techniques using SQL Server Integration Services (SSIS).
- AdventureWorksDW2017 Integration: Uses the DimEmployee and DimSalesTerritory tables for data transformation.
- Dynamic Table Population: Creates and populates new tables for country-specific employee data.
- SQL Server: AdventureWorksDW2017 sample database installed.
- Visual Studio 2019: With the "SQL Server Integration Services Projects" extension.
- Environment: Ensure SSIS and OLE DB connections are properly configured.
- Employee data in the
DimEmployeetable lacks direct country information. - A left join between
DimEmployeeandDimSalesTerritorytables is performed usingSalesTerritoryKey. - The merged data is passed through a Conditional Split to separate it based on the
CountryRegionName.
-
Data Extraction:
- Two OLE DB Source tools fetch data from
DimEmployeeandDimSalesTerritorytables.
- Two OLE DB Source tools fetch data from
-
Data Transformation:
- Sort and merge data using the
Merge Jointool. - Split the data conditionally based on the
CountryRegionNamecolumn.
- Sort and merge data using the
-
Data Loading:
- Populate separate destination tables:
DimEmployee_UnitedStatesDimEmployee_UnitedKingdomDimEmployee_GermanyDimEmployee_Others
- Populate separate destination tables:
- Clone this repository.
git clone https://github.com/Zeekersky/AdventureWorks-SplitPackage
- Open the project in Visual Studio 2019 with the SSIS extension installed.
- Configure the OLE DB connection to point to your AdventureWorksDW2017 database.
- Build and execute the SSIS package.
- Verify the output in the respective destination tables using SQL Server Management Studio (SSMS).
Upon execution, the employee data will be split into four destination tables based on their CountryRegionName:
- United States:
DimEmployee_UnitedStates - United Kingdom:
DimEmployee_UnitedKingdom - Germany:
DimEmployee_Germany - Others:
DimEmployee_Others
- /SSIS_Package: Contains the SSIS project files.
- /Documentation: Includes the detailed project report (PDF).
The detailed project report can be accessed here.
For any queries or suggestions, feel free to reach out:
- Author: Akash Pal
- GitHub: Zeekersky