SAS - Tarih ve Saatler

IN SAS tarihleri, sayısal değerlerin özel bir durumudur. 1 Ocak 1960'tan başlayarak her güne belirli bir sayısal değer atanır. Bu tarihe 0 tarih değeri atanır ve sonraki tarih 1 olarak tarih değerine sahiptir vb. Bu tarihe kadar olan önceki günler -1, -2 vb. İle temsil edilir. Bu yaklaşımla SAS, gelecekteki herhangi bir tarihi ve geçmişteki herhangi bir tarihi temsil edebilir.

SAS, verileri bir kaynaktan okuduğunda, okunan verileri tarih formatının belirtildiği gibi belirli bir tarih formatına dönüştürür. Tarih değerini saklayacak değişken, gereken uygun bilgi ile bildirilir. Çıkış tarihi, çıktı veri formatları kullanılarak gösterilir.

SAS Tarih Bilgisi

Kaynak veriler, aşağıda gösterildiği gibi belirli tarih bilgileri kullanılarak düzgün bir şekilde okunabilir. Bilginin sonundaki rakam, bilgi kullanılarak tamamen okunacak tarih dizisinin minimum genişliğini gösterir. Daha küçük bir genişlik yanlış sonuç verecektir. SAS V9 ile genel bir tarih formatı vardıranydtdte15. herhangi bir tarih girişini işleyebilir.

Giriş Tarihi Tarih genişliği Bilgilendirme
03/11/2014 10 mmddyy10.
03/11/14 8 mmddyy8.
11 Aralık 2012 20 worddate20.
14Mart2011 9 tarih9.
14 Mart 2011 11 tarih11.
14 Mart 2011 15 Anydtdte15.

Misal

Aşağıdaki kod, farklı tarih formatlarının okunmasını gösterir. Çıkış değerlerine herhangi bir format ifadesi uygulamadığımız için tüm çıkış değerlerinin sadece sayılar olduğunu lütfen unutmayın.

DATA TEMP;
INPUT @1 Date1 date11. @12 Date2 anydtdte15. @23 Date3 mmddyy10.   ;
DATALINES;
02-mar-2012 3/02/2012 3/02/2012
;
PROC PRINT DATA = TEMP;
RUN;

Yukarıdaki kod çalıştırıldığında aşağıdaki çıktıyı alıyoruz.

SAS Tarih çıktı biçimi

Okunduktan sonraki tarihler, ekranın gerektirdiği şekilde başka bir formata dönüştürülebilir. Bu, tarih türleri için format ifadesi kullanılarak elde edilir. Bilgilendirmeyle aynı formatları alırlar.

Misal

Aşağıdaki örnekte tarih bir formatta okunur ancak başka bir formatta gösterilir.

DATA TEMP;
INPUT  @1 DOJ1 mmddyy10. @12 DOJ2 mmddyy10.;
format  DOJ1 date11.  DOJ2 worddate20. ;
DATALINES;
01/12/2012 02/11/1998 
;
PROC PRINT DATA = TEMP;
RUN;

Yukarıdaki kod çalıştırıldığında aşağıdaki çıktıyı alıyoruz.