Conditional Split Transformation in SSIS

A Conditional Split Transformation in SSIS is just like the IF condition or CASE statement. It checks the given condition and based on the condition result; the output will send to the appropriate destination path. It has ONE input and MANY outputs.

For example, if we want to store the students in a class who have marks greater than 40 in one Table and the students who score less than 40 to another table, then we can use this SSIS Conditional Split Transformation to split the data using the condition. Note that SSIS Conditional Split is case-sensitive.

Conditional Split Transformation in SSIS Example

STEP 1: Drag and drop the data flow task from the toolbox to control flow and name it as SSIS Conditional Split Transformation.

Conditional Split Transformation in SSIS 1

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

STEP 2: Drag and drop OLE DB Source from the toolbox to the data flow region. Double click on OLE DB source in the data flow region will open the connection manager settings and provides space to write our SQL statement.

Conditional Split Transformation in SSIS 2

SQL command using for our ssis conditional split OLE DB source is

-- SSIS Conditional Split Example
USE AdventureWorksDW2014
GO

SELECT PROD.[EnglishProductName]
     ,PROD.[Color]
     ,[SalesOrderNumber]
     ,[UnitPrice]
     ,[ExtendedAmount]
     ,[ProductStandardCost]
     ,[TotalProductCost]
     ,[SalesAmount]
     ,[TaxAmt]
     ,[Freight]
FROM [FactInternetSales]
INNER JOIN
[DimProduct] AS PROD ON
  [FactInternetSales].[ProductKey] = PROD.[ProductKey]
ORDER BY PROD.[EnglishProductName]

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

Conditional Split Transformation in SSIS 3

Click ok

Configure SSIS Conditional Split Transformation

STEP 4: Drag and drop the Conditional Split Transformation from the toolbox to the data flow region and double-click on it to provide the conditions.

Conditional Split Transformation in SSIS 4

Conditions we used in this SSIS conditional split transformation are:

  1. ROWS < 400: SalesAmount < 400
  2. ROWS BETWEEN 400 TO 2000: SalesAmount >= 400 && SalesAmount < 2000
  3. Remaining rows will act as default output, and we named it as [Rows > 2000]

From the above, you can observe that We used 2 conditions and one default output in Conditional Split Transformation in SSIS. So, We get three outputs in total.

STEP 5: Drag and drop three OLE DB Destinations from toolbox to data flow region and rename them as Condition Split 1, Condition Split 2 and Condition Split 3

Conditional Split Transformation in SSIS 5

STEP 6: Drag and drop the arrow from Conditional Split Transformation to OLE DB Destination (Conditional Split 1) will pop up the Input Output Selection window to select the appropriate output. Let us select the [Rows <400] output as shown below

Conditional Split Transformation in SSIS 6

Click ok

STEP 7: Now we have to provide OLE DB Connection Manager and table details of the Destination. So double-click on the SSIS Conditional Split 1 and provide the required information

Conditional Split Transformation in SSIS 7

From the above screenshot, you can observe that We selected [Conditional Split 1] inside the SSIS Tutorials Database

STEP 8: Click on the Mappings tab to check whether the source columns exactly mapped to the destination columns.

Conditional Split Transformation in SSIS 8

Click ok

STEP 9: Drag and drop one more arrow from SSIS Conditional Split Transformation to OLE DB Destination (Conditional Split 2) pop up the Input Output Selection window to select the output. This time we are going to select [Rows between 400 to 2000] output as shown below

Conditional Split Transformation in SSIS 9

STEP 10: Let us provide OLE DB Connection Manager and table details of the destination for our second output. To do so, double-click on the Conditional Split 2 and provide the required information.

Conditional Split Transformation in SSIS 10

From the above screenshot, you can observe that We selected the [Conditional Split 2] inside the SSIS Tutorials Database

Repeat STEP 8 and Click ok

STEP 11: Drag and drop one more arrow from SSIS Conditional Split Transformation to OLE DB Dest (Conditional Split 3). Here we are configuring the default output data. So, Double click on the OLE DB Destination and provide the information

Conditional Split Transformation in SSIS 11

From the above screenshot, you can observe that We selected the [Conditional Split 3] inside the SSIS Tutorials Database

Repeat STEP 8 and Click ok

We finished developing the SSIS conditional split transformation package. It’s time to run this package

Conditional Split Transformation in SSIS 12

Let’s see the result in [Conditional Split 1] Table in SQL Server. Open the SQL Server Management studio, and write the select statement to check the result

-- Conditional Split Transformation in SSIS Result
SELECT [EnglishProductName] AS NAME
      ,[Color]
      ,[SalesOrderNumber] AS NUMBER
      ,[UnitPrice]
      ,[ExtendedAmount] AS ExtndAmount
      ,[ProductStandardCost] AS standardCost
      ,[TotalProductCost] AS ProductCost
      ,[SalesAmount] AS Amount
      ,[TaxAmt] AS Tax
      ,[Freight]
  FROM [SSIS Tutorials].[dbo].[Conditional Split 1]
Conditional Split Transformation in SSIS 13

Let’s see the result in [SSIS Conditional Split 2] Table by writing the below select statement to check the result

-- Result of SSIS Conditional Split
SELECT [EnglishProductName] AS NAME
      ,[Color]
      ,[SalesOrderNumber] AS NUMBER
      ,[UnitPrice]
      ,[ExtendedAmount] AS ExtndAmount
      ,[ProductStandardCost] AS standardCost
      ,[TotalProductCost] AS ProductCost
      ,[SalesAmount] AS Amount
      ,[TaxAmt] AS Tax
      ,[Freight]
  FROM [SSIS Tutorials].[dbo].[Conditional Split 2]
Conditional Split Transformation in SSIS 14

Next, see the result in [Conditional Split 3] Table in SQL Server. Open the SQL Server Management studio and write the below select statement to check the result

-- SSIS Conditional Split Result
SELECT [EnglishProductName] AS NAME
      ,[Color]
      ,[SalesOrderNumber] AS NUMBER
      ,[UnitPrice]
      ,[ExtendedAmount] AS ExtndAmount
      ,[ProductStandardCost] AS standardCost
      ,[TotalProductCost] AS ProductCost
      ,[SalesAmount] AS Amount
      ,[TaxAmt] AS Tax
      ,[Freight]
  FROM [SSIS Tutorials].[dbo].[Conditional Split 3]
Conditional Split Transformation in SSIS 15

Comments are closed.