カレンダーボックスで日付範囲を選択この JSL 関数は、2 つのカレンダー ボックスを含むモーダル ダイアログを表示します。 ボックスは JSL にリンクされているため、左側のボックスで最小の日付を選択すると、右側のボックスで使用できない日付がグレー表示され、他の方向でも同様です。
Linked calendar boxesLinked calendar boxesLinked calendar boxesLinked calendar boxesリンクされたカレンダー ボックス
JSL は、日付の範囲 (タイトル バーに表示) をオプションで制限して呼び出すことができる関数として作成されます。関数呼び出しはリストを返します。
{2019 年 8 月 21 日、2019 年 8 月 26 日}
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>この JSL は、カレンダー コントロールの時刻表示をオフにし、午前 0 時以降の秒が表示されるたびに削除します。 JSL は、左右のコントロールの有効な日付範囲も設定します。左側のコントロールで日付を選択すると、右側のコントロールの最小日付が変更され、逆の方向でも同様です。 今日のボタンも削除されます。 時刻をサポートするようにこの JSL を変更しようとすると、今日ボタンがコールバックを行わず、選択される時刻が日付の最小値と最大値のように午前 0 時で四捨五入されていないことがわかります。
関連項目
https://www.jmp.com/support/help/14-2/date-time-functions.shtml

ペアのカレンダー ボックスを使用して日付の範囲を選択します。
Re: カレンダーボックスで日付範囲を選択するありがとう@Craige_Halesあなたの答えのために。
よろしくお願いします
Re: カレンダーボックスで日付範囲を選択するありがとう@Craige_Halesフィルター内のカレンダーアイコンの問題を指摘していただきました。数値テキストの上にカーソルを置くとアイコンが表示され、テキスト編集かカレンダー編集かを選択できます。これは将来のリリースで修正されています。ご指摘のとおり、カレンダーは現在のリリースでも機能しますが、機能を示すカレンダー アイコンが表示されない場合があります。
Re: カレンダーボックスで日付範囲を選択する自分で作りたい場合は、このようなものを試してください。 指定した関数を呼び出すことに加えて、今日ではなく 2 つのカレンダーの日付をその範囲に初期化するようにしました。これはより便利だと思われます。 モーダル ウィンドウの代わりにカレンダーをレポートに埋め込むことができます。
以下に書いたように、方法はわかりますセットレンジ(...)見たくないデータを非表示にして除外するだけです。 これはローカル データ フィルターと統合されていませんが、同様に機能します。
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: カレンダーボックスで日付範囲を選択する残念なことに、期間 (月、週、年など) ごとにフィルターを用意する代わりに、カレンダー ボックスをフィルターとして使用できると思いました。
お返事ありがとうございます。
ではごきげんよう !
Re: カレンダーボックスで日付範囲を選択する私はそうは思わない。 ユーザー定義のセレクターは機能リクエストである可能性があります。
範囲スライダーを取得できるはずですが、広い日付範囲にわたって 1 日の精度は得られません。
drag the two selector controlsdrag the two selector controlsdrag the two selector controlsdrag the two selector controls2 つのセレクター コントロールをドラッグします
カレンダーは一度に 1 つずつすでに存在しており、見つけるのは非常に困難です。 青い線の上にマウスを移動すると、クリックする必要がある場所がアイコンに表示されることがあります。 アイコンをクリックするために移動すると、アイコンは消えますが、表示された場所をクリックすることはできます。 カーソルを日付の左側に移動すると、カーソルが人差し指に変わります。 (JMP 15.16 の方が良いかもしれません。) @XanGregg @ダンシコレ@Audrey_Shull
Re: カレンダーボックスで日付範囲を選択するこんにちは、
このスクリプトを使用して、グラフに適用されたローカル データ フィルターを置き換えたいと考えています。
ローカル データ フィルターには、年、月、日付の 3 つの選択肢があります。
カレンダーが2つあると、よりシンプルになります。
ローカルデータフィルターに含めることはできますか?
よろしくお願いします