#1 Thu 01 July 2010 09:01
- marine.g
- Participant occasionnel
- Date d'inscription: 4 Aug 2009
- Messages: 43
Eclater une liste via un transformer
Bonjour!
Je sollicite votre aide pour un petit problème dans un script FME, en esperant que vous pourrez m'aider!
J'ai une table Access qui se présente sous la forme suivante :
Code Date
AL01 22.10.2002
AL02 10.05.2008
AL02 23.11.2009
... ...
Je voudrais exporter mes données dans une géodatabase avec la structure suivante :
Code Date1 Date2 ...
AL01 22.10.2002 ....
AL02 10.05.2008 23.11.2009 ....
J'utilise un transformer aggregator qui me permet d'obtenir un enregistrement par station et me crée une liste avec toutes les dates pour ces stations. Le problème est que je ne trouve pas de transformer pour éclater la liste en fonction du nombre de date que j'ai!
J'ai remarqué que l'on peut éclater la liste en faisant un clic droit sur celle-ci et en choisissant en combien on souhaite l'éclater. Mais dans ce cas, le nombre est constant ce qui me pose prblème : j'aurai de plus en p'lus de date au fil du temps et j'aimerais donc que le transformer puisse éclater la liste en fonction de ce nombre de date qui varie.
Merci d'avance pour votre aide!
Hors ligne
#2 Thu 01 July 2010 11:14
- pyjoubert
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Mar 2006
- Messages: 347
Re: Eclater une liste via un transformer
Bonjour,
As tu essayé ListExplode ?
Hors ligne
#3 Thu 01 July 2010 11:57
Re: Eclater une liste via un transformer
Réponse théorique :
Le véritable problème vient de votre structure de données cible.
Si vous ne connaissez pas le nombre de dates à gérer vous ne pouvez pas connaître le nombre de colonnes et vous ne pourrez pas produire de résultat. Évitez ce modèle si vous voulez faire du stockage dans une base de données propre.
Réponse pragmatique :
Vous êtes sur la bonne piste avec aggregator ou ListBuilder.
Deux solutions :
1. utilisez le clic droit pour éclater la liste en donnant une valeur supérieur au nombre d'éléments max.
2. Utiliser ListConcatenator pour obtenir un attribut unique avec toutes les valeurs.
La solution 2 est plus propre. Vous pouvez envoyer le résultat dans un jeu de données au format TEXT qui vous permettra de gérer un nombre illimité de dates.
Hors ligne
#4 Thu 01 July 2010 14:08
- marine.g
- Participant occasionnel
- Date d'inscription: 4 Aug 2009
- Messages: 43
Re: Eclater une liste via un transformer
Merci pour vos réponses,
J'ai essayé le ListExploder mais avec ce transformer comme avec le ListConcatenator, j'obtiens une entité pour chaque station à chaque date alors que j'ai besoin qu'une entité corresponde à une station quelque soit la date. J'ai donc un unique attribut date au lieu de X attributs date1,date2, etc.
Je dois absolument avoir un attribut par date pour pouvoir cartographier ces données. Je cherche à représenter sous ArcGIS, pour chaque station, un diagramme avec une note obtenue à chaque date. Cette représentation n'est possible que si chaque date est représentée par un attribut. J'ai donc opté pour la solution d'éclater la liste en indiquant un nombre supérieur au nombre de dates dont je dispose actuellement.
Hors ligne