SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 665|回复: 0
打印 上一主题 下一主题

求助:关于循环使用point= option的问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2009-3-10 21:34:55 | 只看该作者

求助:关于循环使用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的次数和循环的次数。谢谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-5 12:15 , Processed in 0.099078 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表