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