Как использовать функцию 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *