Как напечатать количество наблюдений во внешний файл - выбор, где применяется? - PullRequest
1 голос
/ 12 марта 2019

У меня грязный набор данных, который содержит примерно 100 переменных и пару тысяч наблюдений.Чтобы проверить наличие ошибок в наборе данных - меня интересует только его выбор - я использую proc print statement с where selection. Вывод распечатки передается затем в файл *.rtf для дальнейшего использования.Пока все отлично работает, MWE:

data test;
input a b ;
cards;
2 2
3 4
;
run;

ODS rtf file="test";
title "how many obs";
proc print data = test;
var a;
where a=2;
run;

ODS rtf close;
title;

Однако, когда нет ошибок (то есть, в where selection нет ничего, как, например, where a = 4 в приведенном выше MWE), яхочу напечатать что-то вроде "нет ошибок" в *.rtf.Сейчас генерируется только пустой файл.

Я понятия не имею, как мне этого добиться.Я подумал, что, возможно, where имеет какой-то вывод (по крайней мере, в журнале написано 0 observations have been selected), но я не мог передать эту информацию в *.rtf.Есть идеи?

1 Ответ

3 голосов
/ 12 марта 2019

Просто добавьте еще один шаг, который будет печатать что-то, когда нет наблюдений, удовлетворяющих вашим критериям выбора.

ods rtf file="test";
title "how many obs";
proc print data = test;
  var a;
  where a=2;
run;
data _null_;
  file print;
  if eof then put 'No observations match criteria.';
  else stop;
  set test end=eof;
  where a=2;
run;

ODS rtf close;
...