Sas'ta intnx i̇şlevi nasıl kullanılır (örneklerle)


Tarihi gün, hafta, ay vb. gibi belirli bir aralıkta artırmak için SAS’taki INTNX işlevini kullanabilirsiniz.

Bu işlev aşağıdaki temel sözdizimini kullanır:

INTNX (aralık, başlangıç_tarihi, artış)

Altın:

  • aralık : Tarihe eklenecek aralık (gün, hafta, ay, yıl vb.)
  • start_date : Başlangıç tarihlerini içeren değişken
  • artış : Eklenecek aralık sayısı

Bir aralığı çıkarmak için, artış bağımsız değişkenine negatif bir sayı girin.

Aşağıdaki örnekler, SAS’ta aşağıdaki veri kümesiyle INTNX işlevini pratikte kullanmanın bazı yaygın yollarını göstermektedir:

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

Örnek 1: Bu güne gün eklemek için INTNX’i kullanın

Tarih sütunundaki her tarihe beş gün ekleyen plus5days adında yeni bir sütun oluşturmak için INTNX işlevini kullanabiliriz:

 /*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 adı verilen yeni sütunun, beş gün eklenmiş tarih sütunundaki değerleri içerdiğini unutmayın.

Örnek 2: Tarihten günleri çıkarmak için INTNX’i kullanın

INTNX işlevinde yalnızca negatif bir değer kullanarak da günleri çıkarabilirsiniz.

Örneğin tarih sütunundaki her değerden beş günü çıkarmak için aşağıdaki kodu kullanabiliriz:

 /*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 adı verilen yeni sütunun, tarih sütunundan beş gün çıkarılmış değerleri içerdiğini unutmayın.

Örnek 3: Ayın ilk gününü bulmak için INTNX’i kullanın

Tarih sütunundaki her tarih için ayın ilk gününü içeren, ilk ay adında yeni bir sütun oluşturmak için INTNX işlevini kullanabiliriz:

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

İlk ay adı verilen yeni sütunun, tarih sütunundaki her tarih için ayın ilk gününü içerdiğini unutmayın.

Örnek 4: Yılın ilk gününü bulmak için INTNX’i kullanın

Tarih sütunundaki her tarih için yılın ilk gününü içeren, ilk yıl adında yeni bir sütun oluşturmak için INTNX işlevini de kullanabiliriz:

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

İlk yıl adı verilen yeni sütunun, tarih sütunundaki her tarih için yılın ilk gününü içerdiğini unutmayın.

Not : SAS INTNX işlevine ilişkin belgelerin tamamını burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimlerde SAS’ta diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

DateTime’ı SAS’ta tarihe dönüştürme
SAS’ta sayısal bir değişken tarihe nasıl dönüştürülür?
SAS’ta iki tarih arasındaki fark nasıl hesaplanır?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir