Nombre de lignes distinctes avec SSIS (COUNT DISTINCT)

Comment calculer le nombre de lignes distinctes d’une table ou d’un fichier avec SSIS ? Cette opération est l’équivalent d’un COUNT DISCTINCT en SQL. Il faut utiliser le composant Aggregate dans SSIS.

En effet, avec Visual Studio, il est possible d’utiliser le composant Aggregate. On utilise donc le COUNT DISTINCT pour calculer le nombre de lignes uniques d’une table.

Calculer le nombre de lignes distinctes d’une table dans un package SSIS

1. Pour commencer, dans le Data Flow, placer une source, le composant SSIS Aggregate et une destination. Dans notre exemple, la source sera le composant SSIS OLE DB Source et la destination sera Flat File Destination pour exporter le résultat dans un fichier texte.

Source OLE DB, composant Aggregate et Fichier plat destination, 3 composants pour calculer le nombre de lignes distinctes avec SSIS
3 composants pour calculer le nombre de lignes distinctes avec SSIS

2. Deuxièmement, le Data Flow n’est pas encore configuré. Visual Studio affiche maintenant des messages d’erreur sur les composants SSIS. Ensuite, double-cliquer sur le composant OLE DB Source, puis choisir une table. Ici c’est la table HumanResources.Employee de la base AdventureWorks.

3. Une fois la source choisie et configurée, configurer maintenant le composant SSIS Aggregate. Dans l’onglet Aggregations, choisir les colonnes où effectuer le COUNT DISTINCT, soit celles à agréger. Depuis l’onglet opération, choisir COUNT DISTINCT.

Configurer l'agrégation pour calculer le nombre de lignes distinctes avec SSIS
Configurer l’agrégation pour calculer le nombre de lignes distinctes avec SSIS

4. Maintenant, relier le composant SSIS au dernier composant : Flat File Destination. Double-cliquer ensuite sur ce dernier pour choisir le fichier de destination. Pour finir, dans l’onglet Mapping, vérifier que les colonnes sont correctement sélectionnées.

Configurer le mapping en sortie pour calculer le nombre de lignes distinctes avec SSIS
Configurer le mapping en sortie pour calculer le nombre de lignes distinctes avec SSIS

5. Après avoir configuré tous les composants du package SSIS, il n’y a plus d’erreurs dans le Data Flow.

6. Exécuter maintenant le package SSIS. Le fichier plat exporté contient le nombre distinct de lignes pour les colonnes sélectionnées.

Le fichier cible contient maintenant une ligne unique et le nombre 290, qui correspond au nombre de lignes de la table en entrée.

Exécution du data flow pour calculer le nombre de lignes distinctes avec SSIS
Exécution du data flow pour calculer le nombre de lignes distinctes avec SSIS

Cet article montre donc pas à pas comment effectuer un count distinct avec SSIS, sans aucune ligne de code SQL.

Pour les performances, il est conseillé de réaliser les opérations SQL directement sur le moteur SQL Server pour diminuer le transfert de données entre la base de données sur le Serveur SQL et le serveur SSIS.

Voici une autre opération puissante mais complexe en termes de code, le PIVOT SQL Server.

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*