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 Thu 12 January 2017 16:17

Mercier Laurent
Participant actif
Date d'inscription: 28 Feb 2006
Messages: 86

Filtrer par la date la plus récente !

bonjour,

aprés quelques recherches sur le forum, j'aurai besoin de vos lumières car je sèche !

Quels transformers me permettrai de filtrer tous les attributs en fonction de la date la plus récente ?

j'ai essayé StatiticsCalculator mais je n'arrive pas à un résultat concluant ou mal employé !

j’espère être assez clair !

Merci pour vos conseils.

Cordialement.

Laurent

Hors ligne

 

#2 Fri 13 January 2017 08:46

MagBar
Participant assidu
Date d'inscription: 27 Jun 2012
Messages: 203

Re: Filtrer par la date la plus récente !

bonjour,

ce n'est pas forcément la solution la plus simple, mais tu peux peut être utiliser le StatisticsCalculator pour ressortir la date Maximum "_max" puis un tester ou testFilter pour ressortir les entités qui ont un attribut "date" identique à la date maxi calculée précédemment :

StatisticCalculator                                                    Tester
attribut à analyser = date                               =>      Si @Value(date)=@Value(_max)    -> sortie date Max
attribut maximum = _ max                                        Sinon                                          -> sortie autre date

A noter que celà ne fonctionnera que si ton attribut date est bien au format date, n'hésites donc pas à utiliser un dateFormatter si nécessaire.

Hors ligne

 

#3 Fri 13 January 2017 10:59

Mercier Laurent
Participant actif
Date d'inscription: 28 Feb 2006
Messages: 86

Re: Filtrer par la date la plus récente !

Merci MagBar pour le coup de pouce smile
je vais tester !

cdlt

Hors ligne

 

#4 Tue 24 January 2017 16:09

Mercier Laurent
Participant actif
Date d'inscription: 28 Feb 2006
Messages: 86

Re: Filtrer par la date la plus récente !

Bonjour,
Alors j'ai tester sur un petit fichier SHP avec un attribut format DATE mais hélas toutes les dates passent en sortie donc aucun tri de fait sur les dates les plus récentes. j'ai bien mis pourtant les recommandations de Magbar, n'y a t'il un paramètre que je zappe dans StatisticCalculator !!

Ou une autre piste (transformers) pour trier les attributs par dates les + récentes ?

Cordialement

Hors ligne

 

#5 Tue 24 January 2017 17:48

pierreb
Participant actif
Lieu: La Rochelle
Date d'inscription: 3 Oct 2011
Messages: 73

Re: Filtrer par la date la plus récente !

Vérifie que ton champ date est bien formaté (au besoin, utilise le DateFormatter pour que tout soit correct).

Et sinon, en solution alternative, tu peux peut-être tricher, formater ton champ Date sous la forme YYYYMMJJ puis faire un tri inverse et garder uniquement la 1ère ligne à chaque fois. A voir selon la structure de tes données smile

Hors ligne

 

#6 Wed 25 January 2017 11:29

Mercier Laurent
Participant actif
Date d'inscription: 28 Feb 2006
Messages: 86

Re: Filtrer par la date la plus récente !

Bonjour,
Pour être plus concret, voilà ma problématique, lorsque le service Topo/Levé effectue une campagne GPS, il embarque la totalité de la Base SIG par exemple "les Avaloirs" soit plus 9632 enregistrements, les nouveaux avaloirs relevés sont incrémentés à la base embarquée avec l'ajout d'un champ Date.
Je récupère donc ce fichier en SHP que je dois exporter au format DGN mais seulement ceux qui ont la date la plus récente (donc les derniers levés, soit X avaloirs) pour que dans le Fichier DGN il n'y ait que les avaloirs nouvellement relevés et non pas la totalité des 9632 avaloirs qui serait ingérable pour l’opérateur qui doit les visualiser et les incorporer facilement sous Microstation.

ci joint :
le fichier SHP en entrée >>https://drive.google.com/open?id=0Bxku0 … ElRTEtBVk0
Transformer StatisticCalculator >>https://drive.google.com/open?id=0Bxku0 … W5YTGc0QmM
Testerhttps://drive.google.com/open?id=0Bxku0 … VRSZWNPdTg

En sortie rien n'est trié par date le plus récente mais je récupère la totalité des points sad
j'ai mis un DateFormatter en amont de StatisticCal. mais rien n'y fait  !!

Merci par avance de vos lumières.

Cordialement

Hors ligne

 

#7 Wed 25 January 2017 13:35

pierreb
Participant actif
Lieu: La Rochelle
Date d'inscription: 3 Oct 2011
Messages: 73

