|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
Bonjour,
Je suis débutant sur Talend, et je dois convertir un fichier excel en fichier xml. 1er Question : Je voudrais savoir comment attribuer un schéma pour chacune de mes feuilles excel... et 2 Question : Quand je creer un fichier XML pour ma sortie, j'importe bien un schéma mais j'ai pourtant comme erreur "Add a schema on repository" et "Define the schema" alors je ne comprend pas, et du coup je ne peux pas continuer... Merci d'avance |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : août 2005 Messages : 117 ![]() |
Pour attribuer un schéma à ta feuille excel il y a plusieurs moyens, le plus rapide et réutilisable est de cliquer sur "Fichier Excel" dans la partie "Métadonnées" puis sur "créer un nouveau fichier Excel". Il te suffit ensuite de sélectionner ton fichier. Tu fais ensuite un glisser / déposer de ton objet présent dans tes métadata vers ton job chaque fois que tu as besoin de lire le dit fichier excel.
Quel composant utilises-tu pour la création de ton fichier XML ? Lorsque, sur ton composant XML (tFileOutputXML, tAdvancedFileOutputXML, ...) tu vas dans éditer le schémas, y a t'il bien un schéma défini pour la partie input et output ? |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
Pour le fichier excel j'ai bien compris^la démarche, mais j'ai des feuilles avec des schémas différents, donc comment faire pour attribuer un schéma à chaque feuille ?
Et le fichier XML oui jai un schéma dans input et output mais cest le meme, donc y a surement un soucis ^^ |
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Inscription : août 2005 Messages : 117 ![]() |
Pour la partie Excel :
Si tes schémas sont identiques sur toutes tes feuilles, tu peux toutes les intégrer pour ne générer qu'un seul flux de sortie. Or, chez toi, ce n'est pas le cas, il te faut donc définir 1 métadonnée par feuille (répéter l'opération que je t'ai indiqué en choisissant la feuille correspondante) Pour la partie XML : Non, c'est normal que tes schémas soient identiques en input et output. Par contre, il te faut configurer l'arbre XML de sortie (Si tu utilises un tAdvancedFileOuputXML). Si tu as déjà un exemple de fichier XML tel que tu l'attends en sortie, tu peux l'importer dans tes métadata, sinon, je te conseille d'utiliser le tAdvancedFileOuputXML qui te permettras de faire le lien entre tes champs et tes nœuds (et de définir sur quel nœud tu itères, etc.) |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
Ok, super je vais faire tout ca !
Merci bien ! ;-) |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
C'est encore moi, j'ai un probleme lorsque je veux ajouter mon schéma de sortie de mon fichier XML j'ai comme erreur "Add a schema on repository - Define the schéma" j'ai essayé pleins de trucs mais je ne sais pas ce qu'il faut que je fasse pour que ca fonctionne enfin... Parce que "définir le schema" cest justement ce que je veux faire... ^^
Merci d'avance, j'ai mis une capture en piece jointe |
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Inscription : août 2005 Messages : 117 ![]() |
Ok, rien de bien grave.
Il te faut faire du glisser déposer des champs de ton flux d'entrée (à gauche) vers les noeuds correspondant dans ton arbre XML (à droite) et ensuite sélectionner les noeuds de regroupement et les noeuds à itérer. |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
J'avais fini par trouver, j'ai fait tout ca !
Mais merci pour tes reponses Dernière question, j'ai des erreurs comme quoi jai des attributs en double mais je ne peux pas faire autrement, comment gérer les doublons ?? en mettant des clés ? voir pièce jointe ;-) |
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Inscription : août 2005 Messages : 117 ![]() |
Il ne s'agit visiblement pas d'un problème de données mais d'un problème de métadonnées. Il y a plusieurs colonnes portant le même nom dans ton fichier Excel ce qui génère des erreurs de compilation de ton job.
Renomme tes colonnes portant les mêmes noms. |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
Merci beaucoup!
Pour en revenir au fichier excel avec plusieurs feuilles, j'ai créé une métadonnée pour chacune des feuilles...mais impossible de les parcourir sauf la première... |
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() Inscription : août 2005 Messages : 117 ![]() |
Pour faire le test simplement et vérifier si le problème vient de la définition de tes métadonnées ou de ton tmap (si tu fais une jointure entre les deux flux), tu peux essayer ceci :
tFileInputExcel_1 (correspondant à la feuille 1) --> tLogRow tFileInputExcel_2 (correspondant à la feuille 2) --> tLogRow si la sortie affiche bien le contenu des deux feuilles c'est que la configuration de tes métadonnées est bonne et que le problème vient de plus loin dans le design de ton job. |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
Merci, je vais chercher par là car toutes les feuilles me donnent en résultat le conten de la première
|
|
|
00
|
|
|
#13 |
|
Membre habitué
![]() Inscription : août 2005 Messages : 117 ![]() |
Dans ce cas, c'est qu'à mon avis tu as mal configuré tes métadonnées Excel. Lorsque tu fais "créer un fichier Excel" dans la partie métadonnées, tu sélectionne le fichier existant puis tu dans la partie "configurer les paramètres de la feuille" tu sélectionne bien uniquement la feuille correspondant.
|
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
J'ai créer un fichier excel avec la première feuille, je fais une métadonnée pour celle-ci.
Ensuite je refais "éditer" le fichier excel, je sélectionne la deuxième feuille et ensuite clique droit sur le fichier : "récupérer le schéma" pour faire la métadonnée de la deuxième feuille... etc |
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
Je suis obligé de faire comme ca, parce qu'en fait dans l'edition du fichier, si il y a deja une métadonnée de créée je ne peux pas acceder à l'étape 4 pour creer une metadonnée justement
|
|
|
00
|
|
|
#16 |
|
Membre habitué
![]() Inscription : août 2005 Messages : 117 ![]() |
Et bien voilà où est le "hic".
Lorsque tu créé ton tFileInputxcel, tu lui spécifie la feuille, la partie métadonnées (champs / typage) est la dernière étape. Lorsque tu vas faire un "drag and drop" de la définition de ton fichier Excel dans ton job, il va se référer à la feuille spécifiée, or dans ton cas, c'est toujours la feuille 1 vu que tu n'as modifié que les métadonnées. Il te faut, dans ton cas, créer un fichier Excel pour chacune de tes feuilles et spécifier, pour chacune, les métadonnées attendues. Évidemment, si chacune de tes feuilles comporte le même genre de données et le même schéma, tu ne créé qu'un seul fichier Excel dans lequel tu inclues toutes les feuilles, mais ça ne semble pas être ton cas. |
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
Ok, merci! c'est ce que j'avais commencé a faire, je vais donc créer un fichier pour chaque feuille. Merci bien ;-)
|
|
|
00
|
|
|
#18 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
Derniere petite question après j'ai terminé
Je voulais avoir la confirmation : j'arrive à importer mes feuilles excel, mais séparément. Il faut que j'importe tout en une fois, dans le meme fichier XML, pour cela il faut bien utiliser tMap cest ca ?? |
|
|
00
|
|
|
#19 |
|
Membre habitué
![]() Inscription : août 2005 Messages : 117 ![]() |
Il te faut effectivement utiliser un tMap. Je ne sais pas ce que contiennent tes feuilles Excel mais, j'imagine que tu peux identifier un identifiant pour tes enregistrements identiques sur les feuilles 1 / 2 et 3 ?
Auquel cas, tu génère ton flux principal depuis le tFileInputExcel_1 et tu mets les autres flux en look-up de ton tmap, puis tu fais une jointure interne. |
|
|
00
|
|
|
#20 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 46 ![]() |
je vais me pencher attentivement sur tmap alors
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com