Tôi đang tạo tập dữ liệu SAS từ cơ sở dữ liệu bao gồm trường khóa VARCHAR (5).Làm cách nào để loại bỏ các trường ký tự trong SAS?
Trường này bao gồm một số mục nhập sử dụng tất cả 5 ký tự và một số sử dụng ít ký tự hơn.
Khi tôi nhập dữ liệu này, tôi muốn đệm tất cả các mục nhập ngắn hơn để sử dụng cả năm ký tự. Đối với ví dụ này, tôi muốn pad ở bên trái với 0
, ký tự số không. Vì vậy, 114
sẽ trở thành 00114
, ABCD
sẽ trở thành 0ABCD
và EA222
sẽ vẫn như cũ.
Tôi đã cố gắng này với một tuyên bố dữ liệu đơn giản, nhưng tất nhiên sau đó không làm việc:
data test;
set databaseinput;
format key $5.;
run;
Tôi đã cố gắng để làm điều này với một informat người dùng định nghĩa, nhưng tôi không nghĩ rằng có thể chỉ định các dải ô chính xác trên các trường ký tự, theo this SAS KB answer. Ngoài ra, tôi khá chắc chắn định dạng proc sẽ không cho phép tôi xác định kết quả động về mặt biến đến.
Tôi chắc chắn có một giải pháp rõ ràng ở đây, nhưng tôi chỉ thiếu nó.
Bạn muốn xử lý 'ABC' bằng cách nào? Có nên là '00ABC' không? – itzy
Có, '00ABC' là chính xác trong trường hợp của tôi. Ngoài ra, điểm tốt đẹp về việc sử dụng các thẻ mã. Đã cập nhật bài đăng gốc. –
Các mục có thể chứa khoảng trắng không? Ví dụ 'AB_C' hoặc thậm chí' _AB_' (trong đó dấu gạch dưới đại diện cho một khoảng trống)? –