Jak korzystać z funkcji intnx w sas-ie (z przykładami)


Możesz użyć funkcji INTNX w SAS-ie, aby zwiększyć datę o określony interwał, taki jak dzień, tydzień, miesiąc itp.

Ta funkcja wykorzystuje następującą podstawową składnię:

INTNX (interwał, data_początkowa, przyrost)

Złoto:

  • interwał : Interwał dodawany do daty (dzień, tydzień, miesiąc, rok itp.)
  • start_date : Zmienna zawierająca daty rozpoczęcia
  • przyrost : liczba interwałów do dodania

Aby odjąć przedział, podaj liczbę ujemną do argumentu inkrementacji .

Poniższe przykłady pokazują kilka typowych sposobów wykorzystania w praktyce funkcji INTNX z następującym zbiorem danych w SAS-ie:

 /*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; 

Przykład 1: Użyj INTNX, aby dodać dni do tego dnia

Możemy użyć funkcji INTNX , aby utworzyć nową kolumnę o nazwie plus5days , która dodaje pięć dni do każdej daty w kolumnie daty :

 /*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; 

Zwróć uwagę, że nowa kolumna o nazwie plus5days zawiera wartości z kolumny date z dodanymi pięcioma dniami.

Przykład 2: Użyj INTNX, aby odjąć dni od daty

Dni można także odejmować, po prostu używając wartości ujemnej w funkcji INTNX .

Na przykład możemy użyć poniższego kodu, aby odjąć pięć dni od każdej wartości w kolumnie daty :

 /*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; 

Zwróć uwagę, że nowa kolumna o nazwie minus5days zawiera wartości z kolumny date po odjęciu pięciu dni.

Przykład 3: Użyj INTNX, aby znaleźć pierwszy dzień miesiąca

Możemy użyć funkcji INTNX , aby utworzyć nową kolumnę o nazwie pierwszy miesiąc , która będzie zawierała pierwszy dzień miesiąca dla każdej daty w kolumnie daty :

 /*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; 

Należy zauważyć, że nowa kolumna o nazwie pierwszy miesiąc zawiera pierwszy dzień miesiąca dla każdej daty w kolumnie daty .

Przykład 4: Użyj INTNX, aby znaleźć pierwszy dzień roku

Możemy również użyć funkcji INTNX , aby utworzyć nową kolumnę o nazwie pierwszy rok , która będzie zawierała pierwszy dzień roku dla każdej daty w kolumnie daty :

 /*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; 

Należy zauważyć, że nowa kolumna o nazwie pierwszy rok zawiera pierwszy dzień roku dla każdej daty w kolumnie daty .

Uwaga : Pełną dokumentację funkcji SAS INTNX można znaleźć tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:

Jak przekonwertować DateTime na datę w SAS
Jak przekonwertować dotychczasową zmienną numeryczną w SAS-ie
Jak obliczyć różnicę między dwiema datami w SAS-ie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *