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 Tue 01 March 2016 16:03

nat43
Participant actif
Date d'inscription: 13 Mar 2008
Messages: 94

FME 2015 - Suppression de doublons selon une échelle de temps

Bonjour,

J'ai une table attributaire Oracle qui contient beaucoup de données, dont beaucoup de doublons. Chaque enregistrement est daté.
Je souhaite créer une nouvelle table qui supprimerait mes doublons, mais en respectant une échelle de temps.

Voici les actions que je souhaiterais faire par groupe d'enregistrement. C'est un peu comme si je comparais l'enregistrement de la date courante par rapport à la date précédente.

CHP 1 | CHP 2 |      DATE
   A         200      01/01/2016  --> Je garde
   A         500      02/01/2016  --> Je garde car CHP2 a changé
   A         200      03/01/2016  --> Je garde car CHP2 a changé (même si c'est un doublon avec la première ligne)
   A         200      04/01/2016  --> Je supprime
   B         600      01/01/2016  --> Je garde
   B         600      02/01/2016  --> Je supprime
   B         600      03/01/2016  --> Je supprime
   B         500      04/01/2016  --> Je garde
   B         600      05/01/2016  --> Je garde


Au début, j'avais fait un Sorter sur ma date associé à un DuplicateRemover jusqu'à ce que je m'aperçoive que certaine ligne revenait à leur état initial.
Je souhaite vraiment garder "l'histoire" de mon enregistrement, sans non plus tout tout stocker, car ça se chiffre en millions d'enregistrements.

J'avais pensé aussi à faire du traitement par lot, ou utiliser une boucle en s'appuyant sur les dates :
- J'insère toutes les données de la date la plus ancienne.
- Je sélectionne la seconde date, je compare pour faire mon Insert ou pas
- Je sélectionne la date suivante et je compare à la date d'avant pour faire mon Insert ou pas
...

Mais, j'avoue que je ne sais pas comment m'y prendre dans FME, d'où ce post ...

Je vais regarder pour le faire en PL/SQL sinon, mais j'aurai bien aimé le faire dans FME (c'est plus ... interactif je dirai).

Merci d'avance pour vos aides ou vos idées.

Cdt. Nathalie

Hors ligne

 

Pied de page des forums

Powered by FluxBB