我必须合并两组数据,这些数据包含完全相同的数据,但写入方式不同:
* (i);
A123 4Mar1989 8,60000
A037 23Jun1957 21,45000
M015 19Sep1977 17,50000
* (ii);
A123 4Mar1989 8,6,00
***************
A037 23Jun1957 21,450
**************
M015 19Sep1977$17,500
***********
第一条记录应具有
ID = "A123", DEPT = "A", BIRTHDAY = 10655, YEAR = 1989, SALARY = 8600
到目前为止,我的方法一直有效(无效):
data i;
input $ID $Dep $BIRTHDAY $YEAR $SALARY;
datalines;
A123 4Mar1989 8,60000
A037 23Jun1957 21,45000
M015 19Sep1977 17,50000
;
run;
有什么建议吗?
答案 0 :(得分:2)
尝试一下:
data i;
input DEPT $1. @1 ID $ BIRTHDAY :date9. +(-5) YEAR :8. SALARY comma10.0;
datalines;
A123 4Mar1989 8,60000
A037 23Jun1957 21,45000
M015 19Sep1977 17,50000
;
run;
这使用带有指针控件的格式化输入来使需要两次读取的部分翻倍。有关更多详细信息,请参阅输入语句的文档。
您还可以使用substr
从DEPT
中提取ID
,或使用year
函数从BIRTHDAY
中提取出来。