Як використовувати функцію intck у sas (з прикладами)


Ви можете використовувати функцію INTCK у SAS, щоб швидко обчислити різницю між двома датами в SAS.

Ця функція використовує такий базовий синтаксис:

INTCK (інтервал, дата початку, кінцеві дані, метод)

золото:

  • інтервал : інтервал для обчислення (день, тиждень, місяць, квартал, рік тощо)
  • дата початку : дата початку
  • кінцева дата : кінцева дата
  • метод : підрахунок інтервалів за допомогою дискретного або безперервного методу

У наступному прикладі показано, як використовувати цю функцію на практиці.

Приклад: використання функції INTCK для обчислення різниці між датами в 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 14AUG2023
06AUG2022 10NOV2024
;
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);
    qtr_diff = intck (' qtr ', start_date, end_date);
    years_diff = intck (' years ', start_date, end_date);
run ;

/*view new dataset*/
proc print data = new_data; 

Функція INTCK у SAS

П’ять нових змінних показують різницю між початковою і кінцевою датою в днях, тижнях, місяцях, кварталах і роках.

Зауважте, що ми можемо використовувати аргумент « 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 ');
    qtr_diff = intck (' qtr ', start_date, end_date, ' c ');
    years_diff = intck (' years ', start_date, end_date, ' c ');
run ;

/*view new dataset*/
proc print data = new_data; 

Зверніть увагу на різницю між цією таблицею та попередньою.

У цій таблиці різниця в тижнях між 1 і 9 січня обчислюється як 1, оскільки між цими датами може поміститися лише один повний тиждень.

Однак у попередній таблиці різниця в тижнях була розрахована на 2 , оскільки між цими двома датами припадало два неповних тижні.

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

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

Як перетворити DateTime на дату в SAS
Як додати дні до дати в SAS
Як отримати день тижня з дати в SAS

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

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