100% found this document useful (1 vote)
600 views5 pages

Design/Implement/Create SCD Type 2 Effective Date Mapping in Informatica

This document describes how to implement a Slowly Changing Dimension (SCD) Type 2 with effective dates in Informatica. It involves: 1. Setting up source and target tables with start and end date fields. 2. Using transformations like lookup, filter, and update strategy to identify new, changed and current records and insert/update the target table appropriately. 3. Setting the start date to current date for new/changed records and end date to current date for changed records already in the target. The process is divided into 4 parts - setting up the mapping flow, inserting new records, inserting changed records, and updating changed records end dates. Expressions are used to identify new/changed

Uploaded by

rameshsamarla
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
600 views5 pages

Design/Implement/Create SCD Type 2 Effective Date Mapping in Informatica

This document describes how to implement a Slowly Changing Dimension (SCD) Type 2 with effective dates in Informatica. It involves: 1. Setting up source and target tables with start and end date fields. 2. Using transformations like lookup, filter, and update strategy to identify new, changed and current records and insert/update the target table appropriately. 3. Setting the start date to current date for new/changed records and end date to current date for changed records already in the target. The process is divided into 4 parts - setting up the mapping flow, inserting new records, inserting changed records, and updating changed records end dates. Expressions are used to identify new/changed

Uploaded by

rameshsamarla
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Design/Implement/Create SCD Type 2 Effective Date Mapping in

Informatica
Q) How to create or implement slowly changing dimension (SCD) Type 2 Effective Date mapping in
informatica?

SCD type 2 will store the entire history in the dimension table. In SCD type 2 effective date, the
dimension table will have Start_Date (Begin_Date) and End_Date as the fields. If the End_Date is
Null, then it indicates the current row. Know more about SCDs at Slowly Changing Dimensions
Concepts.

We will see how to implement the SCD Type 2 Effective Date in informatica. As an example consider
the customer dimension. The source and target table structures are shown below:

--Source Table

Create Table Customers

Customer_Id Number Primary Key,

Location Varchar2(30)

);

--Target Dimension Table

Create Table Customers_Dim

Cust_Key Number Primary Key,

Customer_Id Number,

Location Varchar2(30),

Begin_Date Date,

End_Date Date
);

The basic steps involved in creating a SCD Type 2 Effective Date mapping are
 Identifying the new records and inserting into the dimension table with Begin_Date as the
Current date (SYSDATE) and End_Date as NULL.
 Identifying the changed record and inserting into the dimension table with Begin_Date as the
Current date (SYSDATE) and End_Date as NULL.
 Identify the changed record and update the existing record in dimension table with End_Date
as Curren date.

We will divide the steps to implement the SCD type 2 Effective Date mapping into four parts.

SCD Type 2 Effective Date implementation - Part 1

Here we will see the basic set up and mapping flow require for SCD type 2 Effective Date. The steps
involved are:

 Create the source and dimension tables in the database.


 Open the mapping designer tool, source analyzer and either create or import the source
definition.
 Go to the Warehouse designer or Target designer and import the target definition.
 Go to the mapping designer tab and create new mapping.
 Drag the source into the mapping.
 Go to the toolbar, Transformation and then Create.
 Select the lookup Transformation, enter a name and click on create. You will get a window
as shown in the below image.

 Select the customer dimension table and click on OK.


 Edit the lookup transformation, go to the ports tab and remove unnecessary ports. Just keep
only Cust_key, customer_id and location ports in the lookup transformation. Create a new port
(IN_Customer_Id) in the lookup transformation. This new port needs to be connected to the
customer_id port of the source qualifier transformation.
 Go to the conditions tab of the lookup transformation and enter the condition as Customer_Id
= IN_Customer_Id
 Go to the properties tab of the LKP transformation and enter the below query in Lookup SQL
Override. Alternatively you can generate the SQL query by connecting the database in the Lookup
SQL Override expression editor and then add the WHERE clause.

SELECT Customers_Dim.Cust_Key as Cust_Key,

Customers_Dim.Location as Location,

Customers_Dim.Customer_Id as Customer_Id

FROM Customers_Dim

WHERE Customers_Dim.End_Date IS NULL

 Click on Ok in the lookup transformation. Connect the customer_id port of source qualifier
transformation to the In_Customer_Id port of the LKP transformation.
 Create an expression transformation with input/output ports as Cust_Key, LKP_Location,
Src_Location and output ports as New_Flag, Changed_Flag. Enter the below expressions for output
ports.

New_Flag = IIF(ISNULL(Cust_Key), 1,0)

Changed_Flag = IIF( NOT ISNULL(Cust_Key) AND


LKP_Location != SRC_Location, 1, 0)

 The part of the mapping flow is shown below.

SCD Type 2 Effective Date implementation - Part 2

In this part, we will identify the new records and insert them into the target with Begin Date as the
current date. The steps involved are:
 Now create a filter transformation to identify and insert new record in to the dimension table.
Drag the ports of expression transformation (New_Flag) and source qualifier transformation
(Customer_Id, Location) into the filter transformation.
 Go the properties tab of filter transformation and enter the filter condition as New_Flag=1
 Now create a update strategy transformation and connect the ports of filter transformation
(Customer_Id, Location). Go to the properties tab and enter the update strategy expression as
DD_INSERT.
 Now drag the target definition into the mapping and connect the appropriate ports of update
strategy transformation to the target definition.
 Create a sequence generator and an expression transformation. Call this expression
transformation as "Expr_Date".
 Drag and connect the NextVal port of sequence generator to the Expression transformation.
In the expression transformation create a new output port (Begin_Date with date/time data type) and
assign value SYSDATE to it.
 Now connect the ports of expression transformation (Nextval, Begin_Date) to the Target
definition ports (Cust_Key, Begin_Date). The part of the mapping flow is shown in the below image.

SCD Type 2 Effective Date implementation - Part 3

In this part, we will identify the changed records and insert them into the target with Begin Date as
the current date. The steps involved are:
 Create a filter transformation. Call this filter transformation as FIL_Changed. This is used to
find the changed records. Now drag the ports from expression transformation (changed_flag),
source qualifier transformation (customer_id, location), LKP transformation (Cust_Key) into the filter
transformation.
 Go to the filter transformation properties and enter the filter condition as changed_flag =1.
 Now create an update strategy transformation and drag the ports of Filter transformation
(customer_id, location) into the update strategy transformation. Go to the properties tab and enter
the update strategy expression as DD_INSERT.
 Now drag the target definition into the mapping and connect the appropriate ports of update
strategy transformation to the target definition.
 Now connect the Next_Val, Begin_Date ports of expression transformation (Expr_Date
created in part 2) to the cust_key, Begin_Date ports of the target definition respectively. The part of
the mapping diagram is shown below.

SCD Type 2 Effective Date implementation - Part 4

In this part, we will update the changed records in the dimension table with End Date as current
date.
 Create an expression transformation and drag the Cust_Key port of filter transformation
(FIL_Changed created in part 3) into the expression transformation.
 Go to the ports tab of expression transformation and create a new output port (End_Date
with date/time data type). Assign a value SYSDATE to this port.
 Now create an update strategy transformation and drag the ports of the expression
transformation into it. Go to the properties tab and enter the update strategy expression as
DD_UPDATE.
 Drag the target definition into the mapping and connect the appropriate ports of update
strategy to it. The complete mapping image is shown below.

You might also like