#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
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
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
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 !
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
>> 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é ...
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 !
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
>> 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.
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 !
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
Hors ligne
#13 Thu 02 February 2017 09:03
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 :
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 !
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 :
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
Re: Filtrer par la date la plus récente !
je vais tester pour voir
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
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)
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
Re: Filtrer par la date la plus récente !
Il suffit de remplacer le featuremerger par celui de 2015 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
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
Good job
Merci bien de ton aide
Hors ligne
#20 Wed 08 February 2017 09:38
Re: Filtrer par la date la plus récente !
Avec plaisir :
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 !
Avec plaisir :
Bonne continuation.
Ton site perso est une invitation à l'aventure Outdoor ! SUPER
Hors ligne
#22 Fri 10 February 2017 11:54
Re: Filtrer par la date la plus récente !
heretik25 a écrit:Avec plaisir :
Bonne continuation.
Ton site perso est une invitation à l'aventure Outdoor ! SUPER
Salut, en effet ! Merci
Freelance traitements ETL FME certifié: www.sitdi-france.fr Twitter : @sitdifrance
Site perso ~ www.partir-en-vtt.com
Hors ligne