Hi, I have warning related with my code. Firstly, I create datasets. Secondly, I want to choose good values of "univer" variable (only these contain "place" variable). Finally, I want to join these good values with "rate" variable but I don't know how to do this without creating new set- SAS shows: This CREATE TABLE statement recursively references the target table. A consequence of this is a possible data integrity problem. data aaa;
input univer $50. ;
datalines;
wse and
uww should be chosen
we dont't have any values
;
run;
data bbb;
input place $ rate 1.;
datalines;
wse 8
uww 8
eel 9
;
run;
%macro first(data_out=);
%let list_place= wse!uww!ee1;
data xxx_place;
set aaa;
%let i_1=1;
%do %until (%qscan(&list_place,&i_1,'!') = %str());
%let v1=%scan(&list_place,&i_1,'!');
find(univer,"&v1") >0 or
%let i_1=%eval(&i_1+1);
%end;
choice=1;
run;
proc sql;
create table xxx_place as
select a.*,b.*
from xxx_place a inner join bbb b
on find(a.univer,b.place,'it')
order by 1,2,3
;
quit;
data &data_out;
set xxx_place;
run;
%mend;
%first(data_out=mydata);
... View more