检查SAS数据集中的行数

时间:2018-04-11 10:18:53

标签: awk sas records

我给出了以下命令来检查SAS数据集中的行数,但它输出了60条数据集记录,但数据集有247条记录。

在unix命令中还有其他办法吗?

UNIX命令:

awk'END {print NR}'/home/user/check.sas7bdat

2 个答案:

答案 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