Actually Yr is defined earlier: proc iml; %let Yr = '93'; *%include 'sector_codes Nov 25 08.sas'; %include 'C:\Users\hze1\Desktop\SAS\FoodChain\sector_codes.sas'; %macro addmargins(fob,truck,rail,water,air,pipe,whole,ret,filter=(1:num_sectors)); selector = J(1,num_sectors,0); selector[&filter] = 1; Yplus = diag(selector) * &fob; /* transportation margins */ Yplus[truck_row,] = Yplus[truck_row,] + selector * &truck; Yplus[air_row,] = Yplus[air_row,] + selector * &air; Yplus[water_row,] = Yplus[water_row,] + selector * &water; Yplus[rail_row,] = Yplus[rail_row,] + selector * &rail; Yplus[pipe_row,] = Yplus[pipe_row,] + selector * &pipe; /* wholesale & retail utility and non-utility expenditure */ Yplus[tgas_row,] = Yplus[tgas_row,] + selector * (diag(fuel_w) * &whole + diag(fuel_r) * &ret); Yplus[telec_row,] = Yplus[telec_row,] + selector * (diag(elec_w) * &whole + diag(elec_r) * &ret); Yplus[whole_row,] = Yplus[whole_row,] + selector * ((I(num_sectors) - diag(elec_w + fuel_w)) * &whole); Yplus[retail_row,] = Yplus[retail_row,] + selector * ((I(num_sectors) - diag(elec_r + fuel_r)) * &ret); %mend; /* GET DATA */ use UTIL_RETAIL; read all var{elec_r_&Yr} into elec_r; read all var{fuel_r_&Yr} into fuel_r;
... View more