Як використовувати функцію intnx у sas (з прикладами)
Ви можете використовувати функцію INTNX у SAS, щоб збільшити дату на певний інтервал, наприклад день, тиждень, місяць тощо.
Ця функція використовує такий базовий синтаксис:
INTNX (інтервал, початкова_дата, приріст)
золото:
- інтервал : інтервал, який потрібно додати до дати (день, тиждень, місяць, рік тощо)
- start_date : змінна, яка містить дати початку
- приріст : кількість інтервалів для додавання
Щоб відняти інтервал, укажіть від’ємне число в аргументі збільшення .
У наведених нижче прикладах показано деякі поширені способи використання функції INTNX на практиці з таким набором даних у SAS:
/*create dataset*/
data original_data;
date format date9.;
input date:date9. dirty;
datalines ;
01JAN2022 50
01FEB2022 34
14MAR2022 26
01MAY2022 22
24AUG2022 27
28OCT2022 48
14NOV2022 97
04DEC2022 88
;
run ;
/*view dataset*/
proc print data = original_data;
Приклад 1: використовуйте INTNX, щоб додати дні до цього дня
Ми можемо використати функцію INTNX , щоб створити новий стовпець під назвою plus5days , який додає п’ять днів до кожної дати в стовпці дати :
/*create new dataset with column that adds 5 days to date*/
data new_data;
set original_data;
plus5days= intnx ('day', date, 5);
format plus5days date9.;
run ;
/*view dataset*/
proc print data = new_data;
Зверніть увагу, що новий стовпець під назвою plus5days містить значення зі стовпця дати з доданими п’ятьма днями.
Приклад 2: використовуйте INTNX, щоб відняти дні від дати
Ви також можете відняти дні, просто використовуючи від’ємне значення у функції INTNX .
Наприклад, ми можемо використати наступний код, щоб відняти п’ять днів від кожного значення в стовпці дати :
/*create new dataset with column that subtracts 5 days from date*/
data new_data;
set original_data;
minus5days= intnx ('day', date, -5);
format minusdays date9.;
run ;
/*view dataset*/
proc print data = new_data;
Зверніть увагу, що новий стовпець під назвою minus5days містить значення зі стовпця дати з відніманням п’яти днів.
Приклад 3: використовуйте INTNX, щоб знайти перший день місяця
Ми можемо використати функцію INTNX , щоб створити новий стовпець під назвою firstmonth , який містить перший день місяця для кожної дати в стовпці дати :
/*create new dataset with column that contains first day of the month*/
data new_data;
set original_data;
firstmonth = intnx ('month', date, 0);
format firstmonth date9.;
run ;
/*view dataset*/
proc print data =new_data;
Зверніть увагу, що новий стовпець під назвою firstmonth містить перший день місяця для кожної дати в стовпці дати .
Приклад 4: використовуйте INTNX, щоб знайти перший день року
Ми також можемо використати функцію INTNX , щоб створити новий стовпець під назвою firstyear , який містить перший день року для кожної дати в стовпці дати :
/*create new dataset with column that contains first day of the year*/
data new_data;
set original_data;
firstyear = intnx ('year', date, 0);
format firstyear date9.;
run ;
/*view dataset*/
proc print data =new_data;
Зверніть увагу, що новий стовпець під назвою firstyear містить перший день року для кожної дати в стовпці дати .
Примітка . Ви можете знайти повну документацію для функції SAS INTNX тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:
Як перетворити DateTime на дату в SAS
Як перетворити числову змінну на дату в SAS
Як обчислити різницю між двома датами в SAS