您的位置:首页 > 其它

SAS attrn函数

2016-06-08 14:46 1121 查看
可用attrn函数计算行数列数,方法为:

/*计算行数:*/

%let dsid=%sysfunc(open(sashelp.class,i));
%let n=%sysfunc(attrn(&dsid,nobs));
%let rc=%sysfunc(close(&dsid));
%put obsnum=&n;


当计算列数,将nobs(num of observations)换成nvars(number of variations)

注意:

1、Sysfunc是SAS宏里功能最为强大的一个statement,它可以调用包括SAS和SCL在内的所有内置函数。

2、在给宏变量赋值时,为了使用数据步中的函数(如:SUBSTR,SCAN,TRIM,LEFT等;一些数据步函数不能套用此宏函数,如:PUT,INPUT,LAG,DIF等)对值进行加工,需要用此宏函数将值扩起来。

方法:%SYSFUNC(数据步函数名(自变量)<,输出格式>)。

例:%let currdate = %sysfunc(today(),worddate.);

注:在宏或宏语句中嵌套使用数据步函数时,必须在每个数据步函数外使用%SYSFUNC。

3、上面程序使用了3个SCL函数,即open,attrn,close。

其中,Open用来打开一个数据集并返回一个非零的描述符,参数I表示input(read only);

Attrn函数用来获取相应数据集的指定数值类型的信息(attrc用于获取指定的字符型信息);

Close函数用于关闭数据集。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: