/* Chapter5.sas */ /* C05S2D01.sas */ /* PROC CONTENTS on "before" data set: */ libname ia 'c:\workshop\winsas\effi'; proc contents data = ia.Sales199901; run; /* LENGTH statement in DATA step: */ data sales199901; length ActualCapacityFirstClass ActualCapacityBusiness ActualCapacityEconomy ActualCapacityTotal SalesPassengersFirstClass SalesPassengersBusiness SalesPassengersEconomy 3 ActualCapacityCargo SalesCargoWeight 4 SalesRevenueFirstClass SalesRevenueBusiness SalesRevenueEconomy SalesRevenueCargo 5; set ia.Sales199901; run; /* PROC CONTENTS on "after" data set: */ proc contents data = Sales199901; run; /* C05S2D02.sas */ /* PROC COMPARE on "before" and "after" data sets: */ proc compare base = ia.Sales199901 compare = Sales199901; run; /* C05S2D03.sas */ /*It is recommended that you not reduce the length of noninteger data. */ data one; length x 4; input x; cards; 1.1 1.2 1.1 1.4 ; run; data two; set one; if x = 1.1; run; /* Workaround */ data two; set one; if round(x, 0.1) = 1.1; run; /* C05S3D01.sas */ data ia.USARoutes / view = ia.USARoutes (source = encrypt alter = tiger); infile extdata; input @1 RouteID $7. @8 RouteStart $3. @11 RouteDestination $3. @14 RouteDistance 5. @19 RouteFareFirstClass 4. @23 RouteFareBusiness 4. @27 RouteFareEconomy 4. @31 RouteFareCargo 5.; run; filename extdata 'c:\workshop\winsas\effi\usaroutes.dat'; proc print data = ia.USARoutes; title 'This is the Current Route File'; run; /* C05S3D02.sas */ /* Create the view */ data ia.USARoutes / view = ia.USARoutes (source = encrypt alter = tiger); infile extdata; input @8 RouteStart $3. @; if RouteStart = symget("start") then do; input @1 RouteID$7. @11 RouteDestination $3. @14 RouteDistance 5. @19 RouteFareFirstClass 4. @23 RouteFareBusiness 4. @27 RouteFareEconomy 4. @31 RouteFareCargo 5.; output; end; run; /* Print the view, subsetting for RouteStart = 'RDU' */ filename extdata 'usaroutes.dat'; %let start = RDU; proc print data = ia.USARoutes; title "This is the Current Route File for &start"; run; /* C05S4D01.sas */ options validvarname = any; /* Change EDUxxx to the valid user id for OS/390 */ libname myoralib oracle user = EDUxxx pw = EDUxxx path = dbmssrv schema = educ; proc print data = myoralib.frequentflyers; title 'Oracle Frequent Flyers Table'; run;