data ia.lookup2; array Targets{1997:1999,2,12} _Temporary_; if _n_=1 then do I = 1 to 6; set ia.target; array mon{12} Jan--Dec; if RevType='cargo' then T=1; else T=2; do J=1 to 12; Targets{Year,T,J}=mon{J}; end; end; set ia.monthsum; RevPass=sum(Rev1st,RevBusiness,RevEcon); Year=input(substr(SaleMon,4),4.); CTarget=targets{Year,1,MonthNo}; PTarget=targets{Year,2,MonthNo}; run; proc print data = ia.lookup2; title 'Using a Multidimensional Array for Table Lookup'; var SaleMon RevPass PTarget RevCargo CTarget; format _numeric_ dollar14.; run;