proc format library = ia.FORMATS; value $routes 'Route1' = 'Zone 1' 'Route2' - 'Route4' = 'Zone Two' 'Route5' - 'Route7' = 'Zone Three' ' ' = 'Missing' other = 'Unknown'; value $dest 'AKL','AMS','ARN', 'ATH','BKK','BRU', 'CBR','CCU','CDG', 'CPH','CPT','DEL', 'DXB','FBU','FCO', 'FRA','GLA','GVA', 'HEL','HKG','HND', 'JED','JNB','JRS', 'LHR','LIS','MAD', 'NBO','PEK','PRG', 'SIN','SYD','VIE','WLG' = 'International' 'ANC','BHM','BNA', 'BOS','DFW','HNL', 'IAD','IND','JFK', 'LAX','MCI','MIA', 'MSY','ORD','PWM', 'RDU','SEA','SFO' = 'Domestic'; value revfmt . = 'Missing' low - 10000 = 'Up to $10,000' 10000 <- 20000 = '$10,000+ to $20000' 20000 <- 30000 = '$20,000+ to $30000' 30000 <- 40000 = '$30,000+ to $40000' 40000 <- 50000 = '$40,000+ to $50000' 50000 <- high = 'More than $50,000'; run; proc catalog cat = ia.FORMATS; contents; run; proc sort data = ia.cargorev; by Date; run; options fmtsearch = (ia); proc print data = ia.cargorev(obs = 10); where put(Route,$routes.) = 'Zone Two'; format RevCargo revfmt. Date mmddyyb10.; var Date Route RevCargo; title 'Revenue Cargo for Zone Two'; title2 'First Ten Rows'; run;