data raw;
infile datalines truncover;
input x $ y;
datalines;
a 1
2
3
b 1
2
3
;
data temp(drop=temp);
retain temp;
set raw;
if notdigit(x)=1 then temp=x;
else do;
y=input(x,8.);
x=temp;
end;
run;
其实这个程序有其他程序的风格
还是一个中间变量TEMP
以及NOTDIGIT函数的对是否为数值型变量的判断。
data _null_;
string='Next = _n_ + 12E3;';
j=0;
do until(j=0);
k=j+1;
j=notdigit(string,k);
if j=0 then put +3 "That's all";
else do;
c=substr(string,j,1);
put +3 j= c=;
end;
j+1;
end;
run;
|