Re: Filtrer par la date la plus récente !

Si vous connaissez la date du levé, vous pouvez peut-être simplement mettre un tester avec Date > Date du levé ?

Ou autre possibilité, vous comparez le fichier avant / après (avec ChangeDetector ou encore un FeatureMerger par exemple) et vous ne gardez que les éléments différents.

Hors ligne

 

#8 Wed 25 January 2017 13:43

Pim
Participant actif
Lieu: Plesder
Date d'inscription: 2 Aug 2007
Messages: 59

Re: Filtrer par la date la plus récente !

Bonjour,

Il est possible que ça vienne du group by
Ne mets rien dans le group by de ton StatisticsCaculator

Cdt,

Hors ligne

 

#9 Wed 25 January 2017 14:53

Mercier Laurent
Participant actif
Date d'inscription: 28 Feb 2006
Messages: 86

Re: Filtrer par la date la plus récente !

pierreb a écrit:

Si vous connaissez la date du levé, vous pouvez peut-être simplement mettre un tester avec Date > Date du levé ?
Ou autre possibilité, vous comparez le fichier avant / après (avec ChangeDetector ou encore un FeatureMerger par exemple) et vous ne gardez que les éléments différents.


Merci Pierreb smile
>> Alors avec ChangeDetector c'est nickel, par contre il faut changer l'original à chaque nouvelle campagne (le Revised devient l'Orignal) !!
>> pour le tester Date > Date du levé c'est tout bon également  en changeant la date à chaque campagne GPS..
je vais me pencher vers ce traitement et laisser StatisticCal de coté ...

Pim a écrit:

Bonjour,
Il est possible que ça vienne du group by
Ne mets rien dans le group by de ton StatisticsCaculator
Cdt,


Merci Pim
J'ai essayer mais il me remonte alors que la valeur de la Date_max !

Cordialement

Hors ligne

 

#10 Wed 25 January 2017 16:59

pierreb
Participant actif
Lieu: La Rochelle
Date d'inscription: 3 Oct 2011
Messages: 73

Re: Filtrer par la date la plus récente !

Mercier Laurent a écrit:
pierreb a écrit:

Si vous connaissez la date du levé, vous pouvez peut-être simplement mettre un tester avec Date > Date du levé ?
Ou autre possibilité, vous comparez le fichier avant / après (avec ChangeDetector ou encore un FeatureMerger par exemple) et vous ne gardez que les éléments différents.


Merci Pierreb smile
>> Alors avec ChangeDetector c'est nickel, par contre il faut changer l'original à chaque nouvelle campagne (le Revised devient l'Orignal) !!
>> pour le tester Date > Date du levé c'est tout bon également  en changeant la date à chaque campagne GPS..
je vais me pencher vers ce traitement et laisser StatisticCal de coté ...


Pour éviter quelques manips, il doit y avoir moyen de jouer sur différents aspects :

- Demander à FME de lire un répertoire au lieu d'un fichier en particulier (un répertoire Original, un autre Revised par exemple).
- Pour la date, il est possible de chercher la date max dans le fichier original (surtout si la base en cours est toujours stocké au même endroit) avant de filtrer le nouveau fichier.

Et une piste supplémentaire peut être l'enchainement de scripts FME (via le WorkspaceRunner).

Hors ligne

 

#11 Thu 26 January 2017 07:29

MagBar
Participant assidu
Date d'inscription: 27 Jun 2012
Messages: 203

Re: Filtrer par la date la plus récente !

As tu bien mis le Tester après le StatisticCalculator ? car StatisticCalculator ressort l'ensemble des données avec uniquement un ou plusieurs attribut complémentaire de statistique. Il faut filtrer après afin de ressortir l'ensemble des entités qui ont un attribut "Date" identique à l'attribut "_max" correspondant à la date la plus récente.

MagBar a écrit:

StatisticCalculator                                                    Tester
attribut à analyser = date                               =>      Si @Value(date)=@Value(_max)    -> sortie date Max
attribut maximum = _ max                                        Sinon                                          -> sortie autre date

Hors ligne

 

#12 Mon 30 January 2017 17:52

Mercier Laurent
Participant actif
Date d'inscription: 28 Feb 2006
Messages: 86

Re: Filtrer par la date la plus récente !

MagBar a écrit:

As tu bien mis le Tester après le StatisticCalculator ? car StatisticCalculator ressort l'ensemble des données avec uniquement un ou plusieurs attribut complémentaire de statistique. Il faut filtrer après afin de ressortir l'ensemble des entités qui ont un attribut "Date" identique à l'attribut "_max" correspondant à la date la plus récente.

MagBar a écrit:

StatisticCalculator                                                    Tester
attribut à analyser = date                               =>      Si @Value(date)=@Value(_max)    -> sortie date Max
attribut maximum = _ max                                        Sinon                                          -> sortie autre date


Bonjour MagBar,

Ci joint une capture de mon traitement sur un fichier test avec juste 7 enregistrements avec 2 dates différentes, 5 pour 20140124 et 2 pour 20140123, comme tu vois en sortie du SC il en ressort les 2 valeurs des dates présentes dans la base source  !!!! alors qu'il devrait avoir seulement 1 en sortie du SC ! Non ?
Cdlt


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

Hors ligne

 

#13 Thu 02 February 2017 09:03

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1024
Site web

Re: Filtrer par la date la plus récente !

Après ton StatisticCalculator il faut que tu fasses le test expliqué par MagBar pour chercher le max. Il est peut être aussi envisageable de faire une jointure sur la données source avec featuremerger sur l'a date et la date max :smile


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#14 Thu 02 February 2017 15:50

Mercier Laurent
Participant actif
Date d'inscription: 28 Feb 2006
Messages: 86

Re: Filtrer par la date la plus récente !

heretik25 a écrit:

Après ton StatisticCalculator il faut que tu fasses le test expliqué par MagBar pour chercher le max. Il est peut être aussi envisageable de faire une jointure sur la données source avec featuremerger sur l'a date et la date max :smile


Oui !!  j'ai bien un tester suite au SC mais tjs même résutat !! merci quand même...

Hors ligne

 

#15 Fri 03 February 2017 10:30

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1024
Site web

Re: Filtrer par la date la plus récente !

je vais tester pour voir smile


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#16 Fri 03 February 2017 10:36

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1024
Site web

Re: Filtrer par la date la plus récente !

Re,

ça semble ok chez moi voici en pj le fmw + fichier xls. Dis moi si il manque quelque chose.

Dernière modification par heretik25 (Fri 03 February 2017 10:36)


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

Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#17 Mon 06 February 2017 10:08

Mercier Laurent
Participant actif
Date d'inscription: 28 Feb 2006
Messages: 86

Re: Filtrer par la date la plus récente !

merci heretik25,

Mais je ne peux pas lire ton FMW je suis FME 2015 ! je crois que ton transformer FeatureMerger_Merged ne soit pas compatible, ou n'existe pas en version 2015 !

cdlt

Dernière modification par Mercier Laurent (Mon 06 February 2017 10:13)

Hors ligne

 

#18 Mon 06 February 2017 11:45

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1024
Site web

Re: Filtrer par la date la plus récente !

Il suffit de remplacer le featuremerger par celui de 2015 smile et faire la jointure entre date_max et date.

La date max provient du statisticCalculator et doit s'accrocher au featuremerger sur le port supplier et la date du fichier d'origine sur le port requestor

Tu pourras ensuite tester si la jointure est opérationnelle via un attribut créé par ton featuremerger (_joined) de mémoire que tu test à 1 (si 1 = jointure ok)

Dis moi si tu t'en sort smile

Au pire installe la version 2017
Loïc

Dernière modification par heretik25 (Mon 06 February 2017 11:46)


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#19 Mon 06 February 2017 12:26

Mercier Laurent
Participant actif
Date d'inscription: 28 Feb 2006
Messages: 86

Re: Filtrer par la date la plus récente !

C'est parfait Loïc smile
Good job

Merci bien de ton aide

Hors ligne

 

#20 Wed 08 February 2017 09:38

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1024
Site web

Re: Filtrer par la date la plus récente !

Avec plaisir :smile

Bonne continuation.


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

#21 Thu 09 February 2017 10:39

Mercier Laurent
Participant actif
Date d'inscription: 28 Feb 2006
Messages: 86

Re: Filtrer par la date la plus récente !

heretik25 a écrit:

Avec plaisir :smile

Bonne continuation.


Ton site perso est une invitation à l'aventure Outdoor ! SUPER smile

Hors ligne

 

#22 Fri 10 February 2017 11:54

Loic_GR
Moderateur
Lieu: Besancon
Date d'inscription: 12 May 2011
Messages: 1024
Site web

Re: Filtrer par la date la plus récente !

Mercier Laurent a écrit:
heretik25 a écrit:

Avec plaisir :smile

Bonne continuation.


Ton site perso est une invitation à l'aventure Outdoor ! SUPER smile


Salut, en effet ! Merci wink


Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com

Hors ligne

 

Pied de page des forums

Powered by FluxBB