我可以解决这个问题,范例程序如下
data data1;
input year company :$8. country $10.;
cards;
2001 a chn
2002 b chn
2003 c usa
2005 d aus
;
run;
data data2;
input country $10.;
cards;
chn
usa
aus
eng
fra
;
run;
proc sql;
create table data3 as
select distinct a.year,company,b.country as mark,case when a.country =mark then 1 else 0 end as mark_res
from data1 as a,d ...
data data1;
input year company :$8. country $10.;
cards;
2001 a chn
2002 b chn
2003 c usa
2005 d aus
;
run;
data data2;
input country $10.;
cards;
chn
usa
aus
eng
fra
;
run;
proc sql;
create table data3 as
select distinct a.year,company,b.country as mark,case when a.country =mark then 1 else 0 end as mark_res
from data1 as a,data2 as b
;
quit;
data1 为出口数据基础表;data2 为所有国家汇总表;data3 为前两者拼接所得,主要逻辑是将基础表与汇总表拼接并判断是否有出口记录。
如果有什么补充的可以继续提出;如果能解决问题望采纳,谢谢。