Seleccione dónde en las fechasEstoy tratando de crear un subconjunto de un conjunto de datos.Quiero seleccionar las fechas fuera de mis fechas de inicio y finalización para el análisis y luego excluir dichas fechas.No estoy seguro de por qué esto no funciona, parece fácil.Creo que es problemas de formato de número?
Tengo StartDate y EndDate como fechas de CalendarBox()
:Date es una columna con fechas numéricas en formato m/d/y.
He intentado esto sin éxito:
BegTime = dt<< Subset(All rows, Selected columns only( 0 ) );
BegTime << Select Where(:Date < Informat(StartDate) |:Date > Informat(EndDate))<<EXCLUDE></EXCLUDE>
Para verificar las columnas, probé esto (a continuación) pero no obtuve ningún resultado.Justo ".
BegTime <<NEW column=""></NEW>
Re: Seleccione dónde en las fechasCreo que su problema es que está pensando que StartDate y EndDate son fechas numéricas.La forma en que ha construido su código, StartDate y EndDate son punteros a objetos.Debe extraer los valores de fecha de los objetos y colocarlos en las variables que elija.Además, su uso de una ventana modal no permitirá que se ejecute ningún procesamiento, como la configuración del rango de opciones para las fechas a elegir.Así que también he eliminado esa restricción.Entonces, si sigue la lógica del script a continuación, verá cómo manejar el control de procesamiento sin usar ventanas modales.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Time Series\Raleigh Temps.jmp" );
dt << clear row states;
startNW = New Window( "Start Date of Data",
StartDate = Calendar Box(),
Button Box( "OK",
startNW << close window;
runEndDate;
)
);
StartDate << Max Date( Col Max( :name( "Month/Year" ) ) ) << Min Date( Col Min( :Name( "Month/Year" ) ) );
StartDate << Set Function( Function( {this, date}, theStartDate = StartDate << Get Date ) );
runEndDate = Expr(
endNW = New Window( "End Date of Data",
EndDate = Calendar Box(),
Button Box( "OK",
endNW << close window;
runSelect;
)
);
endDate << Max Date( Col Max( :name( "Month/Year" ) ) ) << Min Date( Col Min( :Name( "Month/Year" ) ) );
EndDate << Set Function( Function( {this, date}, theEndDate = endDate << Get Date ) );
);
runSelect = Expr(
dt << select where( :Name( "Month/Year" ) < theStartDate | :Name( "Month/Year" ) > theEndDate )
);Re: Seleccione dónde en las fechas:Date es definitivamente un valor en segundos a partir del 01JAN1904. Si elimino el formato "m/d/y", es un número similar a los números de CalendarBox().
Sin embargo, ni siquiera puedo restar estos números entre sí.¿muy confundido?
Re: Seleccione dónde en las fechasSí, eso no está funcionando. ¿Es posible que mis valores de :Date no sean los mismos que los valores de mi cuadro de calendario JMP()?
Así es como calculo la cámara: Fecha
dt<< new column ("Date", numeric, continuous, format("m/d/y"), formula(
Date MDY(
Num( Substr( :TimeStamp, 1, 2 ) ),
Num( Substr( :TimeStamp, 4, 2 ) ),
Num( Substr( :TimeStamp, 7, 4 ) ) )
));
:TimeStamp son caracteres en el formato 01:28:2018::02:14:08:099
StartDate y EndDate son de esto:
new window("Start Date of Data",<<MODAL></MODAL>Re: Seleccione dónde en las fechasSupongo que está tratando con datos de fecha que son valores de fecha JMP (valores numéricos, la cantidad de segundos desde el 1 de enero de 1904).Dado eso, no hay necesidad de convertirlos a algún valor que no sea un valor numérico.Por lo tanto, lo siguiente debería funcionar
BegTime = dt<< Subset(All rows, Selected columns only( 0 ) );
BegTime << Select Where(:Date < StartDate |:Date > EndDate)<<EXCLUDE></EXCLUDE>