楼主: 小甲克虫
3533 7

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

  • 9关注
  • 12粉丝

已卖:3份资源

教授

12%

还不是VIP/贵宾

-

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

楼主
小甲克虫 在职认证  发表于 2012-11-30 11:42:50 |AI写论文

+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
拉您进交流群
GMT+8, 2025-12-31 01:47