全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
8063 10
2012-03-18
悬赏 10 个论坛币 已解决
data _null_;

if 0 then set sashelp.class nobs=nobs;

call symput('nobsa',nobs);

run;
这段代码if 0是什么意思?起什么作用?

谢谢

最佳答案

webgu 查看完整内容

在此,if 0表示条年恒为假,then后面的语句永远不执行。但是nobs在编译时就可以得到,因此,上面程序是一种不打开数据集而获得数据集观测的巧妙方法。
二维码

扫码加我 拉你入群

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

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

全部回复
2012-3-18 05:21:56
在此,if 0表示条年恒为假,then后面的语句永远不执行。但是nobs在编译时就可以得到,因此,上面程序是一种不打开数据集而获得数据集观测的巧妙方法。
二维码

扫码加我 拉你入群

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

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

2012-3-18 14:07:05
The "if 0" is a a conditional statement designed to never be executed at run-time and works since the "set sashelp.class" gives the header information of the data set class to the compiler which sets up the pdv accordingly, but is skipped in the execution time because the if condition is false.
二维码

扫码加我 拉你入群

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

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

2012-3-19 03:29:19
学习一下
二维码

扫码加我 拉你入群

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

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

2012-3-19 06:39:06
谢谢详细的解释。
二维码

扫码加我 拉你入群

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

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

2012-3-19 09:18:41
webgu 发表于 2012-3-18 05:21
在此,if 0表示条年恒为假,then后面的语句永远不执行。但是nobs在编译时就可以得到,因此,上面程序是一种 ...
继续问一下

call symput ('nobsa', nobs)这句如何解释?选项都表示什么意思?

我连续执行这个命令几次,返回结果不同,具体的是行数不断增加,列数不变
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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