Sas: как отображать значения в формате времени
Допустим, у вас есть переменная в SAS под названием длительность , имеющая значение времени 7:30:00 .
Вы можете использовать следующие функции в SAS для форматирования этого значения времени разными способами:
- PUT(duration, time8.) – формат времени общей длиной 8.
- Это даст 7:30:00.
- PUT (длительность, хммм.) – часовой формат, состоящий только из часов и минут.
- Это даст 7:30.
- PUT(длительность, часы5.2) – Формат времени с десятичными дробями.
- Это даст 7,50.
- час(продолжительность) – формат только в часах.
- Это даст 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 секундам.
Примечание : в сутках 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;
Обратите внимание, что каждый из новых столбцов форматирует значения времени по-разному:
- period_time8 отображает часы, минуты и секунды.
- period_hhmm отображает только часы и минуты.
- period_hhmm отображает десятичные часы.
- Duration_hour отображает только значение часа.
- минуту_длительность отображает только значение минуты.
- длительность_секунды отображает только значение секунд.
Не стесняйтесь использовать любой формат, который вы хотите, в зависимости от того, как вы хотите отображать значения времени в вашем наборе данных.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
SAS: Как отображать значения в долларовом формате
SAS: Как отображать значения в процентном формате
SAS: Как форматировать значения даты в PROC SQL