Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Vous partez en vacances ?
Vous pouvez suspendre vos abonnements aux forums : vous serez désinscrit à partir de la date que vous indiquerez et réinscrit automatiquement à votre retour.

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.

Et à tous nos membres : bonnes vacances !
L'équipe GeoRezo

#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

Mathieu
Membre
Lieu: Paris
Date d'inscription: 6 sep 2005
Messages: 22
Site web

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

 

Pied de page des forums

Powered by FluxBB