This project demonstrates the implementation of all three types of Slowly Changing Dimensions (SCD) using Informatica PowerCenter. SCDs are used in data warehousing to manage and track changes in dimension tables over time.
The project includes the following SCD types:
- SCD Type 1 (Overwrite Changes): Updates records by overwriting old values.
- SCD Type 2 (Track History): Maintains historical changes by adding new records with versioning or start/end date fields.
- Date Method : Maintaining history using
effective_dateandend_dateattributes. - Flag Method : Maintaining history using a
flagattribute to differentiate active and inactive records. - Version Method : Maintaining history using a
versionattribute to track record versions.
- Date Method : Maintaining history using
- SCD Type 3 (Limited History): Stores historical changes in separate columns within the same record.
The mappings use various transformations to implement Slowly Changing Dimensions:
- Source Qualifier to read source data.
- Lookup on the target table to identify active records.
- Expression Transformation with MD5 function to compare changes between source and target.
- Router Transformation to divert records for Insert and Update based on detected changes.
- Update Strategy Transformation to handle updates per SCD type (overwrite, add new version, or update existing fields).
- Target Definition to load final records into the data warehouse.

🔹 Compares source and target using MD5, identifies changes, and routes records for insert/update.

🔹 Shows successful execution of the workflow processing changes in dimension records.

🔹 Demonstrates historical tracking using Effective Date and End Date columns.
/scd-implementation-informatica
│── /mappings # Informatica PowerCenter mappings for SCD types
│── /workflows # Workflows created for executing mappings
│── /source_data # Sample source data files
│── /target_data # Expected target data files after SCD processing
│── /images # Screenshots of mappings, workflows, and results
│── /sql_scripts # SQL scripts for source and target table structures
│── README.md # Documentation for the project
Before running the mappings, ensure you have:
- Informatica PowerCenter installed (minimum version 10.x recommended)
- Access to a relational database (Oracle, SQL Server, MySQL, etc.)
- Source and target tables created according to SCD specifications (Refer Tables Structure File)
- Clone the repository
git clone https://github.com/navDataEng/scd-implementation-informatica.git
- Import the mappings and workflows into Informatica PowerCenter.
- Configure the source and target connections based on your database.
- Run the workflows to observe how different SCD types process data.
For detailed visual documentation, refer to the /images folder, where you will find:
- Mappings for each SCD type
- Workflow execution screenshots
- Before and after target table data samples
- Tracking customer profile changes over time
- Managing product price history
- Handling employee job title updates
- Maintaining product category changes over different periods
Feel free to fork this repository and enhance it with additional SCD variations, optimizations, or documentation.
This project is licensed under the MIT License.
🔗 Author: Naveen Madala
📧 Contact: madalanaveen9@gmail.com
🔗 LinkedIn: https://www.linkedin.com/in/madalanaveen
