• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SASの時間比較)

SASの時間比較方法とは?

このQ&Aのポイント
  • SASを使用して時間の間隔を計算する方法について解説します。
  • 日数を計算する場合はDATDIF関数を使用しますが、時間の場合は別の方法が必要です。
  • 具体的なデータを使用して、時間の場合の計算方法を詳しく説明します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

以下のようにすればよいです. 21:00:05 のデータに対しては time は 75605,21:30:05 に対しては 77405 が入ります. DATA data1; INPUT name$ date time; INFORMAT date YYMMDD10. time TIME8.; CARDS; sato 2005/06/10 21:00:05 sato 2005/06/10 21:30:05 sato 2005/06/10 21:40:05 suzuki 2005/06/10 20:00:00 suzuki 2005/06/10 20:10:00 suzuki 2005/06/10 20:30:00 tanaka 2005/06/10 21:00:05 tanaka 2005/06/10 21:13:05 tanaka 2005/06/10 21:10:05 tanaka 2005/06/10 21:30:05 tanaka 2005/06/10 21:31:05 RUN;

maryoha
質問者

お礼

ソースコードまで丁寧に教えていただき ありがとうございました。 SASは他の言語と違い書籍も少なく 自分で勉強するのが難しいです。 インターネットで探してもSASに関するサイトは 見当たりません。 失礼ですがFumisannariさんはどのように勉強されたのでしょうか? 参考にできる本、サイトがありましたら 教えていただけるとありがたいです。 では、また何かありましたら 宜しくお願いいたします。 今回は本当にありがとうございました。

その他の回答 (1)

回答No.1

どこの「間隔」を求めたいのでしょうか? 例えば,21:00:05 と 21:30:05 の間隔を求めたいのだとします. 適切な入力フォーマットでデータを読み込んであれば,それらの「時刻」は SAS データセット内部では秒として保存されています.したがって,単純に引き算を実行すれば,1800 という答えが得られます. 後は必要に応じて 60 で割って 30 (分) という答えを得たり,さらに 60 で割って,0.5 (時間) とすればよいです.

maryoha
質問者

補足

返信ありがとうございます。 引き算して求めるんですね。 間隔はFumisannariさんがおっしゃるとおりの間隔です。 >適切な入力フォーマットでデータを読み込んであれば 「2005/06/10 21:00:05」の場合の入力フォーマットはどのように記述すればよいのでしょうか 教えていただけるととても助かります。 宜しくお願いいたします。

関連するQ&A