data test;
do i=1 to 1000;
if i=500 then leave;
end;
run;
这段代码运行下来结果是:test数据集中有一个变量i,i有一个观测为500。
说明程序在i=500的时候离开了do循环,leave语句起作用了。
data test;
do i=1 to 1000;
if 1=500 then do x=1;leave;end;
end;
run;
我希望当i=500的时候,让x=1,然后离开do循环。
这段代码运行的结果是:数据集test有两个变量,i和x,i有一个观测是1001,x的观测时缺省的.。
这说明程序在i=500的时候没有离开do循环,而是知道i=1000的时候才离开循环。
哪位大侠能解释下,是不是说leave只能离开离他最近的那个do语句,程序2中是离开的这句话if 1=500 then do x=1;leave;end;里面的do?