Як обчислити різницю між двома датами в sas
Ви можете використовувати функцію INTCK у SAS, щоб швидко обчислити різницю між двома датами в SAS.
Ця функція використовує такий базовий синтаксис:
INTCK (інтервал, дата початку, кінцеві дані, метод)
золото:
- інтервал : інтервал для обчислення (день, тиждень, місяць, рік тощо)
- дата початку : дата початку
- кінцева дата : кінцева дата
- метод : чи підраховувати повні інтервали (‘D’ = Ні (за замовчуванням), ‘C’ = Так)
У наступному прикладі показано, як використовувати цю функцію на практиці.
Приклад: обчисліть різницю між датами в SAS
Припустімо, у SAS є такий набір даних, який містить дві змінні дати:
/*create dataset*/
data original_data;
format start_date end_date date9. ;
input start_date: date9. end_date: date9. ;
datalines ;
01JAN2022 09JAN2022
01FEB2022 22FEB2022
14MAR2022 04APR2022
01MAY2022 14AUG2022
;
run ;
/*view dataset*/
proc print data = original_data;
Ми можемо використовувати такий код, щоб обчислити різницю між значеннями змінних start_date і end_date у днях, тижнях і місяцях:
/*create new dataset*/
data new_data;
set original_data;
days_diff = intck (' day ', start_date, end_date);
weeks_diff = intck (' weeks ', start_date, end_date);
months_diff = intck (' months ', start_date, end_date);
run ;
/*view new dataset*/
proc print data =new_data;
Три нові змінні показують різницю між start_date і end_date у днях, тижнях і місяцях.
Зауважте, що ми можемо використовувати аргумент « c » у функції INTCK лише для обчислення різниці в повних днях, тижнях і місяцях:
/*create new dataset*/
data new_data;
set original_data;
days_diff = intck (' day ', start_date, end_date, ' c ');
weeks_diff = intck (' weeks ', start_date, end_date, ' c ');
months_diff = intck (' months ', start_date, end_date, ' c ');
run ;
/*view new dataset*/
proc print data =new_data;
Зверніть увагу на різницю між цією таблицею та попередньою.
У цій таблиці різниця в тижнях між 1 і 9 січня обчислюється як 1, оскільки між цими датами може поміститися лише один повний тиждень.
Однак у попередній таблиці різниця в тижнях була розрахована на 2 , оскільки між цими двома датами припадало два неповних тижні.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:
Як нормалізувати дані в SAS
Як замінити символи в рядку в SAS
Як замінити пропущені значення на нуль в SAS
Як видалити дублікати в SAS