IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement de jobs Discussion :

Concaténation des données d'un même champ


Sujet :

Développement de jobs

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 406
    Points : 174
    Points
    174
    Par défaut Concaténation des données d'un même champ
    Bonjour,

    Je traite un fichier xml , et pour l'un des attribut j'ai définit une boucle.

    Mon fichier est sous cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    client
    	donnée
    		etude
    			importance
    				periode
    					<Pays> .......</Pays>
    					<ville>......</ville>
    					<Date>........</Date>
    					<Region>  ------------------ //loop
    						<Popul>
    							<Nb_pop>....</Nb_pop>
    						</Popul>
    						<Superficie> .......</Superficie>    
    					</Region>
    					<Region> 
    						<Popul>
    							<Nb_pop>....</Nb_pop>
    						</Popul>
    						<Superficie> .......</Superficie>     
    					</Region>
    					<Region> 
    						<Popul>
    							<Nb_pop>....</Nb_pop>
    						</Popul>
    						<Superficie> .......</Superficie>
    					</Region>
    				......
    Mon Xpath pour extraire mes données est celui ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "/client/donnée/etude/importance/periode/Region"
    A chaque fois qu'il rencontre la balise "Region" il boucle

    ce qui me donne ce resultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Id		     Ville			Nb_pop			       Superficie
    1		    Nantes			 200			          1500
    1		    Nantes			 200			          2000
    1		    Nantes		 	 200			          3500
    1		    Nantes			 200			          4000
    Mon souci est que ça me fait de la redondance de données ,d'autant plus que les données du champs "Superficie" je veux les mettre dans une seule et même cellule.
    En gros pour obtenir ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    // cas que je souhaite obtenir 
    Id		  Ville		    Nb_pop				         Superficie
    1		 Nantes               200			             1500,2000,3500,4000
    Dans tXMLMap j'ai fait une concatenation sous cette forme row1.Superficie+","+row1.Superficie (vous devez imaginer ce que ça donne, donc qui est faux).

    Est il possible de concatener des données qui viennent du même champs (row1.xxx).
    Quand ils viennent de deux champs c'est tout à fait possible, mais du même champs ?!!!

    Si quelqu'un aurais une astuce, merci.

  2. #2
    Membre averti

    Homme Profil pro
    informatique
    Inscrit en
    Avril 2013
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 280
    Points : 406
    Points
    406
    Billets dans le blog
    1
    Par défaut
    je pense que un tdenormalize pourra resoudre ton probleme.Attention:son utilisation tient compte de l'ordre des colonnes
    http://https://help.talend.com/display/TalendOpenStudioComponentsReferenceGuide54EN/tDenormalize

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 406
    Points : 174
    Points
    174
    Par défaut
    Merci,

    je regarde ça te je te dis.

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 406
    Points : 174
    Points
    174
    Par défaut
    Merci,
    ça marche c'est exactement ce que je voulais.

    par contre j'ai un petit souci mais je vais finir par trouvé une solution.
    Quand j'incrémente des clés automatiquement ( Numeric.sequence("s1",1,1) ), du coup le tDenormalize fonctionne plus car , mes champs se retrouve comme avant et non à la suite .
    donc quand je met la sequence j'ai :
    1
    2
    3

    et sans la sequence j'ai bien 1;2;3

    Sinon merci pour ton aide.

  5. #5
    Membre averti

    Homme Profil pro
    informatique
    Inscrit en
    Avril 2013
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 280
    Points : 406
    Points
    406
    Billets dans le blog
    1
    Par défaut
    C'est normal car chaq numero generé est vue par le tdenormalize comme une nouvelle donnée à part,donc il ne saura pas les denormaliser.Aussi j'avoue que je n'ai jamais testé le tdenormalize avec une incrementation automatiq.

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 406
    Points : 174
    Points
    174
    Par défaut
    Pour l'AI , je suis passé directement par le sgbd (création de séquence) que j'utilise.C'est plus simple et propre dans mon cas.
    Merci pour ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 26/06/2015, 14h33
  2. Réponses: 3
    Dernier message: 06/02/2007, 11h04
  3. Réponses: 6
    Dernier message: 09/11/2006, 16h34
  4. Réponses: 12
    Dernier message: 02/01/2006, 22h13
  5. [CR9]Masquer des données (colonnes) suivant valeur champ
    Par neo.51 dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 05/09/2005, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo