日付と時刻関数の使用

それでは次に、日付と時刻の関数について少しお話しましょう。スクリプトエディタウィンドウの内容をクリアします。ログもクリアします。ログウィンドウを右クリックし、「ログをクリア」を選択します。日付と時刻は1月0日午前0時からの秒数として保存されることを覚えておいてください。そして、それらを変数に保存することもできます。日付と時刻の関数を使って日付と時刻の値を計算することもできます。そこで、変数tを作成します。イコール記号を入力して、関数の結果「today」を代入します。ここでも、JMPがこれがJSL関数「today」であると認識できるように、括弧を追加する必要があります。これにより、スクリプトを実行すると、今日の日付と時刻が1月0日午前0時からの秒数として返されます。閉じ括弧にカーソルを合わせ、セミコロンを入力します。これも必須ではありませんが、ベストプラクティスです。そして、スクリプトのその行を実行します。ログには、コードを実行した時点の1月0時以降の秒数が表示されています。この数字を解釈するのは非常に困難です。非常に大きな数字です。私としては、これを見ても先週のことなのか、昨年のことなのか来年のことなのかさえ分かりません。そこで、スクリプトでは、これを判読可能な文字列にフォーマットすることができます。ここで明確にしておきたいのは、データテーブルに秒数として保存されている日付がある場合、判読可能な日付として表示するようにフォーマットできるということです。ただし、データ型やモデリングの種類は変更していません。データテーブルには、依然として数値の秒数として保存されています。表示方法を変えているだけです。一方、スクリプトでこれを行うと、返されるのは単なる文字列で、これはいかなる数値計算にも使用できません。つまり、様々な形式があるということです。スクリプトエディタをクリアする代わりに、ここでの異なる手順を確認できるように、次の行に移動して「format」と入力します。そして括弧を開きます。tに格納されている値をフォーマットします。これが最初の引数です。使用するフォーマットは、すべて名前付きなので文字列です。「Date Long」というフォーマットを使用します。二重引用符を開きます。JMPは自動的に閉じます。「Date Long」と入力し、二重引用符を閉じます。このスクリプトの1行だけを実行したい場合、1つの方法は、行番号がある余白にカーソルを移動して、その行を選択することです。その後、Ctrl+Rなどの方法でスクリプトを実行します。それでは、先に進めます。1行だけ実行する別の方法については、後ほど説明します。ログに返されているのは「12月木曜日」という文字列です。この結果を変数に格納して、ユーザーへのメッセージやレポートに表示される文字列にまとめることもできます。では、tに格納されている数値を使い続けましょう。スクリプトエディタウィンドウで新しい行に移動します。そして、日付間の期間、つまり日付の差を計算する関数を使用します。これは日付差と呼ばれます。これらの組み込み関数は大文字にしていないことに注意してください。通常は、書式設定に任せています。しかし、これらの関数は書式設定しないので、すべて小文字のままです。ただし、これはパーサーには影響しません。括弧を開きます。今日の日付との差を取得したい古い日付は5月です。これを小さな定数として入力します。数字のMは大文字です。つまり、省略する必要のない月です。しかし、このように日付を入力すると、月は常に3文字になります。今、JMPは私が入力した文字を認識していないことに注意してください。そのため、文字が赤色に変わります。次に年を入力します。JMPはそれを日付として認識し、濃い緑色に変わります。これが古い日付です。カンマを入れます。2番目の引数は、差分を取得したい新しい日付です。tを使用します。次に増分を指定します。これは文字列です。年を指定します。実は、JMPに組み込み関数の先頭文字を大文字にしてもらうために、書式設定をし直してみましょう。おそらく私が気づかなかったスペースがいくつか追加されていると思います。今すぐ行を実行してみましょう。先ほども言いましたが、この1行を実行するには、行を選択するだけです。または、複数の行を選択することもできます。実行したい行をハイライト表示します。しかし、1行だけ実行する必要があり、カーソルがその行にある場合は、標準的なデスクトップコンピュータのキーボードのテンキーからEnterキーを使用できます。テンキーの右側にあるテンキーでEnterキーを押すと、その1行だけが実行されます。ログを見ると、スクリプト全体が実行されていないことがわかります。複数の行を選択した場合でも同様です。選択した行だけが実行されます。つまり、違いは年数です。この日付に見覚えがないかもしれません。これは、多くの人が非常に有名な看護師として知っているフローレンス・ナイチンゲールの誕生日です。彼女は実は疫学統計学の先駆者でもありました。そして、今日の疫学者が今でも使用しているグラフのいくつかを彼女が考案しました。そのため、彼女の貢献を称えるため、コースのいくつかの場面でナイチンゲールについて取り上げています。日付と時刻についてはこれで終わりです。繰り返しますが、JMPの基本要素のいくつかを簡単に見ていきましょう。