Я пытаюсь написать макрос, который будет возвращать количество наблюдений в наборе данных, с опцией 'where', которая будет возвращать количество наблюдений, которые удовлетворяют этому условию.
Я был для этого используйте функцию OPEN SAS, как показано в следующем примере:
%macro test(WHERE);
%let DSID = %sysfunc(open(sashelp.cars(where=(&WHERE)), i));
%let NOBS = %sysfunc(attrn(&DSID, NLOBSF) ); &NOBS
%let RC = %sysfunc(close(&DSID));
%mend test;
%put %test(WHERE=make='Audi');
Вопрос:
Есть ли спецификация c WHERE
предложение, которое заставит его возвращать уникальные значения для определенного c столбца (например, Make)? Что-то вроде способности distinct
в PROC SQL
(я не могу на самом деле использовать PROC SQL
, поскольку вывод больше не работает с %put
?