Datetime'ı sas'ta tarihe dönüştürme


SAS’ta tarih/saati tarihe dönüştürmenin en kolay yolu DATEPART işlevini kullanmaktır.

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

 date = put ( datepart (some_datetime), mmddyy10. );

mddyy10 argümanı. tarihin 10/15/2022 biçiminde olması gerektiğini belirtir.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: SAS’ta Tarih Saatini Tarihe Dönüştürme

Diyelim ki SAS’ta tarih ve saatlerden oluşan bir sütun içeren aşağıdaki veri kümesine sahibiz:

 /*create dataset*/
data original_data;
    format some_datetime datetime23.;
    input some_datetime:datetime23.;
    datalines ;
14OCT2022:0:0:0
09NOV2022:0:0:0
14NOV2022:0:0:0
15NOV2022:0:0:0
22DEC2022:0:0:0
24DEC2022:0:0:0
04JAN2023:0:0:0
;
run ;

/*view dataset*/
proc print data = original_data; 

Aşağıdaki kod, tarihsaat sütunundaki değerlerin farklı biçimlerdeki tarihler olarak biçimlendirildiği yeni bir veri kümesi oluşturmak için DATEPART işlevinin nasıl kullanılacağını gösterir:

 /*create new dataset with datetime formatted as date*/
data new_data;
set original_data;
    date_mmddyyyy = put ( datepart (some_datetime), mmddyy10.);
    date_yyyymmdd = put ( datepart (some_datetime), yymmdd10.);
    date_date9 = put ( datepart (some_datetime), date9.);
    date_default = datepart (some_datetime);
run ;

/*view new dataset*/
proc print data = new_data; 

Dört yeni sütunun, orijinal tarihsaat sütunundaki tarihi farklı formatlarda görüntülediğini unutmayın.

Varsayılan olarak DATEPART işlevi, tarih/saati 1 Ocak 1960’tan bu yana geçen gün sayısına dönüştürür.

Yani date_default adı verilen yeni sütun, her tarihsaat için 1 Ocak 1960’tan bu yana geçen gün sayısını görüntüler.

Not : SAS DATEPART işlevine ilişkin tüm belgeleri 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:

SAS’ta bugüne kadar günler nasıl eklenir?
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