Pages: 1
- Sujet précédent - Transformer une chaîne de caractère en un type date [FME2014] - Sujet suivant
#1 Thu 22 January 2015 10:15
- Xavier Julian
- Participant assidu
- Lieu: Orange
- Date d'inscription: 19 Jan 2015
- Messages: 218
Transformer une chaîne de caractère en un type date [FME2014]
Bonjour à tous,
Je cherche à transformer un champ de type texte, contenant une date au format JJ/MM/AAAA, en un champ de type date.
Je dois en effet ajouter des enregistrements à une de mes géodatabase qui contient un champ "date_de_saisie" de type date, mais le fichier source que je veux ajouter à ma base est un Shape avec le champ "date_de_saisie" de type texte.
J'ai essayé le "DateFormatter", mais ce transformer ne permet de convertir qu'un champ type date en un autre champ de type date, avec un autre format.
J'ai aussi essayé "TimeStamper", mais ce transformer ne fait qu'ajouter une date, alors que je veux garder les valeurs de mon champ source.
Merci par avance !
Xavier.
Hors ligne
#2 Thu 22 January 2015 10:53
Re: Transformer une chaîne de caractère en un type date [FME2014]
Salut,
J'aurais préconisé un dateformater avec %j %m %Y
Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com
En ligne
#3 Thu 22 January 2015 10:53
Re: Transformer une chaîne de caractère en un type date [FME2014]
Il faut utiliser les transformers de base : SubstringExtractor, StringReplacer et StringConcatenator pour restructurer votre champ texte.
Par exemple "JJ/MM/AAAA" en "AAAA-MM-JJ".
La structure cible dépend de la structure attendue par le format de sortie. Le mieux est de regarder un exemple dans dataInspector ou de se plonger dans la doc du format.
Hors ligne
#4 Thu 22 January 2015 11:24
- Xavier Julian
- Participant assidu
- Lieu: Orange
- Date d'inscription: 19 Jan 2015
- Messages: 218
Re: Transformer une chaîne de caractère en un type date [FME2014]
Merci, ça marche.
Voilà la solution détaillée pour ceux que ça intéresse :
- 3 "SubstringExtractor" pour extraire le jour, le mois, et l'année.
- "StringConcatenator" pour restructurer la date au format AAAAMMJJ. Il faut concaténer les 3 listes résultant des "SubstringExtractor".
- "DateFormatter" configuré comme il suit : Date Attributes = résultat de StringConcatenator / Source Date Format = Automatic Detection / Destination Date Format = (%Y%m%d) / Set Invalid Date Attributes to = <null>
Merci !
Xavier.
Dernière modification par Xavier Julian (Thu 22 January 2015 12:15)
Hors ligne
#5 Thu 26 February 2015 15:57
- iben42
- Participant actif
- Lieu: Larnage
- Date d'inscription: 29 Dec 2010
- Messages: 87
Re: Transformer une chaîne de caractère en un type date [FME2014]
Bonjour,
Pourquoi ne pas remplacer les 3 SubstringExtractor par un StringSearcher en utilisant l’expression régulière :
^([0-9]*)/([0-9]*)/([0-9]*)$
Dernière modification par iben42 (Thu 26 February 2015 15:57)
Hors ligne
#6 Fri 27 February 2015 11:16
- pierreb
- Participant actif
- Lieu: La Rochelle
- Date d'inscription: 3 Oct 2011
- Messages: 73
Re: Transformer une chaîne de caractère en un type date [FME2014]
J'ai un doute : pourquoi un simple DateFormatter ne fonctionne pas ? Je viens de tester vite fait avec un excel en entrée (champs au format texte) et une gdb en sortie (attribut type date) et le transformer semble suffire. Qu'est-ce que je manque ?
Hors ligne
Pages: 1
- Sujet précédent - Transformer une chaîne de caractère en un type date [FME2014] - Sujet suivant