Як використовувати функцію 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

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

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