2 つの日付の間の日数をどのように計算しますか?2 つの日付フィールドがあり、どちらも m/d/y 幅 12 形式の場合、日数の差を取得するにはどうすればよいですか? これを行う簡単な方法はありますか?
Re: 2 つの日付の間の日数はどのように計算しますか?日付の違いは完璧に機能します。Re: 2 つの日付の間の日数はどのように計算しますか?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />JMP にも強みはありますが、Excel が JMP よりも優れている点の 1 つは、データ変換の容易さです。 (これはトレードオフです。Excel にはユーザーの要求を推測しようとする AI のような機能が豊富にあるようですが、JMP の動作はより予測可能です。) 日付の変換は良い例です。 JMP を使い始めたとき、JMP が認識する日付形式は単なる例ではなく、JMP が認識できる唯一の形式を列挙したリストであることに気づくまでにしばらく時間がかかりました。 Excel では、h、m、s、d、y 文字と区切り文字を使用してカスタムの日付入力形式を構築でき、テキストを内部タイムスタンプ形式に変換できます。
Re: 2 つの日付の間の日数はどのように計算しますか?スムーア2、
あなたの発言が冒涜であるとまでは言いませんが、私の経験では、JMP は Excel よりも日時の処理において桁違いに優れています。 私たちの仕事の性質上、私たちはタイミングデータを広範囲に扱います。 Excel とは異なり、JMP には継続時間形式があるという事実自体が、私たちにとって天の恵みでした。 過去に日時形式の問題が原因で Excel を使用して計算をやり直さなければならなかった回数は数え切れませんでしたが、分析チームが分析に JMP を使用し始め、JMP が日時を処理する方法を理解すると、それらの問題はなくなりました。
私は 10 年以上 Excel の日時データと格闘してきましたが、Excel の欠点を克服するために VBA スクリプトに頼らなければならないことがよくありました。 それでも、フォーマットの問題が発生するリスクは常にありました。 JMP では、単純な数式を使用して列の形式を設定するか、JMP が列の数式に対して提供する広範な日付/時間関数のセットを使用してほとんどの処理を行うことができるため、日時の計算をスクリプト化する必要はありませんでした。 以下のスクリーンショットは、このスレッドで既に言及されている 3 つの異なる方法を使用して元の投稿者が望んでいたものを示しており、スクリプトは一切必要ありません。

最初の違いでは、(日付 2 - 日付 1) / 86400 という単純な式を使用して、日数単位の違いを計算します。 JMP が日時を 1904 年 1 月 1 日 12:00:00 AM からの秒数として保存していることを考えると、日数を取得するのは非常に簡単です。 この方法は、日数の一部を 10 進数形式で報告したい場合に便利です。
2 番目の違いは、1 日の秒数を知る必要がないため、さらに単純です。 使用される数式は日付 2 - 日付 1 のみで、列は期間 (:day:hr:m) としてフォーマットされます。 この方法を使用すると、日数が時間形式でレポートされ、残り時間が時間、分、秒で表示されます。
最後のメソッドは Date Difference 関数を使用し、日数だけを返します。 確かに、日付 2 から日付 1 を減算すると、Excel はデフォルトでこれを実行しますが、日付 2 - 日付 1 から日数を吐き出すだけではなく、JMP が犠牲にするものは、日付と時刻の計算に関する Excel の欠点を補って余りあるものです。
Re: 2 つの日付の間の日数はどのように計算しますか?Excel で日付間の計算を行って、その結果を JMP テーブルに転送する方がはるかに簡単だと思います。これは冒涜のように聞こえるかもしれませんが、必要なスクリプトを理解するよりもはるかに簡単で迅速です。
Re: 2 つの日付の間の日数はどのように計算しますか?グータム、
私の歩行者の試みが解決策をもたらしました。 列の式を使用して、列 1 から列 2 を減算し、列 3 を日数で表示するようにフォーマットします。

Re: 2 つの日付の間の日数はどのように計算しますか?こんにちは、ゴータムさん
そのためだけに指定された公式があります。これは日付差と呼ばれるもので、数式エディタの「日付時刻」関数で見つけることができます。
以下はヘルプファイルからの抜粋です。
日付の違い
2 つの日時値の差を返します。 間隔引数には、秒、分、時、日、週、月、四半期、年を指定できます。 アライメント引数については、以下で説明します。
Start は、間隔が開始される回数をカウントするために使用されます。
Actual は、間隔全体をカウントするために使用されます。
Fractional は、小数点以下の間隔をカウントするために使用されます。
たとえば、次の式は次の結果を返します。 207.890243055556 、日付間の日数:
日付の差(01Jan2010:00:00:00, 27Jul2010:21:21:57, "日", "小数");
次の式は次の値を返します。 207 、日付間の完了日数:
日付の差(01Jan2010:00:00:00, 27Jul2010:21:21:57, "日", "実際");
次の式は、時間間の完了時間数である 9 を返します。
日付の差(01Jan2010:00:00:00, 01Jan2010:09:22:57, "時間", "実際");
次の式は、時刻間の新しい時間が開始された回数である 1 を返します。
日付の差(2010 年 12 月 31 日:23:59:59、2011 年 1 月 1 日:00:59:59、「時間」、「開始」);
あるいは、次のスクリプトを実行して、列 3 の式を含む最後のコマンドに注目することもできます。
New Table( "Untitled",
Add Rows( 1 ),
New Column( "Column 1",
Numeric,
Continuous,
Format( "m/d/y", 12 ),
Input Format( "m/d/y" ),
Set Values( [2900620800] )
),
New Column( "Column 2",
Numeric,
Continuous,
Format( "m/d/y", 12 ),
Input Format( "m/d/y" ),
Set Values( [2900966400] )
),
New Column( "Column 3",
Numeric,
Continuous,
Format( "Best", Use thousands separator( 0 ), 17 ),
Formula( Date Difference( :Column 1, :Column 2, "day", "actual" ) )
)
);
幸運を!
Re: 2 つの日付の間の日数はどのように計算しますか?日付値が保存される内部的には基準日 (1904 年 1 月 1 日) からの経過秒数として表されます。 したがって、次の 2 つの日付の差は、日々は次のように計算できます。
(:Date2 - :Date1) / (60 * 60 * 24)
という機能もあります日付の差() JMP 12 にはありました (以前のバージョンにもあったかもしれませんが、今まで気づきませんでした)。 私の知る限り同じことを行いますが、いくつかの優れたオプションがあります (スクリプト索引、ヘルプ メニューを参照してください)。
Date Difference(:Date1, :Date2, "Day")
Re: 2 つの日付の間の日数はどのように計算しますか?グータム、
ご質問ありがとうございます!
JMP (D/M/Y 形式) で 2 つの日付間の日数の差を取得するには、次の操作を簡単に行うことができます。
最も簡単な方法: デルタ (日)
ステップ 1: データテーブルに新しい列を作成する
ステップ 2: 2 番目の日付から最初の日付を引き、これを86,400で割ります
JMP は日付の差を秒単位で返すため、これを日数に換算すると 1 日の合計秒数は 86,400 になります。
詳細については、以下を参照してください。方式。

代替方法: デルタ (D:H:M) 時間持続時間
ステップ 1: データテーブルの新しい列に数式を作成する
ステップ 2: 2 番目の日付から最初の日付を引くだけです
ステップ 3: 列のプロパティの形式で、ドロップダウン リストから [期間日:時:分] を選択します。
これにより、日数の差と残りの時間と分が返されます。
式と形式については以下を参照してください。

お役に立てれば!
スコット