After reading your initial post again, I think you want a cartesian product with all the zips?
In this case it is an issue for proc sql:
proc sql;
create table want as
select
a.company,
b.zip as zip,
case when b.zip = a.zip
then var1
else 0
end as var1,
case when b.zip = a.zip
then var2
else 0
end as var2
from have a, zips b
order by company, zip
;
quit;
(using my example data from the other post)
... View more