我想将以下dat文件读入SAS。由于名称和值之间用2个空格分隔,因此我在输入语句中使用了&符号。但似乎infile语句中的DLM='/'
与之冲突。有人能告诉我代码中的错误是什么吗?
文件:
1118 ART CONTUCK 57.69/65.20/120.50//152.60
2287 MICHAEL WINSTONE 145.89
代码:
data mylib.D_report;
infile Dinning dlm='/' dsd missover;
input ID 1-4 Name & $17. M1-M6;
run;
答案 0 :(得分:1)
您正在混合输入样式,虽然您可以理解,但是如果您输入的数据相当混杂,则不允许这样做。
您最好的选择是将M1-6读入一个变量,然后使用SCAN将其拆分。
data work.D_report;
infile datalines missover dlm=' ';
input ID :4.
Name & $17.
Ms :$40.;
array M[6];
do _t = 1 to countc(Ms,'/')+1;
if _t > dim(M) then leave;
M[_t]=scan(Ms,_t,'/','m');
end;
datalines;
1118 ART CONTUCK 57.69/65.20/120.50//152.60
2287 MICHAEL WINSTONE 145.89
;;;;
run;
答案 1 :(得分:1)