#1 Wed 09 August 2017 11:05
- ckiko13
- Participant assidu
- Date d'inscription: 20 Feb 2007
- Messages: 363
[FME 2017]Excel: scinder un attribut
Bonjour
J'ai un tableau Excel avec une colonne répertoriant plusieurs numéros de parcelles dans une cellule.
Ex:
champ1: toto champ2: 26000 AL 1-2-16
champ3: titi champ4: 26000 ZP 116-2157
Je souhaite éclater ce champ2 en autant de lignes qu'il y a de numéros de parcelles différents et avoir des colonnes renseignées ainsi:
champ1:toto champ2: 26000 AL 1
champ1:toto champ2: 26000 AL 2
champ1:toto champ2: 26000 AL 16
champ3: titi champ4: 26073 ZP 116
champ3: titi champ4: 26073 ZP 2157
J'utilise le transformer AttributSplitter avec comme délimiteur "-" pour récupérer les différents numéros de parcelles;puis le transformer ListExploder pour créer plusieurs lignes avec ces numéros.
J'obtiens ceci:
champ1:toto champ2: 26000 AL 1
champ1:toto champ2: 2
champ1:toto champ2: 16
champ3: titi champ4: 26073 ZP 116
champ3: titi champ4: 2157
Mais comment récupérer le numéro INSEE + la section dans chaque ligne?
Merci
Dernière modification par ckiko13 (Wed 09 August 2017 16:10)
Hors ligne
#2 Wed 09 August 2017 15:35
- Cherubin
- Participant assidu
- Lieu: NGC 1300
- Date d'inscription: 10 Jun 2008
- Messages: 273
Re: [FME 2017]Excel: scinder un attribut
Je te suggère de faire un autre Attribute Splitter sur ton premier champ2 avec comme délimiteur AL.
Ensuite tu pourras fusionner ton nouveau champ2(26000) avec les autres champs2.
Hors ligne
#3 Wed 09 August 2017 16:05
- ckiko13
- Participant assidu
- Date d'inscription: 20 Feb 2007
- Messages: 363
Re: [FME 2017]Excel: scinder un attribut
Non ce n'est pas possible car la valeur des sections change.
Dans l'idée j'ai besoin d'extraire les 8 premières valeurs de chaque cellule, et de les associer aux numéros de parcelles contenus dans ces cellules, en créant des enregistrements distincts.
Hors ligne
#4 Wed 09 August 2017 16:47
- scapall
- Participant occasionnel
- Lieu: Rennes
- Date d'inscription: 14 Apr 2006
- Messages: 22
Re: [FME 2017]Excel: scinder un attribut
Si tu commences par faire un attributecreator qui prend les 8 premiers caractères dans un champ 1 et le reste dans un champ 2.
Puis tu applique ta méthode sur le nouveau champ 2 et enfin tu crée un champ 3 avec le champ 1 et le résultat de ton listexploder.
A partir du moment où le num INSEE et le num de section font toujours 8 caractère ça devrait marcher
Hors ligne
#5 Wed 09 August 2017 22:29
Re: [FME 2017]Excel: scinder un attribut
Salut,
Si tu as besoin d'extraire les 8 premiers caractères, utilise SubstringExtractor
Ensuite, tu peux faire un AttributeSplitter sur l'espace, exposer la liste (clic droit sur la liste : Expose Element 0-2) et récupérer les éléments dont tu as besoin. 0-1 ou 2 dans un StringConcatenator
Bonne continuation.
Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com
Hors ligne
#6 Thu 10 August 2017 12:07
- ckiko13
- Participant assidu
- Date d'inscription: 20 Feb 2007
- Messages: 363
Re: [FME 2017]Excel: scinder un attribut
Bonjour
Pour obtenir mon résultat j'ai fait ce projet-là qui fonctionne bien.
Mais est-il possible de faire plus simple?
Je n'ai pas compris la méthode d'Heretik25.
Hors ligne