#1 Wed 23 December 2009 16:01
- Stéphanie B
- Participant actif
- Date d'inscription: 23 Jun 2008
- Messages: 53
Eclater les valeur d'un champ dans deux champs distincts
Bonjour,
J'ai en entrée une table avec un champ "Adresse" contenant certaines fois un numéro (mais pas toujours) et un nom de rue.
J'ai en sortie une table avec deux champs, un champ "Adresse_numéro" et "Adresse_rue".
Je cherche un transformer qui me permettrait de mettre les valeurs numérique dans le champ "Adresse_numéro" et le reste dans le champ "Adresse_rue".
Quelqu'un a-t-il déjà eu ce problème?
Merci de votre aide.
Stéphanie
Hors ligne
#2 Wed 23 December 2009 16:26
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: Eclater les valeur d'un champ dans deux champs distincts
Bonjour,
Il faut utiliser StringSearcher. Lui indiquer l'attribut et en chaîne de recherche (regular expression) : ^([0-9]+)(*)$
La partie numérique sera envoyé dans l'élément 0 de la liste définie en sortie, le reste dans l'élément 1. Un clic_droit\expose element vous permettra de transformer les 2 éléments de liste en attribut.
S'il n'y a pas de partie numérique, l'objet sort dans NON_MATCHED. Vous saurez alors qu'il n'y a pas de numéro d'adresse et pourrez orienter l'attribut en entier vers "Adresse_rue".
Espérant être compréhensible,
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
#3 Wed 23 December 2009 16:49
- Stéphanie B
- Participant actif
- Date d'inscription: 23 Jun 2008
- Messages: 53
Re: Eclater les valeur d'un champ dans deux champs distincts
Merci pour les conseils.
Je ne trouve pas le transfomer StringSearcher dans ma liste de Transformer...
Etes-vous sûr du nom?
Merci.
Hors ligne
#4 Wed 23 December 2009 16:51
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: Eclater les valeur d'un champ dans deux champs distincts
En quelle version de FME êtes-vous ?
Cherchez Grepper.
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
#5 Wed 23 December 2009 16:52
Re: Eclater les valeur d'un champ dans deux champs distincts
Bonjour,
Juste une précision car nous avons été confronté au problème. Les numéros de bâtiments ne sont pas TOUJOURS purement numériques.
Et oui, il y a des bis et des ter ou alors, si vous êtes en Suisse, des a et des b,c (dans certains cas, on va même jusqu'à s ou t, mais je n'ai encore jamais vu de aa).
Il faut donc bien faire attention et voir si un séparateur autre (comme une virgule) ne permet pas de scinder le champ (ensuite, on trimme les espaces vides).
Véronique
Hors ligne
#6 Wed 23 December 2009 17:00
- Stéphanie B
- Participant actif
- Date d'inscription: 23 Jun 2008
- Messages: 53
Re: Eclater les valeur d'un champ dans deux champs distincts
C'est bien Grepper.
Merci de votre aide!
Hors ligne
#7 Wed 23 December 2009 17:14
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: Eclater les valeur d'un champ dans deux champs distincts
Dans le cas de Véroh, ^([0-9]+)(*),(*)$ ainsi le deuxième membre (ce qui est entre le numéro et la virgule) pourrait être redirigé vers un attribut "complément adresse".
Enfin, le grepper a été renommé stringsearcher en 2009, ce qui est bien plus parlant. Cependant, son utilisation nécessite sans doute un peu plus d'exemple que ceux fournis par la doc.
Bonnes fêtes à tous,
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