全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2302 7
2012-11-30
一个DATA步中,如果只有一个SET语句,只要把SET后边的数据集读完就可以跳出DATA步。
但是如果DATA步中,有两个SET,那么跳出DATA步的依据是什么?什么时候跳出来呢?
请教大神解答,希望不吝赐教。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-11-30 10:42:11
这个应该能解答你的疑问:
https://bbs.pinggu.org/thread-2131319-1-1.html
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-30 10:49:59
两个set分配两个指针。任意指针读完就结束。
复制代码
复制代码
1. a c
2. over a
3. b c
4. over c
5 b d
6 over b (d is not over yet)
7 finish
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-30 11:50:35
moyunzheng 发表于 2012-11-30 10:49
两个set分配两个指针。任意指针读完就结束。
1. a c
2. over a
那么请问,SET的数据指针什么情况才指向下一条观测,什么情况仍然停留没有指向下一条观测?谢谢不吝赐教。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-30 11:51:08
pobel 发表于 2012-11-30 10:42
这个应该能解答你的疑问:
https://bbs.pinggu.org/thread-2131319-1-1.html
谢谢。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-30 11:58:25
这个问题其实很有意思。建议你仔细看下那个PDV的流程图。
就是说,DATA  run实际上是一个循环。你把data看成是do把run看成是end.
那么这么解释,一开始时,扫描程序,包括一切的变量等,分配一个空间,开辟PDV也就是一个向量,这个向量是多维的,维数就是程序里面的(需要保留的)变量数;
然后开始执行你的程序,执行完以后呢,所有的变量都会保留在PDV中,当遇到run后,那么第一次循环结束,这个PDV里包含的所有变量和值,都赋到数据集中。
开始第二次循环。
那么两个SET其实一样,我觉得可以理解为各读一条数据,遇到run后,PDV还是那个流程,但是这两个数据集的指针会下移到下条数据,也就是都到第二条。
如果任何一个数据集读完了,data也就结束了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群