Seleccionar rango de fechas con cuadros de calendarioEsta función JSL muestra un cuadro de diálogo modal que contiene dos cuadros de calendario. Los cuadros están vinculados con JSL, por lo que al seleccionar una fecha mínima en el cuadro de la izquierda, se atenúan las fechas no disponibles en el cuadro de la derecha, y lo mismo ocurre en la otra dirección.
Linked calendar boxesLinked calendar boxesLinked calendar boxesLinked calendar boxesCuadros de calendario vinculados
El JSL está escrito como una función que puede llamar con un límite opcional en el rango de fechas (que se muestra en la barra de título).La llamada a la función devuelve una lista:
{21 de agosto de 2019, 26 de agosto de 2019}
promptDateRange = Function( {minAllowed = 1jan1001, maxAllowed = 31dec2999},
{roundMidnight, result, startDate, endDate}, // local variables
roundMidnight = Function( {datetime}, // return the date, without the time...which is midnight at the start of a day
As Date( Date MDY( Month( datetime ), Day( datetime ), Year( datetime ) ) )
);
minAllowed = roundMidnight( minAllowed );
maxAllowed = roundMidnight( maxAllowed );
result = New Window( "Select date range between " || Char( minAllowed ) || " and " || Char( maxAllowed ),
modal, // modal: the window must be closed before JMP can continue
// do the validation in OnValidate, NOT OnClose! Doing it in OnClose will prevent canceling, which is Bad!
<<ONVALIDATE> (startDate << getMaxDate),
startDate << date( startDate << getMaxDate )
);
)
)
),
H Center Box( Text Box( "end", <<SETFONTSIZE></SETFONTSIZE></ONVALIDATE>Este JSL desactiva la visualización de la hora en el control del calendario y elimina los segundos después de la medianoche cada vez que aparecen. El JSL también establece un rango válido de fechas para los controles izquierdo y derecho; elegir una fecha en el control izquierdo cambia la fecha mínima en el control derecho, y similar en la otra dirección. Los botones de hoy también se eliminan. Si intenta modificar este JSL para admitir la hora, descubrirá que los botones de hoy no realizan la devolución de llamada y la hora que seleccionan no está redondeada a medianoche como los valores de fecha mínimo y máximo.
Ver también
https://www.jmp.com/support/help/14-2/date-time-functions.shtml

Seleccione un rango de fechas con un par de cuadros de calendario.
Re: Seleccionar rango de fechas con cuadros de calendarioGracias @Craige_Hales por tus respuestas.
atentamente
Re: Seleccionar rango de fechas con cuadros de calendarioGracias @Craige_Hales por señalar el problema con los íconos de calendario en el filtro.El icono debería aparecer cada vez que pase el cursor sobre el texto numérico, dándole la opción de elegir entre edición textual o edición de calendario.Esto se ha solucionado para una versión futura.Como señala, los calendarios aún funcionan en la versión actual, pero en algunos casos no muestra el ícono del calendario para dar una pista de la funcionalidad.
Re: Seleccionar rango de fechas con cuadros de calendarioPrueba algo como esto si quieres hacer el tuyo propio. Además de llamar a una función que usted proporciona, también hice que inicializara las dos fechas del calendario en el rango, en lugar de hoy, lo que parece más útil. Podría incrustar los calendarios con el informe en lugar de la ventana modal.
Como está escrito a continuación, puedes ver cómo establecer rango(...) simplemente oculta y excluye los datos que no desea ver. No está integrado con el filtro de datos local, pero funciona de forma similar.
dt = New Table( "Untitled 3",
Add Rows( 367 ),
New Column( "date", Numeric, "Continuous", Format( "ddMonyyyy", 10 ), Input Format( "ddMonyyyy" ), Formula( 01Jan2020 + In Days( Row() - 1 ) ) ),
New Column( "value", Numeric, "Continuous", Format( "Best", 12 ), Formula( Random Uniform() ) )
);
gb = dt << Graph Builder(
Size( 531, 456 ),
Show Control Panel( 0 ),
Variables( X( :date ), Y( :value ) ),
Elements( Points( X, Y, Legend( 3 ) ), Line Of Fit( X, Y, Legend( 5 ) ) )
);
wait(0);
setrange=function({low,high},
dt<<SELECT hidden=""> (startDate << getMaxDate),
startDate << date( startDate << getMaxDate )
);
setrange(roundMidnight( startDate << getDate ),roundMidnight( endDate << getDate )); // callback added
)
)
),
H Center Box( Text Box( "end", <<SETFONTSIZE></SETFONTSIZE></SELECT>Re: Seleccionar rango de fechas con cuadros de calendarioLástima, pensé que podría usar los cuadros del calendario como filtro en lugar de tener un filtro para cada tipo de duración (mes, semana, año, ...).
Gracias por su respuesta.
mis mejores deseos !
Re: Seleccionar rango de fechas con cuadros de calendarioNo me parece. Los selectores definidos por el usuario pueden ser una solicitud de función.
Debería poder obtener el control deslizante de rango, pero no brindará precisión de un solo día en un rango de fechas grande.
drag the two selector controlsdrag the two selector controlsdrag the two selector controlsdrag the two selector controlsarrastre los dos controles selectores
Los calendarios ya están ahí, uno a la vez, y son muy difíciles de descubrir. Si pasa el cursor sobre la línea azul, el icono a veces muestra dónde debe hacer clic. Cuando te mueves para hacer clic en el ícono, este desaparece, ¡pero aún puedes hacer clic donde apareció! El cursor también cambia a un dedo que señala cuando lo mueve sobre la parte izquierda de la fecha. (JMP 15. 16 puede ser mejor). @XanGregg @danschikore @Audrey_Shull
Re: Seleccionar rango de fechas con cuadros de calendarioHola,
Me gustaría utilizar este script para reemplazar un filtro de datos local aplicado a un gráfico.
el filtro de datos local tiene 3 opciones: año, mes y fecha.
con 2 calendarios, será más sencillo.
¿Es posible incluirlo en un filtro de datos local?
atentamente