Le fractionnement conditionnel ou l’art de l’aiguillage …

septembre 18, 2009 19:20 by Franck

Dans tout projet d’intégration de données, les données partent d’une source, cette source pouvant par exemple être la base de données de votre ERP, un fichier Excel, ou bien un fichier XML, pour se retrouver éventuellement dans une base de destination, la plupart du temps, dans un projet de Business Intelligence, dans le datawarehouse.

A ce titre, SSIS intègre de nombreux outils de transformation du flux de données qui vont vous permettre de filtrer, d’enrichir, ou de façon plus générique, de traiter vos données. Parmi ces outils figurent celui de « fractionnement conditionnel ».

Pour illustrer les fonctionnalités de celui-ci, vous verrez comment il est aisé de réserver à des écritures comptables un traitement particulier selon qu’il s’agit d’une écriture de vente ou d’achat.

Les étapes suivantes décrivent un à un les composants qui illustrent cet exemple.

Etape 1 : Lecture des données

Cet exemple s’appuie sur une base de données ACCESS qui stocke les données du logiciel comptable, bien évidemment, il s’agit de connaître la structure des données pour savoir où collecter l’information.

 

 

Les propriétés du composant font état notamment de la requête SQL qui permet de ne sélectionner que les colonnes qui nous intéressent (Numéro de compte, Code Journal, Date d’écriture, Libellé, Débit et Crédit), et de ne prendre en compte que les écritures d’achat et de vente (seulement celui dont le premier chiffre du numéro de compte est 6 ou 7).

 

 

Etape 2 : Fractionnement Conditionnel

Cette étape est le cœur du sujet abordé dans ce billet, l’objectif de ce composant est de prendre en entrée un flux de lignes d’écritures, et de générer deux flux en sortie, le premier contenant les achats (écritures dont le numéro de compte commence par 6), le second contenant les ventes (numéro de compte qui commence par 7).

 

En sortie de cet élément, existent donc autant de flux de que conditions fixées dans la fenêtre de propriétés du fractionnement conditionnel. L’exemple montre ici que les flux d’enregistrements vont suivre des routes désormais totalement différentes, écriture dans un fichier texte.

Ceci étant, dans notre exemple, les flux des écritures d’achat et vente suivent des routes différentes mais il peut être concevable qu’après différents traitements spécifiques (par exemple  recherche dans une table annexe du nom du fournisseur pour les achats), ces flux aient besoin de se retrouver à nouveau dans un même flux pour bénéficier ainsi des mêmes opérations.

Cette fonctionnalité (Union) est intégrée à SSIS et fera l’objet d’un billet spécifique, avec bien sûr un exemple concret …

 


Actuellement noté 3.5 par 4 personne(s)

  • Currently 3,5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Commentaires