2011-10-12 73 views
7

Tôi đang làm việc với tập dữ liệu trong SAS, chứa nhiều biến.định dạng chuyển đổi (từ ngày sang số) bằng cách sử dụng SAS

Một trong các biến này là biến DATE và có định dạng ngày/giờ. Có vẻ như sau:

12FEB97:00:00:00 
27MAR97:00:00:00 
14APR97:00:00:00 

Bây giờ, tôi muốn chuyển biến này sang định dạng NUMERIC. Và tôi muốn nhận được kết quả sau (dựa trên 3 ví dụ được hiển thị trước đây):

199702 
199703 
199704 

Bạn có ý tưởng làm cách nào để làm điều đó không? Tôi đã đọc qua nhiều tài liệu, pdf, v.v. nhưng vẫn chưa thể tìm được giải pháp phù hợp.
Cảm ơn bạn rất nhiều!

Trả lời

11

Trước tiên, bạn cần trích xuất ngày từ biến ngày giờ của bạn. Bạn có thể sử dụng chức năng datepart:

date = datepart(var); 

Sau đó, bạn muốn đặt biến này (mà vẫn sẽ được mã hóa như một số ngày) vào một số mà bạn có thể đọc các năm và tháng. Thực hiện việc này với putn:

date_as_num = putn(date,'yymmn6.'); 
+1

Tuyệt vời, nó đang hoạt động, tuyệt vời! Cảm ơn bạn rất nhiều thân yêu itzy, bạn thậm chí không thể tưởng tượng như thế nào hạnh phúc tôi ngay bây giờ :) – Laszlo

+1

Bingo! Cảm ơn bạn, tôi đã tìm kiếm giải pháp này trong vài giờ. Đơn giản và súc tích. –

Các vấn đề liên quan