The first argument of the ATTRN() function is the dataset identifier, not a dataset name. Here is an example:
%let dsid=%sysfunc(open(sashelp.cars));
%if %sysfunc(attrn(&dsid,nobs))>10 %then %do;
%put Yes, there are more than 10 records.;
%end;
%let rc=%sysfunc(close(&dsid));
For your scenario, where you have three datasets in a single library, you could use a loop within a macro to dynamically evaluate their row counts:
/* checking the row counts in work.test1, work.test2 and work.test3 */
%macro obs_count;
%do i = 1 %to 3;
%let dsid&i=%sysfunc(open(WORK.TEST&i));
%if %sysfunc(attrn(&&dsid&i,nobs))>10 %then %do;
%put Yes, there are more than 10 records in WORK.TEST&i;
%end;
%let rc=%sysfunc(close(&&dsid&i));
%end;
%mend;
%obs_count;
Edit: Close the datasets after completed. (Thanks for catching that, @Tom)
... View more