Annonce
Une fois la suspension validée, vous recevrez un message de confirmation.
A tout moment, vous pourrez annuler cette suspension, en suivant le lien Annulation figurant dans ce message.
Cela permettra également aux modérateurs de GeoRezo de ne pas avoir à gérer (et supprimer) de nombreux messages d'attente envoyés automatiquement par vos outils de messagerie durant votre absence !
Pour y accéder, allez sur la gestion de vos abonnements dans votre profil.
#1 lun 30 novembre 2009 16:50
- ceucile
- Membre
- Date d'inscription: 5 déc 2006
- Messages: 28
Eclater un champ en attributs
Bonjour,
Je me retrouve une nouvelle fois (cf sujet un transformer pour transposer les données)confrontée à la réorganisation d'un fichier qui est de ce type:
_____variable_________code_insee______ donnee
_____champ1___________09100__________80
_____champ1___________25200__________125
_____champ2___________09100__________60
_____champ2___________25200__________55
_______....________________....____________....
J'aimerai pouvoir l'éclater dans la forme ci-aprés, en me disant qu'un transformer ou deux doit bien exister pour y parvenir...
___code_insee________champ1_____champ2___....
_____09100____________80_________60_____....
_____25200___________125_________55_____....
_______....______________...._________...._____....
J'ai cherché du côté des transformers "attribute...", mais rien ne me semble correspondre.
Pourriez-vous me dire si ce que je demande est possible, et si oui m'indiquer les transformers à utiliser?
Merci d'avance,
Dernière modification par ceucile (lun 30 novembre 2009 16:56)
Hors ligne
#2 lun 30 novembre 2009 17:21
- Sarah - VEREMES
- Membre
- Date d'inscription: 21 avr 2009
- Messages: 33
Re: Eclater un champ en attributs
Bonjour,
Ça me semble possible, moi j'utiliserais un Aggregator en regroupant par code_insee et en mettant une liste. Ensuite, je trierais la liste (ListSorter) par variable pour avoir tous les champ1 dans l'élément 0 de la liste et les champ2 dans l'élément 1. En faisant un clique droit sur l'attribut donnee de la liste (list.donnee{}), vous pouvez demander à éclater la liste (ici en 2). Vous pouvez utiliser attributeRenamer pour appeler, list.donnee{0} = champ1 et list.donnee{1} = champ2. Pour nettoyer un peu les données, un ListRemover et un AttributeRemover et le tour est joué!
Dernière modification par Sarah - VEREMES (lun 30 novembre 2009 17:25)
Sarah MOURE
Veremes : support FME & version française
support at veremes point com
Hors ligne
#3 lun 30 novembre 2009 17:25
Re: Eclater un champ en attributs
Pas très clair mais bon...
Si vous n'avez que 2 valeurs possibles dans le champ "variable" (cad 'champ1' et 'champ2') vous pouvez faire utiliser tester ("variable"='champ1') pour séparer vos enregistrement puis renommer (attributerenamer) le champ "donnee" en "donnee1" pour l'un et en "donnee2" pour l'autre, puis un featuremerger avec Code_insse pour arriver à "code_inssee" "donnee1" "donnee2"
Voilà, en fonction de ce que j'ai compris, vs devriez arriver à vos fins
Hors ligne
#4 lun 30 novembre 2009 17:33
- ogayte
- Membre
- Date d'inscription: 6 mar 2006
- Messages: 323
Re: Eclater un champ en attributs
C'est assez manuel mais une solution propre serait :
1. de définir tous les attributs à créer avec AttributeCreator
2. d'utiliser un AttributeFilter pour distinguer les différentes catégories de Variable (champ1, champ2...)
3. Pour chacune des sorties mettre un AttributeSetter dont seul le nom d'attribut changerait à chaque sortie. Le paramètre Valeur d'AttributeSetter serait bien sûr votre attribut "donnee".
4. Aggregator devrait pouvoir regrouper tous les attributs d'une même commune sans avoir à passer par des FeatureMerger (Regrouper par = "code_insee).
Olivier Gayte
Veremes
04-68-38-65-27
Hors ligne
#5 lun 30 novembre 2009 19:28
- ceucile
- Membre
- Date d'inscription: 5 déc 2006
- Messages: 28
Re: Eclater un champ en attributs
Merci de toutes vos réponses.
Pour Mathieu et ogayte , j'ai malheureusement énormément de champs différents dans "variable", d'où les points de suspension à mes tableaux... C'est impossible donc de créer au préalable chaque attribut, je serais obligée de faire autrement.
J'ai testé la solution que propose Sarah - VEREMES, et qui me semblait faisable.
Dans cette solution, tout est presque parfait sauf une "petite" chose qui est celle-ci : Lorsque j'éclate ma liste en autant de variables différentes existant dans mon tableau (par exemple...200), il me crée des attributs "list{0}", "list{1}",...,"list{200}". Est-ce qu'il serait possible que ces attributs prennent automatiquement la valeur du nom du champ (dans la colonne variable du tableau initial), càd "champ1", "champ2",...,
"champ200", sans que j'ai besoin de lui spécifier par un attributeRenamer?
Encore merci pour votre précieuse aide,
Hors ligne
