Transformation de recherche dans Informatica (exemple)

⚡ Résumé intelligent

La transformation de recherche dans Informatica lit une table relationnelle, un fichier plat, une vue ou un synonyme et renvoie les valeurs correspondantes pour chaque ligne entrante, fonctionnant comme une jointure dont l'un des côtés est la source de recherche.

  • ???? Le contexte détermine le déroulement du match : L'onglet Condition contient la comparaison, telle que DEPTNO = DEPTNO1, qui détermine quelle ligne de recherche est renvoyée.
  • 🧪 Exemple concret : Sept cartesping Les étapes du concepteur récupèrent les noms de département de DEPT dans une cible EMP_DEPTNAME sans jointure.
  • ???? Connecté ou non connecté : Une recherche connectée se trouve dans le pipeline, tandis qu'une recherche non connectée est appelée à partir d'une expression avec le qualificateur :LKP.
  • ️ Passif par défaut : Le renvoi d'une seule ligne maintient la transformation passive, tandis que le renvoi de toutes les lignes correspondantes la rend active.
  • ♻️ Objets réutilisables : Cocher « Rendre réutilisable » transforme une transformation en un objet plusieurs mapspingpeuvent partager.
  • ⚠️ Promotion à sens unique : Une transformation promue au statut de réutilisable ne peut pas être rétrogradée ; il convient donc de lire attentivement le message de confirmation.

Transformation de recherche dans Informatica

Qu’est-ce que la transformation de recherche ?

La transformation de recherche est une transformation permettant de rechercher des données dans une source, un qualificateur de source ou une cible. Il s'agit d'une opération de jointure où l'une des tables est la source des données et l'autre la table de recherche. La source de recherche peut être une table relationnelle, une vue, un synonyme ou un fichier plat.

La transformation est passive tant qu'elle renvoie une seule ligne pour chaque ligne entrante. À partir de PowerCenter 9.x, elle peut également être configurée pour renvoyer toutes les lignes correspondant à la condition ; dans ce mode, il s'agit d'une transformation active. Ce choix est effectué lors de la création de la transformation et ne peut être modifié ultérieurement.

Il existe deux façons de le placer sur une carte.pinget cette différence détermine comment la valeur renvoyée parvient au reste du pipeline.

Aspect Recherche connectée Recherche non connectée
Poste Il se situe à l'intérieur du pipeline et reçoit les valeurs de la transformation précédente. Se situe en dehors du pipeline et est appelé à partir d'une expression
Comment cela s'appelle Les rangées s'écoulent dans ses ports d'entrée Appelé avec le qualificateur de référence :LKP
Valeurs renvoyées Plusieurs ports de sortie peuvent être connectés en aval Une valeur de retour est renvoyée à l'expression appelante
Utilisation typique Chaque ligne nécessite les colonnes recherchées La recherche n'est nécessaire que pour certaines lignes, ou bien la même recherche est appelée à partir de plusieurs endroits.

Dans les sujets précédents, nous avons utilisé le Transformation de menuisier Pour fusionner les tables « emp » et « dept » et obtenir les noms des départements, nous utiliserons dans cette section la transformation Lookup.

Comment créer une transformation de recherche

Voici les étapes à suivre pour créer une transformation Lookup dans Informatica.

Étape 1) Créer une nouvelle carteping avec EMP comme source et EMP_DEPTNAME comme cible. La carteping L'interface du concepteur contient alors la source, son qualificateur de source et la définition cible.

Carteping Canevas de conception avec la source EMP, son qualificateur de source et la cible EMP_DEPTNAME

Étape 2) Créez une nouvelle transformation à l'aide du menu Transformation, puis dans la fenêtre Créer une transformation :

  1. Sélectionnez la transformation de recherche comme transformation
  2. Entrez le nom de la transformation « lkp_dept »
  3. Sélectionnez l'option de création

Créez une fenêtre de transformation avec l'option « Recherche » sélectionnée et le nom « lkp_dept » saisi.

Étape 3) Cela ouvrira la fenêtre de la table de consultation. Dans cette fenêtre :

  1. Bouton Sélectionner la source
  2. Sélectionnez le tableau DEPT
  3. Sélectionnez le bouton OK

Sélectionnez la boîte de dialogue Table de consultation, en cliquant sur le bouton Source et en mettant en surbrillance la table DEPT.

Étape 4) Une transformation de recherche sera créée à partir des colonnes de la table DEPT. Cliquez ensuite sur le bouton Terminé. L'objet lkp_dept contient désormais DEPTNO, DNAME et LOC comme ports de recherche.

Transformation de recherche lkp_dept créée avec les colonnes de la table DEPT comme ports de recherche

Étape 5) Faites glisser la colonne DEPTNO depuis le qualificateur de source vers la transformation de recherche ; cela créera une nouvelle colonne DEPTNO1 dans la transformation de recherche. Liez ensuite la colonne DNAME de la transformation de recherche à la table cible.

La transformation Lookup recherche et renvoie le nom du département à partir de la valeur DEPTNO1. DEPTNO1 correspond au port d'entrée contenant le numéro de département de l'employé, tandis que DEPTNO reste le port lu dans la table de correspondance DEPT.

DEPTNO lié du qualificateur de source à lkp_dept et DNAME lié à la cible EMP_DEPTNAME

