Wählen Sie den Datumsbereich mit Kalenderfeldern ausDiese JSL-Funktion zeigt einen modalen Dialog mit zwei Kalenderfeldern an. Die Felder sind mit JSL verknüpft. Wenn Sie also im linken Feld ein Mindestdatum auswählen, werden nicht verfügbare Daten im rechten Feld ausgegraut. Ähnliches gilt auch für die andere Richtung.
Linked calendar boxesLinked calendar boxesLinked calendar boxesLinked calendar boxesVerknüpfte Kalenderboxen
Die JSL ist als Funktion geschrieben, die Sie mit einer optionalen Begrenzung des Datumsbereichs (in der Titelleiste angezeigt) aufrufen können.Der Funktionsaufruf gibt eine Liste zurück:
{21. August 2019, 26. August 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>Diese JSL schaltet die Zeitanzeige im Kalendersteuerelement aus und entfernt alle Sekunden nach Mitternacht, wann immer sie erscheinen. Die JSL legt außerdem einen gültigen Datumsbereich für die linken und rechten Steuerelemente fest. Wenn Sie im linken Steuerelement ein Datum auswählen, ändert sich das Mindestdatum im rechten Steuerelement und ähnliches in die andere Richtung. Die Heute-Schaltflächen wurden ebenfalls entfernt. Wenn Sie versuchen, diese JSL so zu ändern, dass sie die Zeit unterstützt, werden Sie feststellen, dass die Schaltflächen „Heute“ keinen Rückruf durchführen und die von ihnen ausgewählte Zeit nicht um Mitternacht gerundet ist, wie dies bei den minimalen und maximalen Datumswerten der Fall ist.
Siehe auch
https://www.jmp.com/support/help/14-2/date-time-functions.shtml

Wählen Sie einen Datumsbereich mit zwei Kalenderfeldern aus.
Betreff: Datumsbereich mit Kalenderfeldern auswählenDanke @Craige_Hales für eure Antworten.
beste grüße
Betreff: Datumsbereich mit Kalenderfeldern auswählenDanke @Craige_Hales für den Hinweis auf das Problem mit den Kalendersymbolen im Filter.Das Symbol sollte jedes Mal erscheinen, wenn Sie mit der Maus über den numerischen Text fahren, sodass Sie zwischen der Textbearbeitung und der Kalenderbearbeitung wählen können.Dies wurde für eine zukünftige Version behoben.Wie Sie betonen, funktionieren die Kalender in der aktuellen Version noch, in einigen Fällen wird jedoch nicht das Kalendersymbol angezeigt, um auf die Funktionalität hinzuweisen.
Betreff: Datumsbereich mit Kalenderfeldern auswählenProbieren Sie so etwas aus, wenn Sie Ihr eigenes machen möchten. Zusätzlich zum Aufruf einer von Ihnen bereitgestellten Funktion habe ich auch dafür gesorgt, dass die beiden Kalenderdaten mit dem Bereich initialisiert werden und nicht mit dem heutigen Datum, was nützlicher erscheint. Sie können die Kalender auch in den Bericht statt in das modale Fenster einbetten.
Wie unten beschrieben, können Sie sehen, wie setrange(...) Versteckt und schließt lediglich die Daten aus, die Sie nicht sehen möchten. Es ist nicht in den lokalen Datenfilter integriert, funktioniert aber auf ähnliche Weise.
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>Betreff: Datumsbereich mit Kalenderfeldern auswählenSchade, ich dachte, ich könnte die Kalenderfelder als Filter verwenden, anstatt einen Filter für jede Art von Dauer (Monat, Woche, Jahr usw.) zu haben.
Danke für Ihre Antwort.
alles Gute !
Betreff: Datumsbereich mit Kalenderfeldern auswählenDas glaube ich nicht. Benutzerdefinierte Selektoren können eine Funktionsanforderung sein.
Sie sollten in der Lage sein, den Bereichsschieberegler zu verwenden, er liefert jedoch keine Genauigkeit für einen Tag über einen großen Datumsbereich.
drag the two selector controlsdrag the two selector controlsdrag the two selector controlsdrag the two selector controlsZiehen Sie die beiden Auswahlsteuerelemente
Die Kalender sind bereits einzeln vorhanden und sehr schwer zu entdecken. Wenn Sie mit der Maus über die blaue Linie fahren, zeigt das Symbol manchmal an, wo Sie klicken müssen. Wenn Sie auf das Symbol klicken, verschwindet es, aber Sie können immer noch auf die Stelle klicken, an der es angezeigt wurde! Der Cursor verwandelt sich auch in einen Zeigefinger, wenn Sie ihn über den linken Teil des Datums bewegen. (JMP 15. 16 ist möglicherweise besser.) @XanGregg @danschikore @Audrey_Shull
Betreff: Datumsbereich mit Kalenderfeldern auswählenHallo,
Ich möchte dieses Skript verwenden, um einen lokalen Datenfilter zu ersetzen, der auf ein Diagramm angewendet wird.
Der lokale Datenfilter bietet drei Auswahlmöglichkeiten: Jahr, Monat und Datum.
Mit 2 Kalendern wird es einfacher.
Ist es möglich, es in einen lokalen Datenfilter einzubinden?
beste grüße