楼主: 小甲克虫
3244 7

SET后边数据集的指针问题? [推广有奖]

  • 9关注
  • 12粉丝

教授

12%

还不是VIP/贵宾

-

威望
0
论坛币
8160 个
通用积分
116.0411
学术水平
10 点
热心指数
20 点
信用等级
8 点
经验
35918 点
帖子
703
精华
0
在线时间
1457 小时
注册时间
2005-9-20
最后登录
2023-6-16
毕业学校
中南财经政法大学

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
大家好,我想请问达人,SET语句后的数据集,从指针指向数据集第一条观测读取。我的问题是,这个指针什么情况下指向下一条观测?什么情况还是停留在原来的观测,不指向下一条观测?谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:Set 数据集 我的问题 大家好

沙发
qinly10 发表于 2012-12-1 22:01:30 |只看作者 |坛友微信交流群
嗯,我知道的是在有循环语句以及有merge语句时,它是停留在第一个观测,直到循环完毕或是merge语句结束。例如:
  1. data a;
  2.   do i=1 to 10;
  3.   output;
  4.   end;
  5. run;
  6. data b;
  7.   do j=11 to 20;
  8.   set a;
  9.   output;
  10.   end;
  11. run;
  12. data c;
  13.   set a;
  14.   merge b(rename=(i=ii));
  15. run;
  16. proc print;
  17. run;
复制代码

使用道具

藤椅
bobguy 发表于 2012-12-2 00:03:00 |只看作者 |坛友微信交流群
You can add a couple of put statements to see what is going on. You can take a look SAS documents about the SAS internal loop for deep understanding.

78       data a;
79         do i=1 to 3;
80         output;
81         end;
82       run;

NOTE: The data set WORK.A has 3 observations and 1 variables.
NOTE: DATA statement used (Total process time):
      real time           0.00 seconds
      cpu time            0.00 seconds


83
84       data b;
85         put 'before set=' _N_=;
86         set a ;
87         put 'after set=' _N_=;
88       run;

before set=_N_=1
after set=_N_=1
before set=_N_=2
after set=_N_=2
before set=_N_=3
after set=_N_=3
before set=_N_=4
NOTE: There were 3 observations read from the data set WORK.A.
NOTE: The data set WORK.B has 3 observations and 1 variables.
NOTE: DATA statement used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds

使用道具

板凳
小甲克虫 在职认证  发表于 2012-12-2 16:04:46 |只看作者 |坛友微信交流群
bobguy 发表于 2012-12-2 00:03
You can add a couple of put statements to see what is going on. You can take a look SAS documents ab ...
这位大哥的意思我看出来时这样的:SET读取一个指针正指向的观测后,执行了PUT语句,那么指针指向下一个观测。 如果没有PUT语句呢?指针还指向下一个观测吗?

使用道具

报纸
wangfengxi 发表于 2012-12-2 17:12:37 |只看作者 |坛友微信交流群
put statements are just for debugging on the third floor.no other purposes.

使用道具

地板
wangfengxi 发表于 2012-12-2 17:16:34 |只看作者 |坛友微信交流群
no, not debugging. just to see what is going on of the data step.

使用道具

7
小甲克虫 在职认证  发表于 2012-12-2 20:44:54 |只看作者 |坛友微信交流群
wangfengxi 发表于 2012-12-2 17:16
no, not debugging. just to see what is going on of the data step.
哥,咱们这是中文论坛,说中文好不?您帮我解决下问题,我知道三楼的不能解决问题。

使用道具

8
xinxinhuahua 发表于 2014-9-23 15:19:56 |只看作者 |坛友微信交流群
看英文看的我头大,最后解决了么,劳烦楼主更新一下喔

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 18:13