Utilisation de la fonction gen_row_num()

Dans ce tutoriel, découvrez un exemple d’utilisation de la fonction gen_row_num() sous Data Integrator

Prérequis :

  • Data Integrator 4.2 SP7 installé avec IPS 4.2 SP3.
  • Référentiel local crée.
  • JOB crée sous le Designer de Data Integrator avec le référentiel local.
  • Fichier CSV source contenant des données avec un champs date et un champs de montant vente.
  • Savoir créer un JOB avec un DataFlow et des composants sous le Designer de Data Integrator. Voir le tutoriel suivant.

Nous allons vous montrer comment utiliser la fonction gen_row_num() du Designer de Data Integrator pour récupérer les 10 lignes ayant le montant le plus élevé depuis le fichier source suivant ou la ligne de montant est surlignée en vert :

Ce fichier de test a lui même été généré par un JOB précédent, la date ayant été générée grâce au composant Data Integrator Date_Generation. Vous pouvez consulter le tutoriel suivant pour en apprendre plus sur ce composant :

Le montant a été généré aléatoirement entre 0 et 1000 grâce à la fonction rand() de la manière suivante :

Nous allons vous détailler en trois étapes le DataFlow permettant la récupération des 10 montants les plus élevés avec leur date, chacune de ces étapes prise en compte par un composant Query. Le DataFlow dans son ensemble est le suivant :

Le premier composant Query_OrderBy classe les lignes du flux par ordre décroissant selon la valeur du champs « Vente », pour celà vous devez vous placer sur l’onglet « Order By » puis faire un cliquer – glisser depuis le champs source « Vente » et choisir « Décroissant » :

Le composant Query_Row ajoute un champs ROW_NUMBER dont la valeur sera le numéro de ligne dans son ordre d’apparition, celà grâce à la fonction gen_row_num(). Pour ajouter un champs de sortie faîtes un clic droit sur l’entête « Query_Row » puis choisissez « Ajouter une colonne » :

Pour sélectionner la fonction gen_row_num() permettant ce traitement cliquez sur « Fonctions » pour aller la choisir dans les fonctions diverses :

Le composant Query_Filtre réalise le filtrage des 10 premières valeurs de ROW_NUMBER, pour réaliser celà cliquez sur l’onglet « Where » puis entrez la condition suivante sur ROW_NUMBER :

Vérifiez dans le fichier de sortie que vous obtenez les valeurs attendues :

Vous savez désormais comment utiliser la fonction gen_row_num() pour sélectionner des valeurs.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.