本篇基于上一篇的理论学习,即 SAS入门(一)进行实战,旨在记录实操中的语句及练习中出现的bug、解决方案。
循环语句
- DO Index 语法
DO indexvariable= initialvalue to finalvalue ;
. . . SAS statements . . . ;
END;
- 例子
DATA ex1;
SUM=0;
DO VAR=1 to 5;
SUM=SUM+VAR;
END;
PROC PRINT DATA=ex1;
RUN;
- DO While 语法
DO WHILE (variable condition);
. . . SAS statements . . . ;
END;
- 例子
data ex2;
sum=0;
var=1;
do while(var<6);
sum = sum+var;
var=var+1;
end;
proc print;
run;
- DO Until 语法
DO UNTIl (variable condition);
. . . SAS statements . . . ;
END;
- 例子
data ex3;
sum=0;
var=1;
do until(var>5);
sum=sum+var;
var+1;
end;
proc print;
run;
**注:**上述语句块结束后均要加end
IF语句
- if语句 语法
IF (condition );
if语句筛选符合条件的数据时,首先要通过set引用已存在的数据集,此后创建新的数据集并通过if 筛选符合条件的数据,最后通过proc print输出。
- 例子
DATA dat;
INPUT EMPID ENAME $ SALARY DEPT $ DOJ DATE9.;
LABEL ID = ‘Employee ID’;
FORMAT DOJ DATE9.;
DATALINES;
1 Rick 623.3 IT 02APR2001
2 Dan 515.2 OPS 11JUL2012
3 Mike 611.5 IT 21OCT2000
4 Ryan 729.1 HR 30JUL2012
5 Gary 843.2 F