#1 Tue 26 March 2013 10:47
- MagBar
- Participant assidu
- Date d'inscription: 27 Jun 2012
- Messages: 203
creer des attributs a partir des valeurs d'un attribut
Est ce possible de créer "n" attribut à partir des valeurs d'un attribut pour avoir :
entrée :
Attributs : NOMFUTURATTRIBUT- NUMERO
valeurAttribut : BIDULE - 122
TRUC - 44
MUCHE - 778
sortie :
Attribut : BIDULE - TRUC - MUCHE
ValeurAttribut : 122 - 44 - 778
en sachant que le nombre d'attribut attendus peuvent varier ?
Hors ligne
#2 Tue 09 April 2013 12:55
- Fabien75
- Participant occasionnel
- Lieu: Clermont-Ferrand
- Date d'inscription: 13 Apr 2006
- Messages: 15
Re: creer des attributs a partir des valeurs d'un attribut
Bonjour MagBar,
J'ai un peu la même problématique que toi, je cherche à créer des noms de champs dans postgres à partir des noms d'attribut d'un attribut de block autocad. Je récupère bien ces noms dans une liste mais je bloque sur la création des noms de champ, FME me les créés avec le nom de la variable (ex : fme_attrib_info{0}.field_value) et non avec sa valeur. As-tu trouvé une solution de ton coté ?
Hors ligne
#3 Tue 09 April 2013 13:15
- MagBar
- Participant assidu
- Date d'inscription: 27 Jun 2012
- Messages: 203
Re: creer des attributs a partir des valeurs d'un attribut
malheureusement non...
Hors ligne
#4 Tue 09 April 2013 16:59
Re: creer des attributs a partir des valeurs d'un attribut
Si ce que vous voulez faire, c'est récupérer le nom des attributs pour les utiliser ensuite , voici la technique en TCL a utiliser dans un tclCaller
Code:
proc attribut {} { global FME_AttributeNames; foreach attr [FME_AttributeNames] { if {![regexp {^fme_} $attr]} { append champs $attr ; #set val [FME_GetAttribute $attr] #append champs ";" #append champs $val append champs ";" } else { append champs ""} }; return $champs }
A la suite de cela, vous connectez un AttributeSplitter que vous paramétrer avec un ";" puis un ListExploder que vous paramétrez sur votre liste avec _element_index.
Enjoy.
Dernière modification par heretik25 (Tue 09 April 2013 17:02)
Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com
Hors ligne
#5 Tue 09 April 2013 17:59
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: creer des attributs a partir des valeurs d'un attribut
Pas mieux.
J'allais ajouter ce code tcl qui effectivement offre la solution pour une transposition.
Par contre, sourcez vos conseils, cela est du meilleur effet :
http://georezo.net/forum/viewtopic.php? … 41#p209041
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#6 Wed 10 April 2013 10:25
Re: creer des attributs a partir des valeurs d'un attribut
Effectivement, c'est une belle astuce qui vous revient de droit !
Bonne journée.
Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com
Hors ligne
#7 Wed 10 April 2013 12:34
- Fabien75
- Participant occasionnel
- Lieu: Clermont-Ferrand
- Date d'inscription: 13 Apr 2006
- Messages: 15
Re: creer des attributs a partir des valeurs d'un attribut
N'étant pas connaisseur du tcl de FME je ne sais pas si il correspond à mon besoin. J'arrive bien dans mon job FME à récupérer les noms des attributs dans une liste (fme_attrib_info{}.field_name), je place ensuite un AttributeExposer (fme_attrib_info{0}.field_name, fme_attrib_info{1}.field_name...) pour récupérer les valeurs, mais si je place ensuite un AttributeCreator avec Attribute Name = fme_attrib_info{0}.field_name je n'arrive pas à donner comme nom de champ dans ma base postgres la valeur contenu à l'index 0 (ou 1) de ma liste.
Ce code tcl peut-il m'être utile ?
Merci
Hors ligne
#8 Fri 12 April 2013 08:12
- MagBar
- Participant assidu
- Date d'inscription: 27 Jun 2012
- Messages: 203
Re: creer des attributs a partir des valeurs d'un attribut
en fait je cherche à faire le contraire, récupérer les valeurs d'un attribut pour en faire un attribut par la suite (moins de ligne et plus de colonnes).
Malheureusement je n'y connais rien en programmation (pas de python ni ce TCL :s) et je viens d'aprendre que je n'aurai pas de formation cette année ENCORE !!!!
Hors ligne