表の列の日付を引く皆さんこんにちは、
テーブルの列の1つで日付を1日引いて、新しい列に配置するスクリプトを作成するのを手伝ってもらえますか。 これはExcelで簡単に実行できますが、JMPでこれを実行するのに苦労しています。
写真では、「TestEndDate」というタイトルの列=2017年6月19日... 「テスト開始日」というタイトルの列に、2017年6月18日のような日付を表示したい...
また、「TestEndDate」の日付がすべて同じではないことも知っておいてください...
Re:テーブルの列の日付を引くキャラクターコラムをキャッチ! (JMPは、文字データを左に、数値データを右に揃えます。)
分、時間、日、週、年を追加するためのヘルパー関数がいくつかあります。 inDays(1)は60 * 60 * 24です:
Show(
Format( Today(), "y/m/d" ),
Format( Today() - In Days( 1 ), "y/m/d" ),
Format( Today() - In Weeks( 1 ), "y/m/d" ),
Format( Today() - In Years( 1 ), "y/m/d" )
)
Format(Today()、 "y / m / d")= "2017/08/11";
Format(Today()-In Days(1)、 "y / m / d")= "2017/08/10";
Format(Today()-In Weeks(1)、 "y / m / d")= "2017/08/04";
Format(Today()-In Years(1)、 "y / m / d")= "2016/08/11";
関数名は引数の単位を参照し、各関数は秒単位でJMP期間を返します。
Re:テーブルの列の日付を引くJMPの日付値は秒単位で測定されるため、特定の日付から1日を引くには、60 * 60*24秒を引く必要があります。 次のスクリプトは、最初の日付列から1日を引く数式が適用された列を持つデータテーブルを作成します。
Names Default to Here( 1 );
New Table( "Test",
Add Rows( 10 ),
New Column( "date",
Numeric,
"Continuous",
Format( "m/d/y", 12 ),
Input Format( "mmddyyyy" ),
Set Values(
[3585254400, 3585254400, 3585254400, 3585254400, 3585254400, 3585254400,
3585254400, 3585254400, 3585254400, 3585254400]
)
),
New Column( "test end date",
Numeric,
"Continuous",
Format( "m/d/y", 12 ),
Input Format( "m/d/y" ),
Formula( :date - 60 * 60 * 24 ),
Set Selected
)
)
また、添付の写真で、日付の値が、日付形式が適用された数値列としてではなく、文字列に入力されているように見えることにも気づきました。 減算を実行できるようにする場合は、開始日の値を数値の日付値として入力する必要があります。