用SQL
proc sql;
create table xx as select a.*, b.y1 as by1, b.y2 as by2, b.y3 as by3, a.y1-b.y1 as dy1, a.y2-b.y2 as dy2, a.y2 -b.y2 as dy2
from dat13 as a left join dat14
on a.city=b.city;
--------------------------------------------
或用 merge by city 后, 再计算
PROC SORT DATA=dat13 OUT=dat13;
BY city;
proc dat14A;
set dat14(rename=(y1=b_y1 y2=b_y2 y3=b_y3));
PROC SORT DATA=dat14A OUT=dat14A;
BY city;
RUN;
DATA dat2 ;
MERGE dat13 dat14A;
BY city;
RUN:
Data dat22;
set dat2;
dy1=y1-by1;
dy2=y1-by2;
dy3=y1-by3;