Sas: 値を時間形式で表示する方法
SAS に、時間値7:30:00を持つdurationという変数があるとします。
SAS で次の関数を使用すると、この時間値をさまざまな方法でフォーマットできます。
- PUT(duration, time8.) – 合計長が 8 の時間形式。
- これにより、7:30:00 が生成されます。
- PUT (duration, hhmm.) – 時と分のみを含む時間形式。
- これにより 7:30 が生成されます。
- PUT(duration, hours5.2) – 10 進数の時刻としてフォーマットします。
- これにより 7.50 が生成されます。
- hour(duration) – 時間単位のみでフォーマットします。
- これで7が生成されます
- 分 (期間) – 分単位のみでフォーマットします。
- これで 30 個が生成されます。
- 秒 (期間) – 秒単位でのみフォーマットします。
- これにより 0 が生成されます。
次の例は、これらの各形式を実際に使用する方法を示しています。
例: SAS で値を時間形式で表示する
SAS に、さまざまなアスリートがタスクを完了するまでにかかった時間に関する情報を含む次のデータセットがあるとします。
/*create dataset*/
data my_data;
input athlete $duration time8.;
datalines ;
At 04:15:00
B 10:09:15
C 7:30:00
D 18:55:00
E 14:23:59
F 23:45:10
;
run ;
/*view dataset*/
proc print data =my_data;
デフォルトでは、SAS は時間値を秒単位で保存します。
たとえば、最初の行には 4 時間 15 分 0 秒と入力しました。これは 15,300 秒に相当します。
注: 1 日は 86,400 秒です。
次の構文を使用して、期間列の値をさまざまな時間形式にフォーマットする新しいデータセットを作成できます。
/*create new dataset with duration printed in various time formats*/
data new_data;
set my_data;
duration_time8 = put (duration, time8. );
duration_hhmm = put (duration, hhmm. );
duration_hour52 = put (duration, hour5.2 );
duration_hour = hour (duration);
duration_minute = minute (duration);
duration_second = second (duration);
run ;
/*view new dataset*/
proc print data = new_data;
新しい列のそれぞれでは、時間値が異なる方法でフォーマットされることに注意してください。
- duration_time8 は、時間、分、秒を表示します。
- duration_hhmm は時間と分のみを表示します。
- duration_hhmm は時間を 10 進数で表示します。
- duration_hour は時間の値のみを表示します。
- minutes_duration は分の値のみを表示します。
- duration_second は秒の値のみを表示します。
データセット内の時間値をどのように表示したいかに応じて、任意の形式を自由に使用してください。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。
SAS: 値をドル形式で表示する方法
SAS: 値をパーセント形式で表示する方法
SAS: PROC SQL で日付値をフォーマットする方法