Étape 6) Double Cliquez sur la transformation de recherche. Ensuite, dans la fenêtre d'édition de la transformation :

  1. Onglet Sélectionner une condition
  2. Définissez la colonne de condition sur DEPTNO = DEPTNO1
  3. Sélectionnez le bouton OK

Onglet Condition de la fenêtre Modifier les transformations avec la condition DEPTNO = DEPTNO1 saisie

Étape 7) Liez les colonnes restantes du qualificateur de source à la table cible.

Colonnes de qualificateur de source restantes liées à la table cible EMP_DEPTNAME

Maintenant, sauvegardez le planping et l'exécuter après avoir créé la session et le flux de travail. Cette carteping récupérera les noms des départements à l'aide de la transformation Lookup.

La transformation de recherche est configurée pour effectuer une recherche dans la table DEPT, et la condition de jointure est définie en fonction du numéro de département. Si plusieurs lignes DEPT correspondent à la condition, la propriété « Stratégie de recherche en cas de correspondance multiple » de l'onglet Propriétés détermine la valeur à renvoyer.

Transformation réutilisable

Une transformation normale est un objet qui appartient à une carteping et peut être utilisé à l'intérieur de cette carteping seulement. Cependant, en rendant une transformation réutilisable, elle peut être réutilisée dans plusieurs cartes.pings.

Par exemple, une transformation de recherche qui récupère les informations d'un employé à partir de son numéro peut être utilisée dans plusieurs cartes.pings partout où les informations sur les employés sont requises.

L'utilisation d'une transformation réutilisable réduit le travail inutile lié à la recréation de la même fonctionnalité. Chaque carteping Elle contient une instance de l'objet stocké, de sorte qu'une modification apportée à la transformation réutilisable les affecte toutes.

Comment créer une transformation réutilisable

Voici les étapes à suivre pour créer une transformation réutilisable.

Étape 1) Ouvrir la carteping qui subit une transformation, ici nous sommes en train de faire Transformation de rang réutilisable.

Carteping ouvert dans le concepteur avec la transformation Rank qui est sur le point d'être rendue réutilisable

Étape 2) Double Cliquez sur la transformation pour ouvrir la fenêtre de modification. Ensuite :

  1. Sélectionnez l'onglet Transformation dans la fenêtre
  2. Cochez la case pour rendre la transformation réutilisable
  3. Sélectionnez oui dans la fenêtre de confirmation
  4. Sélectionnez OK dans la fenêtre des propriétés de transformation.

Onglet Transformation de la fenêtre Modifier les transformations, la case Rendre réutilisable est cochée.

Cela rendra la transformation réutilisable. Il est conseillé de lire la fenêtre de confirmation du troisième élément avant de valider : la promotion d'une transformation en réutilisable est irréversible dans le Designer, et l'objet ne peut plus être rétrogradé par la suite. Lorsqu'une seule carteping Il faut en créer une copie ; pour créer une instance non réutilisable, faites glisser l’objet réutilisable sur le canevas tout en maintenant la touche Ctrl enfoncée.

FAQ

Un cache charge la source de recherche en mémoire une seule fois, ce qui permet de traiter chaque ligne localement au lieu d'interroger la base de données. La mise en cache est particulièrement adaptée aux sources de recherche de petite taille ou fréquemment consultées ; une recherche sans cache interroge la source pour chaque nouvelle ligne.

Utilisez une table de recherche lorsqu'une des tables est une petite table de référence et que seules quelques colonnes sont nécessaires, notamment lorsque la même référence est lue à plusieurs endroits. Une table de jointure convient à une véritable jointure de deux grands pipelines hétérogènes.

La propriété « Stratégie de recherche en cas de correspondance multiple » détermine le comportement. Elle peut signaler une erreur ou renvoyer la première, la dernière ou toute valeur correspondante. Choisir de renvoyer toutes les valeurs correspondantes active la transformation et doit être défini lors de la création du produit.

Généralement, cela est dû à la taille importante de la base de données source. Une requête sans cache interroge la base de données une fois par ligne, tandis qu'une requête avec cache permet de réduire le coût de construction dès le départ. Supprimer les ports de recherche inutilisés et affiner la requête de recherche contribuent à améliorer la situation.

L'apprentissage automatique est utilisé dans les outils modernes d'intégration de données pour suggérer des correspondances de colonnes entre une table source et une table de référence, et pour identifier les recherches qui consomment une part importante du temps d'exécution. Chaque suggestion doit néanmoins être vérifiée par rapport aux données réelles.

Copilote apporte son aide concernant le texte autour de la carte.ping Au lieu de l'interface de conception : recherchez les substitutions SQL, les fichiers de paramètres et les scripts qui exécutent les flux de travail. L'outil n'ayant pas accès au référentiel, les noms de ports et les conditions doivent être vérifiés manuellement.

Une transformation réutilisable est un objet stocké unique partagé par plusieurs cartes.pingUn mapplet est un ensemble réutilisable de transformations, avec des groupes d'entrée et de sortie, qui regroupe une logique complète plutôt qu'une seule étape.

Aucune ligne de la source de recherche ne correspond aux conditions requises pour les lignes d'entrée. Vérifiez l'absence d'espaces de fin, de différences de casse et d'incompatibilités de types de données entre les deux ports, car la comparaison est exacte.

Résumez cet article avec :