sas如何显示行数_SAS中获取数据集观测值个数

亦余心之所善兮,虽九死其犹未悔!

好久没有更新文章了,上一次更新还是2015年10月25日,到现在已经15个月了。坦白来讲,其实当时是计划按月来更新SAS编程的一些心得和体会的。鉴于当时我的SAS水平还是属于闭门造车的境界,且对于SAS语言的理解其实是不够深刻的,更多的则是对自己的不满意,所以这个计划也一度中止。

事隔一年,期间在各式各样的SAS代码中也遇到了各种各样的实际问题,对于SAS的理解相比与一年前也熟悉了不少。16年春节回家,思考和反省了这一年多的自己,觉得有必要将一年前的计划重新做起来,虽然晚了一年,还是相信好事多磨。

我的心依然像《楚辞》里边这句话一样“亦余心之所善兮,虽九死其犹未悔!”。

好了,闲话就不多说了。今天计划分享一些SAS编程中“获取数据集观测值个数并且将获取的个数创建为一个宏变量”的各种方法:包括data步,proc步等等。

一、使用data步nobs选项。

程序:

data _null_;

set a nobs=nobs;  /*用nobs选项*/

call symput("nobs",nobs);  /*data步中创建宏变量*/

stop;

run;

%put &nobs.; /*输出宏变量&nobs.*/

二、使用proc sql语句

proc sql noprint;

select count(*) into:n_num

from a

;

quit;

%put &n_num.;

三、data步使用open函数、attrn函数

data _null_;

dsid=open("a");

nobs=attrn(dsid,"nobs");

rc=close(dsid);

call symput("nobs",nobs);

run;

%put &nobs.;

四、使用数据字典方法

proc sql;

select nobs into:nobs

from dictionary.tables

where libname="WORK" and memname="A"  /*注意此处双引号内内容必须要大写*/

;

quit;

%put &nobs.;

虽然是小技巧,但是有很多不同的实现方法哦!而且每个方法实现的原理都不一样,且涉及到不一样的SAS运行机制,所以运行的效率也不一样。了解程序的内部运行机制对于以后处理大数据量数据时的sas程序的编写也会有很大效率差异哦!!!

祝大家新年快乐!!祝自己新年快乐!!

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值