1449_ja-JP
データを日付シーケンスとして初期化する JSL スクリプト次のような JSL コードを作成しようとしています。
1) 初期化するデータ範囲の開始日と終了日の入力をユーザーに求める
2) 新しいテーブルを作成し、このテーブルに終了日 - 開始日に等しい行数を追加し、行ごとに 1 日ずつ増加する日付で新しい列を初期化します。
これを達成する方法について何か提案がある人はいますか? これまでのテストコードを含めました。 ありがとう。
ロン
ダイアログ(
VList(
ラインナップ(2,
"初期日付を mm/dd/yyyy に設定", sdate=EditNumber(),
"終了日を mm/dd/yyyy に設定します", edate=EditNumber()),
HList(Button("OK"), Button("Cancel"))));
新しいテーブル( "無題 4",
行の追加(edate-sdate )、
新しい列( "連続した日付",
数値、
継続的、
フォーマット( "m/d/y", 12 ),
入力形式( "m/d/y" )、
値を設定(シーケンス(sdate,edate,1,0)
[]
)
)
)Re: データを日付シーケンスとして初期化する JSL スクリプトごめんなさい、mpbさん
私は完全に無能だったので、EditNumber から EditText に変わったことに気づきませんでした。 このコードは、あなたが思っていたとおり、魔法のように機能しました。 ご協力いただき誠にありがとうございました。
ロンRe: データを日付シーケンスとして初期化する JSL スクリプト最新のコードを実行しましたか? Edit Number ボックスの代わりに EditText ボックスがあります。 ダイアログでは、入力されたテキストを JMP 日付数値に変換することはできません。 JMP を閉じてから開いた後、実行してみてください。 はい、JMP を起動し、新しいコードをコピーしてスクリプト ウィンドウに貼り付けました。 正常に実行されました。 様子を教えてください。Re: データを日付シーケンスとして初期化する JSL スクリプト新しいコードを試しましたが、ダイアログ ボックスに表示される値は数値のままで、日付として表示されません。 つまり、01/01/2010 と入力すると 3345148800 になります。 なぜそれが私ではなくあなたにとってうまくいったのかわかりません。Re: データを日付シーケンスとして初期化する JSL スクリプト次の変更されたスクリプトを試してください。 入力された日付を検証する簡単な方法はありませんが、多少の努力があればできると思います。
Re: データを日付シーケンスとして初期化する JSL スクリプト列形式に m/d/y オプションがなく、JSL を選択するとエラーが発生します。 そこでmdyに変更しました。 ただし、スクリプトのダイアログでは、m/d/y として指定された日付が受け入れられました。 おそらく OS または OS ローカリゼーション「機能」です (ここでは、スウェーデンの Mac OS X 上で実行されている JMP 8.0.2)。Re: データを日付シーケンスとして初期化する JSL スクリプトmpbとMSに感謝します。どちらの提案も非常に役に立ちました。 この演習からリストについて多くのことを学びました。 MS のコードを変更して、edate の行を追加する必要がありました (edate - sdate + 86400)。
sdate および edate EditNumber フィールドをフォーマットして、入力されたデータを数値ではなく mm/dd/yyyy として表示する方法を試してきました。 それがうまくいかないようです。 これを達成する方法について何か提案はありますか? ありがとう。Re: データを日付シーケンスとして初期化する JSL スクリプトmdy の形式に問題があったので、m/d/y に変更しました。 また、終了日を含めるために 1 行追加し、1 日の秒数を明示的に計算する代わりに「In Days(1)」関数を使用しました。
Re: データを日付シーケンスとして初期化する JSL スクリプトテストコードが希望どおりに動作するように、テストコードにいくつかの変更を加えました。
Comments
There are no comments yet