自己回复下自己吧,今天早上突然灵机一动,尝试了下就成功了。
data WORK.d4;
infile 'd:\datad.TXT' TRUNCOVER firstobs=2;
input productid :$6. price :4.2 producttype :$10. sales returns;
run;
proc print data=d4;
run;
就是要在定义长度前加上":",
查了一下高慧旋的书:
冒号(:)表明变量的值是从以下非空格列中读取的,知道第一次遇到以下三种情况:
下一个空格列;
先前定义的变量长度已满
数据行介绍。
例如:
input lastname:$15.;
数据行
smith 123 Highway
longlastname 527 Avenue
时,第一个观测变量lastname 的值为smith(虽只读5个字符,因为遇到空格而结束),第二个观测值为longlastname.