|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Chris MInscription : décembre 2009 Messages : 60 ![]() |
Bonjour,
Voici mon but : j'ai un composant tPostgreInput qui référence des données de ma base. J'ai un fichier tFileInput qui contient des données issues d'une table de la base mais exportées dans un format fichier spécifique. Je voudrais pouvoir regarder si un des champs de mon entrée tPostgreInput existe dans une de mes entrées du fichier. Si ce champ existe alors on conserve son nom sinon on met une autre string. Et le tout sort dans un tFileOutputDelimited Est ce possible premièrement ? J'ai essayé de faire un lien main et un lookup pour mon FileInput sur ma tMap mais je ne sais pas trop bien ce que fait tMap derrière cela. (avec une expression de type (mon_champ.equals(ma_reference) ? mon_champ : "toto") Merci |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Salut,
En effet cela est possible sur Talend. Le tMap te servira à faire une jointure entre tes deux sources de données (Base et Fichier). Si j'ai bien compris ce que tu veux faire alors il te faudra relier ta base aavec un lien MAIN au tMap et ton fichier avec un lien LOOKUP au tMap. Après à l'intérieur de ton tMap il faut faire une jointure entre les deux entrés en choisissant les deux colonnes sur lequels tu veux faire cette jointure. J'éspère que j'ai répondu à ta question. Bonne chance.
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Chris MInscription : décembre 2009 Messages : 60 ![]() |
C'est ce que j'ai fait sauf qu'il me remplace toutes mes valeurs par "toto" ... s'il ya des champs de ma base qui sont dans le fichier il ne garde pas la valeur du champ. C'est pour cela que je m'interroge sur ce que fait une jointure avec un lookup !!!!
|
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Chris MInscription : décembre 2009 Messages : 60 ![]() |
En gros pour donner un exemple :
Venant de mon Input base j'ai parmi mes données une colonne que je vais appeler AAA qui contient les valeurs a, b, c, d, e, f. Venant de mon input fichier j'ai les valeurs d'un champ que j'appelle QQQ qui doit matcher celles de AAA et qui contient les valeurs a, c, d Je veux via ma tMap pouvoir ressortir dans un output fichier delimited les données venant de l'input base avec les valeurs de AAA si elles sont existantes dans QQQ. Sinon je remplace par "toto" En sortie j'aurais donc a, toto, c, d, toto |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Oui je te comprends, en effet j'ai déjà rencontré ce genre de problème, la pluspart du temps ça vient de l'égalité entre les deux champs qui n'est pas vrai. Apparemment ta condition :
Code :
(mon_champ.equals(ma_reference) ? mon_champ : "toto") Le problème pourrait venir de tes champs, soit à cause des esapces ou je ne sais quoi. Essai d'afficher avec un tLogRow les colonnes et vérifie si elles sont bel et bien egales.
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Chris MInscription : décembre 2009 Messages : 60 ![]() |
Je n'ai pas de soucis d'espace ou de champs différents des valeurs de la base !!!
|
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Est ce que tu peux poster une capture d'écran de ton job, ainsi que de l'intérieur de ton tMap ?
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Chris MInscription : décembre 2009 Messages : 60 ![]() |
Je viens de lancer l’exécution du job en java debug et je m'aperçois que pour chaque entrée de mon objet représentatif de mon lookup tous les champs sont null .. donc forcément qd il compare ma chaine il compare à null en permanence !!
Je ne comprends pas trop du coup ce que l'objet du lookup fait des données ??? |
|
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Chris MInscription : décembre 2009 Messages : 60 ![]() |
J'ai réussi finalement à faire ma transformation. L'input de type ldiff ne fonctionne pas trop visiblement. Via un inputDelimiter ca passe mieux en faisant attention de supprimer les qqs valeurs par défaut qu'impose TOS sur certains champs, notamment des dates qui se retrouvent à être des String !!!
Merci en tout cas pour l’intérêt !! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com