*
; options nosource; %macro ray(data=_LAST_, result=_NEW_, x =x, y =y, x0=0.0, y0=0.0, add=no); options nonotes nosymbolgen nostimer nosource; data &result; set &data; output; &x=&x0; &y=&y0; output; run; %if %upcase(%str(&add)) = %str(YES) %then %do; proc append base=&result data=&data force; run; %put macro-note: dataset &data appended to &result; %end; options notes; data &result; set &result; run; options stimer source; %mend ray; options source; /* *Example; data one; do x=-10 to 10 ; y=x**2 -x -10; k=1; output; end; run; %ray(data=one,result=two,x=x,y=y,x0=3,y0=20); symbol i=join; proc gplot data=two; plot y*x=k/nolegend; run; *End of Example; */ *;