Проверьте количество строк в наборе данных sas

Я даю команду ниже, чтобы проверить количество строк в наборе данных SAS, но он выводит 60 записей набора данных, однако набор данных имеет 247 записей.

Есть ли другой способ сделать в команде unix?

Команда UNIX:

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

Команды awk предназначены для текстовых файлов, файл SAS7BDAT - это вообще не текстовый файл.

Reeza 11.04.2018 22:59

Привет, Риза, Спасибо за предложение.

MPUSA 13.04.2018 07:42
2
2
262
2

Ответы 2

Как насчет того, чтобы просто сделать это на шаге данных SAS? Вы можете получить количество строк с помощью оператора 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

Привет TherKel, Спасибо за предложение.

MPUSA 11.04.2018 14:47

Вам нужно написать программу SAS, которая выводит для вас количество наблюдений. Структура файла sas7bdat сложна.

data _null_;
   file stdout;
   set "&sysparm" nobs=nobs;
   put "NOBS:" nobs;
   stop;
run;

Я назвал это "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.

@MPUSA, пожалуйста. Примите и проголосуйте за ответ, если он решит вашу проблему.

DomPazz 11.04.2018 15:02

Другие вопросы по теме