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?