Sas'ta intck i̇şlevi nasıl kullanılır (örneklerle)
SAS’taki iki tarih arasındaki farkı hızlı bir şekilde hesaplamak için SAS’taki INTCK işlevini kullanabilirsiniz.
Bu işlev aşağıdaki temel sözdizimini kullanır:
INTCK (aralık, başlangıç tarihi, bitiş verileri, yöntem)
Altın:
- aralık : Hesaplanacak aralık (gün, hafta, ay, çeyrek, yıl vb.)
- başlangıç tarihi : Başlangıç tarihi
- bitiş tarihi : Bitiş tarihi
- method : Aralıkları ayrık veya sürekli bir yöntem kullanarak sayın
Aşağıdaki örnekte bu fonksiyonun pratikte nasıl kullanılacağı gösterilmektedir.
Örnek: SAS’ta Tarihler Arasındaki Farkı Hesaplamak için INTCK İşlevini Kullanma
Diyelim ki SAS’ta iki tarih değişkeni içeren aşağıdaki veri kümesine sahibiz:
/*create dataset*/
data original_data;
format start_date end_date date9. ;
input start_date: date9. end_date: date9. ;
datalines ;
01JAN2022 09JAN2022
01FEB2022 22FEB2022
14MAR2022 04APR2022
01MAY2022 14AUG2023
06AUG2022 10NOV2024
;
run ;
/*view dataset*/
proc print data = original_data;
Start_date ve end_date değişkenlerinin gün, hafta, ay, çeyrek ve yıl cinsinden değerleri arasındaki farkı hesaplamak için aşağıdaki kodu kullanabiliriz:
/*create new dataset*/
data new_data;
set original_data;
days_diff = intck (' day ', start_date, end_date);
weeks_diff = intck (' weeks ', start_date, end_date);
months_diff = intck (' months ', start_date, end_date);
qtr_diff = intck (' qtr ', start_date, end_date);
years_diff = intck (' years ', start_date, end_date);
run ;
/*view new dataset*/
proc print data = new_data;
Beş yeni değişken, başlangıç_tarihi ve bitiş_tarihi arasındaki farkı gün, hafta, ay, üç aylık dönem ve yıl cinsinden gösterir.
INTCK işlevindeki ‘ c ‘ argümanını yalnızca tam gün, hafta, ay, çeyrek ve yıl cinsinden farkı hesaplamak için kullanabileceğimizi unutmayın:
/*create new dataset*/
data new_data;
set original_data;
days_diff = intck (' day ', start_date, end_date, ' c ');
weeks_diff = intck (' weeks ', start_date, end_date, ' c ');
months_diff = intck (' months ', start_date, end_date, ' c ');
qtr_diff = intck (' qtr ', start_date, end_date, ' c ');
years_diff = intck (' years ', start_date, end_date, ' c ');
run ;
/*view new dataset*/
proc print data = new_data;
Bu tablo ile önceki tablo arasındaki farka dikkat edin.
Bu tabloda 1 Ocak ile 9 Ocak arasındaki hafta farkı, bu tarihler arasına yalnızca bir tam hafta sığabileceği için 1 olarak hesaplanıyor.
Ancak önceki tabloda bu iki tarih arasında iki kısmi hafta olduğu için hafta farkı 2 olarak hesaplandı.
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 bugüne kadar günler nasıl eklenir?
SAS’ta tarihten haftanın günü nasıl alınır?