Row Count Transformation in SSIS

The Row Count Transformation in SSIS used to counts the rows as they pass through a data flow and store the final count in a variable. For example, If we want to inform the Manager to notify the number of rows inserted, then we can use SSIS Row Count Transformation for counting the rows. Then use the Script Task to send an e-mail message to the Manager.

In SQL Server Integration Services, Row Count Transformation will not update the variable value until the last row of the source data has passed through this SSIS Transformation. So, we can’t use the updated values in the middle. Let us design one package so that we can understand this SSIS Row Count transformation better.

Row Count Transformation in SSIS Example

STEP 1: Drag and drop the data flow task from the toolbox to control flow and rename it as Row Count Transformation in SSIS

SSIS Row Count Transformation 1

STEP 2: This transformation stores counted rows information in a variable only, so before using this transformation, we need to create a variable on the Variables tab and add an integer variable to the package.

Right-click on the SSIS Control Flow region will open the context menu with multiple options. Select the Variables option from the context menu to create a variable.

SSIS Row Count Transformation 2

In this case, we’ve chosen to add a variable named NumberOfRows of integer type and assigned value to 0.

SSIS Row Count Transformation 3

Double click on the data flow task will open the data flow tab.

STEP 3: Drag and drop OLE DB Source, Row Count Transformation from the SSIS toolbox to the data flow region

SSIS Row Count Transformation 4

STEP 4: 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.

SSIS Row Count Transformation 5

SQL Command we used in the above figure

USE AdventureWorksDW2014
GO

SELECT [EnglishCountryRegionName]
      ,[StateProvinceName]
      ,[City]
      ,[PostalCode]
      ,RESELLER.[UnitPrice]
      ,RESELLER.[ProductStandardCost]
      ,RESELLER.[TotalProductCost]
      ,RESELLER.[SalesAmount]
      ,RESELLER.[TaxAmt]
    
FROM [DimGeography]
  INNER JOIN [FactResellerSales] AS RESELLER ON
[DimGeography].[SalesTerritoryKey] = RESELLER.[SalesTerritoryKey] 
ORDER BY [EnglishCountryRegionName],[StateProvinceName]

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

SSIS Row Count Transformation 6

Click ok

STEP 6: The final step is to configure the Row Count transformation. Double click on the SSIS Row Count Transformation will open small Row Count Window to select the User-defined Variable from the drop-down. Here we are choosing the already created variable (NumberOfRows).

SSIS Row Count Transformation 7

Or you can configure the SSIS Row Count Transformation with a more traditional approach. Right-click on the Row Count Transformation will open the context menu with multiple options. Here select the Show Advanced Editor option from it.

SSIS Row Count Transformation 8

It opens the Advanced Editor of the SSIS Row Count Transformation. Within the Component Properties tab choose the VariableName property of the Row Count Editor, shown in Figure below and associate the variable we created before (NumberOfRows)

SSIS Row Count Transformation 9

STEP 7: Go to Control flow region and Drag and drop the Script Task from the toolbox to the Control Flow Region. Next, double-click on it to configure

SSIS Row Count Transformation 10

STEP 8: Select the user-defined variable as a read-write variable

SSIS Row Count Transformation 11

STEP 9: Click ok and then click on Edit Script button to open class file

SSIS Row Count Transformation 12

Type the following lines of code in the Main method

String Message = Dts.Variables["User::NumberOFRows"].Value.ToString();

MessageBox.Show(Message);
SSIS Row Count Transformation 13

NOTE: Here, I used the C# programming language code, and I am sorry for VB.Net people. I hope you can understand this code.

Close the class file, and Let’s run the SSIS Row Count Transformation package. From the below screenshot, you can observe that it is displaying the Message Box with the Number of Rows information.

SSIS Row Count Transformation 14

Let us see the data Flow region whether the SSIS Row Count transformation is giving the correct Result or not

SSIS Row Count Transformation 15

Remember, Until you click the ok button, Script task will be in running mode. Once you close the Message Box, then the Green Tick Mark will be shown

SSIS Row Count Transformation 16

You can observe the message box displaying the number of rows passed through that transformation.

NOTE: This SSIS Row Count transformation has one input and one output. It does not support an error output.