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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *