Masquer et exclure la colonne de dates plus rapidementBonjour,
J'ai une table JMP avec 76 000 lignes avec une colonne nommée "sortDateColumn" qui contient des dates dans ce format :
09/24/2020 11:29:25 AM
dans mon code j'ai cette ligne qui prend 4 secondes à s'exécuter
minDate = "02/16/2021 12:23:09 AM";<BR />dt << Select where( Column( sortDateColumn )[] <= Informat( minDate, "MDYHMS" ) ) << Hide and Exclude();
existe-t-il un moyen plus rapide d'exécuter cette ligne ? car faire cela plusieurs fois ralentit tout mon code d'environ 1 minute
si je le fais sur une autre ligne
dt << Select Where( :"age" < 650 );
cela prend moins de 0,1 seconde mais avec les dates cela prend beaucoup plus
Personnalisation de masseRe : Masquer et exclure la colonne de dates plus rapidementJe ne sais pas dans quelle mesure ce changement accélérera cette étape, mais l'une de ces versions mériterait peut-être une petite amélioration.
// call Informat() function once for constant time point
minDate = Informat( "16Feb2021 12:23:09 AM" );
Current Data Table() << Select Where( :column 1 <= minDate ) << Hide and Exclude();
// use literal value for constant time point
Current Data Table() << Select Where( :column 1 <= 16Feb2021:12:23:09 ) << Hide and Exclude();
Re : Masquer et exclure la colonne de dates plus rapidementcela a résolu le problème, il s'exécute désormais en 0,3 seconde, merci !Re : Masquer et exclure la colonne de dates plus rapidementIl y a quelques erreurs avec votre code mais je pense que celle qui vous ralentit le plus est qu'il n'y a pas d'information "MDYHMS". Cela provoque l'écriture de nombreuses erreurs dans le journal et c'est ce qui prend si longtemps. Jetez un œil à votre journal et voyez si j'ai raison.
Essayez plutôt ceci :
minDate="02/16/2021 12:23:09 AM";
current data table() << Select where( :column 1 <= informat(minDate, "m/d/y h:m:s" )) << Hide and Exclude();
Cependant, même cela est plus que ce dont vous avez besoin. Vous pouvez éviter toutes ces informations en utilisant une constante datetime (vous pouvez en savoir plus à leur sujet dans Utilisation des dates, heures, dates-heures et durées dans JMP ).
minDate="16Feb2021 12:23:09 AM";
current data table() << Select where( :column 1 <= informat( minDate ) << Hide and Exclude();
Enfin, vous avez eu un faux [] après votre désignation Column(). Je ne pense pas que ce soit utile ici.