楼主: andymm
1547 4

为什么这段代码要STOP [推广有奖]

  • 0关注
  • 1粉丝

本科生

91%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1261 点
帖子
53
精华
0
在线时间
179 小时
注册时间
2015-1-19
最后登录
2018-10-28

楼主
andymm 发表于 2016-1-19 11:55:22 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
LIBNAME demolib "c:\temp\demolib";

PROC SQL;
CREATE TABLE demolib.fifteenups AS
SELECT name AS FName, sex, age, height, weight
FROM sashelp.class
WHERE age GE 15
;
QUIT;

DATA demolib.fifteenups;
fname = "Adam" ;
sex = "M" ;
age = 15 ;
height = 68 ;
weight = 130 ;
OUTPUT;
fname = "Joan" ;
sex = "F" ;
age = 16 ;
height = 64 ;
weight = 120 ;
OUTPUT;
STOP;
MODIFY demolib.fifteenups;
RUN;

rt,这是Proc SQL by example这本书上的代码,我想问下倒数第三行的STOP的目的是什么? 为什么不加STOP就会出错?求大神解释

二维码

扫码加我 拉你入群

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

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

关键词:Stop sto Top proc sql SASHELP

沙发
孤单的我们 发表于 2016-1-19 12:48:52
The STOP statement causes SAS to stop processing the current DATA step immediately and resume processing statements after the end of the current DATA step.

如果不加stop,2个新观测会无限次的追加进去。

藤椅
andymm 发表于 2016-1-19 14:14:23
孤单的我们 发表于 2016-1-19 12:48
The STOP statement causes SAS to stop processing the current DATA step immediately and resume proces ...
但是datalines不用加STOP; 也不会无限次地追加下去。

板凳
孤单的我们 发表于 2016-1-19 14:38:58
andymm 发表于 2016-1-19 14:14
但是datalines不用加STOP; 也不会无限次地追加下去。
测试了一下:
_N_=1,fname = "Adam" ;sex = "M" ;age = 15 ;height = 68 ;weight = 130 ;output;
_N_=1,fname = "Joan" ;sex = "F" ;age = 16 ;height = 64 ;weight = 120 ;;output;
(这里_N_=1 而并非2,你可以测试下)
modify语句追加进去之后,没有终止data step,而是跳回
_N_=2,fname = "Adam" ;sex = "M" ;age = 15 ;height = 68 ;weight = 130 ;
_N_=2,fname = "Joan" ;sex = "F" ;age = 16 ;height = 64 ;weight = 120 ;
如此循环往复,乐此不疲。
所以需要一个stop来打断它。

报纸
andymm 发表于 2016-1-19 14:48:13
孤单的我们 发表于 2016-1-19 14:38
测试了一下:
_N_=1,fname = "Adam" ;sex = "M" ;age = 15 ;height = 68 ;weight = 130 ;output;
_N_=1, ...
好的,十分感谢

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 19:46