SAS - Ngày & Giờ

IN SAS Ngày là một trường hợp đặc biệt của các giá trị số. Mỗi ngày được gán một giá trị số cụ thể bắt đầu từ ngày 1 tháng 1 năm 1960. Ngày này được gán giá trị ngày 0 và ngày tiếp theo có giá trị ngày là 1, v.v. Các ngày trước đó cho đến ngày nay được biểu thị bằng -1, -2, v.v. Với cách tiếp cận này, SAS có thể đại diện cho bất kỳ ngày nào trong tương lai và bất kỳ ngày nào trong quá khứ.

Khi SAS đọc dữ liệu từ một nguồn, nó sẽ chuyển đổi dữ liệu đã đọc thành một định dạng ngày cụ thể như định dạng ngày đã chỉ định. Biến để lưu trữ giá trị ngày tháng được khai báo với thông tin thích hợp được yêu cầu. Ngày đầu ra được hiển thị bằng cách sử dụng các định dạng dữ liệu đầu ra.

Thông báo ngày của SAS

Dữ liệu nguồn có thể được đọc đúng cách bằng cách sử dụng thông tin ngày cụ thể như hình dưới đây. Chữ số ở cuối thông tin cho biết độ rộng tối thiểu của chuỗi ngày tháng được đọc hoàn toàn bằng cách sử dụng thông tin. Chiều rộng nhỏ hơn sẽ cho kết quả không chính xác. với SAS V9, có một định dạng ngày chunganydtdte15. có thể xử lý bất kỳ đầu vào ngày tháng nào.

Ngày nhập Chiều rộng ngày Informat
03/11/2014 10 mmddyy10.
03/11/14 số 8 mmddyy8.
Ngày 11 tháng 12 năm 2012 20 worddate20.
14mar2011 9 ngày tháng9.
14 tháng 3 năm 2011 11 ngày 11.
14 tháng 3 năm 2011 15 anydtdte15.

Thí dụ

Đoạn mã dưới đây hiển thị cách đọc các định dạng ngày tháng khác nhau. Xin lưu ý rằng tất cả các giá trị đầu ra chỉ là số vì chúng tôi chưa áp dụng bất kỳ câu lệnh định dạng nào cho các giá trị đầu ra.

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;

Khi đoạn mã trên được thực thi, chúng ta nhận được kết quả sau.

SAS Định dạng đầu ra ngày

Ngày sau khi được đọc, có thể được chuyển đổi sang định dạng khác theo yêu cầu của màn hình. Điều này đạt được bằng cách sử dụng câu lệnh định dạng cho các loại ngày. Chúng có các định dạng giống như thông tin.

Thí dụ

Trong exampel dưới đây, ngày được đọc ở một định dạng nhưng được hiển thị ở định dạng khác.

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;

Khi đoạn mã trên được thực thi, chúng ta nhận được kết quả sau.