Sas: як відображати значення у форматі часу


Припустімо, у вас є змінна в SAS під назвою duration , яка має значення часу 7:30:00 .

Ви можете використовувати такі функції в SAS, щоб форматувати це значення часу різними способами:

  • PUT(тривалість, час8.) – формат часу із загальною довжиною 8.
    • Це дасть 7:30:00.
  • PUT (тривалість, hhmm.) – формат години лише з годинами та хвилинами.
    • Це дасть 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 секунд, що дорівнює 15300 секундам.

Примітка : день має 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 відображає десяткові години.
  • duration_hour відображає лише значення години.
  • minute_duration відображає лише значення хвилин.
  • duration_second відображає лише значення секунд.

Не соромтеся використовувати будь-який формат, залежно від того, як ви хочете відображати значення часу у своєму наборі даних.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:

SAS: Як відображати значення в доларовому форматі
SAS: Як відображати значення у відсотковому форматі
SAS: Як відформатувати значення дати в PROC SQL

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *