Lookup Transformation in SSIS

In this article, we will explain how to perform Lookup Transformation in SSIS using OLE DB Connection Manager with an example. In this example, we will use the OLE-DB Connection to connect with SQL Server and perform the SSIS lookup transformation operation.

TIP: Please refer to the Introduction article to understand the properties available in SSIS Lookup Transformation.

Before we start creating the SSIS lookup transformation package, Let us see the table and its data.

Reference Table

Now let’s see the source data as well.

Actual Source Table

Configure Lookup Transformation in SSIS

STEP 1: Drag and drop the Data Flow Task from the toolbox to the control flow region. Next, rename it Lookup Transformation.

Data Flow Task

Double-click on it, and it will open the data flow tab.

STEP 2: Drag and drop OLE DB Source from the toolbox to the data flow region. Double-click the OLE DB Source in the data flow region will open the connection manager settings.

OLE DB Editor to choose db and table 3

From the above screenshot, you can observe that We selected the following Database in our SQL Server as a source database and [Source] as the source table

STEP 3: Click on the columns tab to verify the columns. In this tab, we can uncheck the unwanted columns also.

Check the Columns 4

Click OK and Drag the SSIS Lookup Transformation from the toolbox to the Data Flow tab.

Lookup Transformation in SSIS 5

STEP 4: Double click on the SSIS Lookup Transformation will open the Editor. Use this to configure the lookup table (reference table).

In the SSIS lookup transformation General Tab, “Specify how to handle rows with no matching entries.” Change the default Fail Component to Redirect rows to no match output option. Change this option to redirect all the unmatched rows to the No Match output. Otherwise, the package will Fail.

Lookup Transformation in SSIS 6

Under the SSIS Lookup Transformation connection type section, we selected the OLE DB Connection manager because we use this table as a reference.

If you are using any cache file (.caw), then use the Cache Connection Manager. Please refer to the Full Cache Mode article to understand How to perform these operations using a Cache File.

Click on the connection Tab of the SSIS lookup transformation

STEP 5: If you already created the OLE DB connection manager, select it from the list; otherwise, please click the New button to configure it. Here we decided on the Tutorials Database.

Lookup Transformation in SSIS 7

For this example, we use the Reference table as the lookup or reference table. Therefore, source data will compare with the data presented in this table.

Lookup Transformation in SSIS 8

TIP: We should not use the whole table as a reference for lookup. Perhaps you should use the command to select the required column name you want to reference.

STEP 6: Click on the Available SSIS Lookup Transformation Input columns. And drag to the available lookup columns to create a join between the 2 data sets.

Add column, Operation, and Output Alias Name 9

A country column in the source data will check against the [Country Name] column in the lookup table.

  • If each row of the Country column in the source data matches with any of one row of the lookup table [Country Name] column, that row will pass to the Matched Output.
  • If it does not match with any of one row of the [Country Name] column in the lookup table, then that row will be passed to No Match Output.

Sometimes we may have extra columns in the SSIS lookup table that we want to pass to the matched output. In these situations, we have to checkmark that column in the Available Lookup Columns as we did for the Cid column.

STEP 7: Drag and drop two OLE DB Destinations onto the data flow region. And then, drag the Output Arrow to this new OLE-DB Destination. A popup window, the Input Output Selection window, will appear, prompting you to select the Input-Output type. Either you can choose Lookup Match Output or No Match Output. Select Lookup Match Output and click OK.

Lookup Transformation in SSIS 10

When you drag another Output Arrow to OLE DB Destination 1, it automatically allocates Lookup No Match Output.

Lookup Transformation in SSIS 11

STEP 8: Double-click on OLE DB Destination and opens the Editor. Select the OLE-DB Connection Manager and the [Matched Rows] table in the Database to store the Matched Rows Data.

Matched Rows Table

STEP 9: Click the Mappings tab to check whether the SSIS Lookup Transformation source columns are correctly mapped to the destination columns.

Matched Rows Column Mapping

STEP 10: Now, Double click on the OLE DB Destination 1 to configure the No Match output. Here we will select the [Unmatched Rows] table in the Database to store the Not Matched Row Data.

Unmatched Rows Table

Repeat STEP 9 and click OK to finish creating a Lookup Transformation Package.

Right-click the Lookup Transformation in SSIS Package in the Solution Explorer and select the Execute Package.

Lookup Transformation in SSIS 15

As you can observe, our SSIS Lookup Transformation Package has been executed successfully. Let’s open the Management Studio to view the Matched Rows data.

match Rows

Let’s see the Lookup Transformation Unmatched Rows Data.

unmatched Rows

About Suresh

Suresh is the founder of TutorialGateway and a freelance software developer. He specialized in Designing and Developing Windows and Web applications. The experience he gained in Programming and BI integration, and reporting tools translates into this blog. You can find him on Facebook or Twitter.

Comments are closed.