Sas: sayısal bir değişken tarihe nasıl dönüştürülür?


SAS’ta sayısal bir değişkeni tarih değişkenine dönüştürmek için aşağıdaki temel sözdizimini kullanabilirsiniz:

 date_var = input ( put (numeric_var, 8 .), MMDDYY10. );
date_var format MMDDYY10. ;

Aşağıdaki örnekte bu fonksiyonun pratikte nasıl kullanılacağı gösterilmektedir.

İlgili: SAS’ta sayısal bir değişken karaktere nasıl dönüştürülür?

Örnek: Sayısal Bir Değişkeni SAS’ta Tarihe Dönüştürme

Diyelim ki SAS’ta bir mağazanın farklı günlerde yaptığı toplam satışları gösteren aşağıdaki veri kümesine sahibiz:

 /*create dataset*/
data original_data;
    input day sales;
    datalines ;
01012022 15
01022022 19
01052022 22
01142022 11
01152022 26
01212022 28
;
run ;

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

Veri kümesindeki her değişkenin veri türünü görüntülemek için prosedürün içeriğini kullanabiliriz:

 /*display data type for each variable*/
proc contents data =original_data;

Gün ve satışların her ikisinin de sayısal değişkenler olduğunu görebiliriz.

Gün değişkenini sayısaldan tarihe dönüştürdüğümüz yeni bir veri kümesi oluşturmak için aşağıdaki kodu kullanabiliriz:

 /*create new dataset where 'day' is date*/
data new_data;
    set original_data;
    date_day = input ( put (day, 8. ), MMDDYY10.) ;
    date_day format MMDDYY10. ;
    drop day;
run ;

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

Not : Orijinal gün değişkenini veri kümesinden kaldırmak için drop fonksiyonunu kullandık.

Yeni oluşturduğumuz değişken olan date_day değişkeninin tarih formatında olduğunu görebiliriz.

MMDDYY10’a dikkat edin. kullanabileceğimiz olası tarih formatlarından yalnızca biri. SAS tarih biçimlerinin tam listesini 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: Bir karakter değişkeni tarihe nasıl dönüştürülür?
SAS: Bir karakter değişkeni sayısal değere nasıl dönüştürülür?
SAS: Dizeleri büyük harfe, küçük harfe ve uygun harfe dönüştürün

Yorum ekle

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