转自博客:
http://crackman.net/
data crackman4;
input x y z@;
datalines;
1 2 3
4 5 6
7 8 9
10 11 12
12 13 14
;
run;
data crackman5;
if _n_=1 then do until(lastobs);
set crackman4 end=lastobs;
total+x;
end;
set crackman4;
pct=x/total;
run;
proc print;
run;
这个里面,我们要根据程序的需要先通过循环计算一个汇总变量,然后在计算百分数。
这个里面最关键的是程序执行的逻辑过程,就是等到循环结束之后才执行PCT的计算。
就如我们在做数据分析的时候,如果实现需要获得某一个变量值,可以通过循环来获得,然后把这个值作为一个参数进入下一步的程序运算。