我给出了以下命令来检查SAS数据集中的行数,但它输出了60条数据集记录,但数据集有247条记录。
在unix命令中还有其他办法吗?
UNIX命令:
awk'END {print NR}'/home/user/check.sas7bdat
答案 0 :(得分:2)
您需要编写SAS程序来输出观察数量。 sas7bdat文件的结构很复杂。
data _null_;
file stdout;
set "&sysparm" nobs=nobs;
put "NOBS:" nobs;
stop;
run;
我将此命名为#34; test.sas"
这将读取传递的系统参数中指定的数据集,并将结果输出到STDOUT。
我在我的主目录中创建了一个测试数据集,如:
libname d "~/";
data d.test;
do i=1 to 1000;
output;
end;
run;
从命令行运行
<path to sas>/sas test.sas -sysparm ~/test.sas7bdat
我回来了NOBS:1000
。
答案 1 :(得分:1)
在SAS datastep中做这件事怎么样?您可以使用NOBS
语句获取行数。
/* Test dataset */
data have;
a = 1;output;
a = 2;output;
a = 3;output;
run;
data _null_;
set have NOBS = size;
call symput("size",strip(size));
run;
%put NOTE: Number of records: &size.;
NOTE: Number of records: 3