SAS中文论坛
标题:
求助:关于循环使用point= option的问题
[打印本页]
作者:
shiyiming
时间:
2009-3-10 21:34
标题:
求助:关于循环使用point= option的问题
data a;
input a;
cards;
1
2
3
4
5
;
run;
对于数据集a,从第1条开始逐条向后判断,如果相差>2了,则需要把起始和截至之间的记录都输出,比方1、2、3到第4条时,4-1>2,此时将1、2、3条都输出到一个结果集,每条记录打上标志a1,然后重新回到第2条,按刚才的规则,数到第5条时发现5-2>2,则输出2、3、4条到结果集,每条记录打上标志a2,如此循环往复,直到数据集读完。
重新回到第2条可以使用set a(point=2)来实现,但是因为需要输出多条,则需要set多次,我想尽量减少set和do while的次数,想用set a(firstobs=start_point obs=end_point)的方式一次性输出多条记录来实现,但是firstobs和obs不支持变量名,必须是一个数值,而我又无法事先确定这个数值。
请教高手是否有其他的解决思路,我的目的是尽量减少data set的次数和循环的次数。谢谢!
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2