/* Chapter4.sas */ /* C04S2D01.sas */ libname ia 'c:\workshop\winsas\effi'; proc contents data = ia.Schedule; run; /* C04S4D01.sas */ proc print data = ia.Schedule; by RouteStart notsorted; run; /* C04S4D02.sas */ proc format; value $qtrfmt 'JAN1999', 'FEB1999', 'MAR1999' = '1' 'APR1999', 'MAY1999', 'JUN1999' = '2' 'JUL1999', 'AUG1999', 'SEP1999' = '3' 'OCT1999', 'NOV1999', 'DEC1999' = '4'; run; data sum(keep = TotalCargo SalesMonth rename = (SalesMonth = Quarter)); set ia.SalesSummary; format SalesMonth $qtrfmt.; by groupformat SalesMonth notsorted; where Year = '1999'; if first.SalesMonth then total = 0; TotalCargo + SalesRevenueCargo; if last.SalesMonth; run; /* C04S6D01 */ /* PROC SORT with NODUPKEY option */ proc sort data = ia.DupRoutes out = dupRoutes nodupkey; by RouteID RouteStart RouteDestination ScheduledArrivalTime ScheduledDepartureTime; run; /* PROC SORT followed by DATA step with FIRST. processing */ proc sort data = ia.DupRoutes out = DupRoutes; by RouteID RouteStart RouteDestination ScheduledArrivalTime ScheduledDepartureTime; run; data duproutes; set duproutes; by RouteID RouteStart RouteDestination ScheduledArrivalTime ScheduledDepartureTime; if first.ScheduledDepartureTime; run; /* C04S6D02.sas */ proc sort data = ia.DupRoutes out = DupRoutes noduprecs; by RouteID RouteStart RouteDestination ScheduledArrivalTime ScheduledDepartureTime; run; /* C04S7D01.sas */ /* Unix libname statement */ libname ia '.'; /* OS/390 libname statement */ libname ia '.effi.sasdata'; /* This program will NOT work on Windows platforms */ options sortpgm = BEST sortcutp = 100000 sortname = SYNCSORT; proc sort data = ia.Schedule out = Schedule; by RouteNumber; run