Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


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

#1 Wed 08 April 2009 15:58

ceucile
Membre
Date d'inscription: 5 Dec 2006
Messages: 47

un transformer pour transposer des données?

Bonjour,

Voilà, j'ai actuellement entre les mains un fichier excel qui se présente sous cette forme là :

codeInseeCommune___champ1_____ champ2___champ3___ ....
_____09100___________17__________95________0.1_____ ....
_____25200___________25__________15_________1_____ ....
_____36200___________12__________10_________5_____ ....
....

Mais j'aimerai qu'il puisse être chargé dans une table oracle sous cette forme là :

codeInseeCommune____nomDuChamp_____Valeur
_____09100____________champ1_________17   
_____09100____________champ2_________95
_____09100____________champ3_________0.1
_____25200____________champ1_________25
_____25200____________champ2_________15
_____25200____________champ3_________1
_____36200____________champ1_________12
_____36200____________champ2_________10   
_____36200____________champ3_________5

Pensez-vous qu'une solution puisse exister sous FME sans avoir à remanier les données dans excel? Peut être un transformer personnalisé?

Merci d'avance pour vos idées et suggestions,

Hors ligne

 

#2 Wed 08 April 2009 17:24

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1633

Re: un transformer pour transposer des données?

Aloha

Le transformer AttributeExploder sied parfaitement à ce projet. Il faudra cependant filtrer les lignes créées en sortie. En effet les attributs système (type fme_feature_type, fme_type,...) engendrent eux aussi de nouvelles lignes.

Cf fichier transféré.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

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 Thu 09 April 2009 08:23

ceucile
Membre
Date d'inscription: 5 Dec 2006
Messages: 47

Re: un transformer pour transposer des données?

Rebonjour,

Merci pour vos réponses,

pour répondre à Pierre, je n'ai pas vraiment le choix qt à l'organisation de mes tables il me semble, car j'ai énormément de champs (beaucoup plus de 1000) pour chaque commune, et ce sont des champs qui n'ont pas lieu d'être ds des tables différentes.

Brindavoine, merci bcp pour cette piste que je vais m'empresser d'explorer. Je ne maitrise pas encore les transformers (formation dans 1 mois mais besoin trés urgent!), mais je vais tâcher de me débrouiller avec tout ça. J'ai vu cependant en ouvrant le fichier joint, un petit message d'erreur à propos du transformer Logger, car apparemment nous n'avons pas la même version de FME (version 2007 pour moi). J'espère vraiment que ce ne sera pas un problème car cette solution pourrait me faire gagner un temps considérable...
Je fais mes tests, et je vous tiens au courant!
encore merci

Hors ligne

 

#4 Thu 09 April 2009 08:31

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1633

Re: un transformer pour transposer des données?

Aloha
Ecarte le logger et remplace le par ta version. Je ne sais pas si l'attribute Exploder 2007 fonctionnait déjà comme celui de la version 2009.
You're Welcome.


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 Thu 09 April 2009 19:11

ceucile
Membre
Date d'inscription: 5 Dec 2006
Messages: 47

Re: un transformer pour transposer des données?

Alors, j'ai essayé mais j'ai quelques soucis de compréhension on va dire...

Si j'applique ton fmw à un fichier xls tout simple (tableau de 4 champs et 3 lignes de données), qu'est-ce que je suis censée obtenir comme résultat? Parceque là, ça me donne 0 au niveau du Total Features Written
Ca me donne aussi 15 du unfiltered au logger, entre autre...

Le problème c'est que je n'arrive pas à comprendre à quoi servent les fme_feature_type et fme_type que tu mets au niveau de AttributeFilter.
Et est-ce qu'il ne faudrait pas que je rajoute ma table oracle qui doit accueillir ces données au bout de toute la chaine de data flow?

J'essaie d'éplucher la doc mais ça ne m'aide pas beaucoup, je pense qu'il me manque qq bases (l'anglais non plus ça n'aide pas...)

J'attends vos précieux conseils, merci d'avance. En attendant, je continue à chercher, je vais peut être finir par trouver!

Hors ligne

 

#6 Thu 09 April 2009 21:18

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1633

Re: un transformer pour transposer des données?

Bonsoir,

Dans mon fmw, effectivement pas de db ou de fichier en sortie. Il te faut paramètrer une sortie type Oracle Db si tu souhaites écrire dans cette base.
L'attribute filter a pour but d'écarter, de filtrer les objets créés par l'attribute exploder pour chaque attribut système. Fme crée automatiquement ces attributs à la lecture d'un modèle de donnée pour s'indiquer à lui même quel type de données il est en train de lire. Enfin, c'est ce que j'ai compris, Olivier ou Mathieu infirmera si besoin.

Donc prochaine étape, ajoute Oracle en sortie. Le paramètrage est assez intuitif.

@ plus.


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

 

#7 Fri 10 April 2009 12:46

ceucile
Membre
Date d'inscription: 5 Dec 2006
Messages: 47

Re: un transformer pour transposer des données?

Alors... j'ai rajouté ma table de sortie oracle et enlevé le filtre pour voir le résultat. Donc là ça marche impec sauf qu'effectivement je me retrouve avec des lignes qui contiennent des attributs système, d'où le filtre!

et là miracle, je m'en suis sortie apparemment... Il a juste fallu que je rajoute 2 valeurs ds l'attributefilter qui sont : db_type et codeInseeCommune

Donc pas besoin du logger, c'est pas grave? (comme je ne comprend pas à quoi il sert...)

J'ai cependant une nouvelle question: J'ai beaucoup de fichiers de ce style à traiter, avec bien sur un nombre de champs et des noms de champ différents. Est-ce qu'il existerait un moyen d'automatiser ce transfert de données excel de cette manière vers ma table oracle?
(donc des sources différentes mais une même destination)

Merci pour tout

Dernière modification par ceucile (Fri 10 April 2009 14:40)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#8 Fri 10 April 2009 13:42

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1633

Re: un transformer pour transposer des données?

Aloha

Le logger sert juste à écrire la description des objets dans le contenu du journal. Très pratique pour débugger. Sinon aucun intérêt, effectivement.
Dans ta description de source, tu peux charger un répertoire ou plusieurs répertoires où tu iras charger l'ensemble des fichiers xls s'y trouvant.

Je peux t'envoyer mon .fmw en Pj si besoin.

@ plus


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

 

#9 Fri 10 April 2009 18:04

ceucile
Membre
Date d'inscription: 5 Dec 2006
Messages: 47

Re: un transformer pour transposer des données?

Un dernier mot pour dire que tout fonctionne impeccable!
J'ai réussi à charger plusieurs fichiers d'un coup. Beaucoup d'attributs système se rajoutent dans ce cas, mais comme j'ai maintenant bien compris tout le mécanisme de la chaine du data flow, et notamment le fonctionnement de l'attributefilter, j'ai pu gérer!

Donc merci beaucoup de m'avoir autant aidé, je vais gagner un temps considérable en chargement de données.
A bientôt car j'aurais trés certainement de nouvelles interrogations...

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |