全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1570 2
2020-04-12
如下代码:
data stock(index=(partno));
input PARTNO $ DESC $ INSTOCK @17 RECDATE date7. @25 PRICE;
format  recdate date7.;
cards;
K89R seal   34  27jul95 245.00
M4J7 sander 98  20jun95 45.88
LK43 filter 121 19may96 10.99
MN21 brace 43   10aug96 27.87
BC85 clamp 80   16aug96 9.55
NCF3 valve 198  20mar96 24.50
KJ66 cutter 6   18jun96 19.77
UYN7 rod  211   09sep96 11.55
JD03 switch 383 09jan97 13.99
BV1E timer 26   03jan97 34.50
;
run;

data addinv;
input PARTNO $ NWSTOCK;
cards;
K89R 55
LK43 43
MN21 73
UYN7 108
JD03 55
;
data stock;
modify stock addinv;
by partno;
RECDATE=today();
INSTOCK=instock+nwstock;
*if _iorc_=0 then replace;
run;


我程序运行把if语句注释掉,运行结果仍然可以更新,我想知道这条语句的作用是什么?
二维码

扫码加我 拉你入群

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

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

全部回复
2023-12-16 10:47:42
关于自动变量_iorc_,当运行modify语句时,_iorc_变量自动生成,包含系统每次运行modify语句时返回的I/O操作码,以匹配访问为例,如果主数据集by变量值在更新数据集中存在,自动变量_iorc_返回0,如果主数据集by变量值在更新数据集中不存在,不产生自动变量_iorc_,但是如果更新数据集by变量值在主数据集中不存在,自动变量_iorc_会返回一个非0值。(别人那看的)
二维码

扫码加我 拉你入群

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

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

2023-12-19 12:53:42
iorc的解释楼上给你了,就不赘述了。
关于你的问题“把if语句注释掉,运行结果仍然可以更新,我想知道这条语句的作用是什么?”, 因为在modify语句后面一般会接 replace,remove,output。如果你什么都不接,默认的就是replace。所以你把这句comment out之后结果不会有变化。

Remember the following as you work with these statements:
When no OUTPUT, REPLACE, or REMOVE statement is specified, the default action is REPLACE.
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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