Seleziona l'intervallo di date con le caselle del calendarioQuesta funzione JSL visualizza una finestra di dialogo modale contenente due caselle di calendario. Le caselle sono collegate con JSL, quindi selezionando una data minima nella casella di sinistra si oscurano le date non disponibili nella casella di destra e simili per l'altra direzione.
Linked calendar boxesLinked calendar boxesLinked calendar boxesLinked calendar boxesCaselle del calendario collegate
Il JSL è scritto come una funzione che puoi chiamare con un limite facoltativo sull'intervallo di date (mostrato nella barra del titolo).La chiamata alla funzione restituisce un elenco:
{21 agosto 2019, 26 agosto 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>Questo JSL disattiva la visualizzazione dell'ora nel controllo del calendario e rimuove eventuali secondi dopo la mezzanotte ogni volta che appaiono. La JSL imposta inoltre un intervallo di date valido per i controlli sinistro e destro; selezionando una data nel controllo di sinistra si modifica la data minima nel controllo di destra e simili nell'altra direzione. Anche i pulsanti Oggi vengono rimossi. Se provi a modificare questo JSL per supportare l'orario scoprirai che i pulsanti di oggi non effettuano la richiamata e l'orario selezionato non è arrotondato a mezzanotte come i valori di data minimo e massimo.
Guarda anche
https://www.jmp.com/support/help/14-2/date-time-functions.shtml

Seleziona un intervallo di date con una coppia di caselle calendario.
Ri: Selezionare l'intervallo di date con le caselle del calendarioGrazie @Craige_Hales per le tue risposte
distinti saluti
Ri: Selezionare l'intervallo di date con le caselle del calendarioGrazie @Craige_Hales per aver segnalato il problema con le icone del calendario nel filtro.L'icona dovrebbe apparire ogni volta che passi il mouse sopra il testo numerico, dandoti la possibilità di scegliere tra la modifica testuale o la modifica del calendario.Questo problema è stato risolto per una versione futura.Come hai sottolineato, i calendari funzionano ancora nella versione corrente, ma in alcuni casi non mostra l'icona del calendario per suggerirne la funzionalità.
Ri: Selezionare l'intervallo di date con le caselle del calendarioProva qualcosa del genere se vuoi crearne uno tuo. Oltre a chiamare una funzione fornita, ho anche fatto in modo che inizializzasse le due date del calendario nell'intervallo, anziché su oggi, il che sembra più utile. Potresti incorporare i calendari con il report anziché con la finestra modale.
Come scritto di seguito, puoi vedere come impostare l'intervallo(...) nasconde ed esclude semplicemente i dati che non vuoi vedere. Non è integrato con il filtro dati locale, ma funziona in modo simile.
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>Ri: Selezionare l'intervallo di date con le caselle del calendariopeccato, pensavo di poter usare le caselle del calendario come filtro invece di avere un filtro per ogni tipologia di durata (mese, settimana, anno,..).
Grazie per la risposta.
ti auguro il meglio !
Ri: Selezionare l'intervallo di date con le caselle del calendarioNon credo. I selettori definiti dall'utente potrebbero essere una richiesta di funzionalità.
Dovresti essere in grado di ottenere il dispositivo di scorrimento dell'intervallo, ma non fornirà la precisione di un singolo giorno su un ampio intervallo di date.
drag the two selector controlsdrag the two selector controlsdrag the two selector controlsdrag the two selector controlstrascina i due controlli di selezione
I calendari sono già lì, uno alla volta, e molto difficili da scoprire. Se passi il mouse sopra la linea blu, l'icona a volte mostra dove devi fare clic. Quando ti sposti per fare clic sull'icona, questa svanisce, ma puoi comunque fare clic nel punto in cui è apparsa! Il cursore si trasforma anche in un dito puntato quando lo sposti sulla parte sinistra della data. (JMP 15.16 potrebbe essere migliore.) @XanGregg @danschikore @Audrey_Shull
Ri: Selezionare l'intervallo di date con le caselle del calendarioCIAO,
Vorrei utilizzare questo script per sostituire un filtro dati locale applicato a un grafico.
il filtro dati locale ha 3 scelte: anno, mese e data.
con 2 calendari sarà più semplice.
è possibile includerlo in un filtro dati locale?
distinti saluti