/*********************************** This command file illustrates using SAS for basic data setup and variable creation. filename: brieftour.sas ************************************/ OPTIONS FORMCHAR="|----|+|---+=|-/\<>*"; /*****************Read in raw data************************/ data class; infile "class.dat"; input lname $ sex $ age height sbp; run; /*************Fixed Column Data****************************/ data flights; infile "marflt.dat" ; input flight 1-3 depart $ 15-17 dest $ 18-20 boarded 34-36; run; /****************Create a permanent SAS dataset********************/ libname mylib "C:\Users\kwelch\Desktop\labdata"; data mylib.flights; infile "marflt.dat" ; input flight 1-3 depart $ 15-17 dest $ 18-20 boarded 34-36; run; proc means data=mylib.flights; run; /*************Use a permanent SAS dataset*****************/ libname sasdata2 "C:\Users\kwelch\Desktop\sasdata2"; proc contents data=sasdata2.employee; run; proc means data=sasdata2.employee; run; proc freq data=sasdata2.employee; tables gender jobcat; run; /*User-defined formats*/ proc format; value $genderfmt "f"="Female" "m"="Male"; value jobcatfmt 1="Clerical" 2="Custodial" 3="Managerial"; run; proc freq data=sasdata2.employee; tables gender jobcat; format gender $genderfmt. jobcat jobcatfmt.; run; /*User-defined and SAS formats*/ proc print data=sasdata2.employee; where jobcat=1; format bdate mmddyy10. salary salbegin dollar12. gender $genderfmt. jobcat jobcatfmt.; run; /***********Generate new variables in a SAS dataset***************/ data sasdata2.employee2; set sasdata2.employee; currentyear=2005; alpha ="A"; sept11 = "11SEP2001"D; format Sept11 mmddyy10.; saldiff = salary - salbegin; if (salary > 50000) then salcat = "A" ; format bdate mmddyy10. salary salbegin dollar12.; if gender="f" then female=1; if gender="m" then female=0; if jobcat not=. then do; jobdum1 = (jobcat=1); jobdum2 = (jobcat=2); jobdum3 = (jobcat=3); end; nmiss = nmiss(of educ--salbegin); salmean = mean(salary, salbegin); run; /**********Permanent Formats***********/ proc format lib=sasdata2; value jobcatfmt 1="Clerical" 2="Custodial" 3="Manager"; value $genderfmt "f" = "Female" "m" = "Male"; value minfmt 1="Yes" 0="No"; run; options fmtsearch=(work sasdata2); proc datasets lib=sasdata2; modify employee2; format jobcat jobcatfmt. gender $genderfmt. minority minfmt.; run; proc contents data=sasdata2.employee2; run; /*Use the formatted data later*/ options nofmterr; libname sasdata2 "C:\Users\kwelch\Desktop\sasdata2"; options fmtsearch=(work sasdata2); proc means data=sasdata2.employee2; class jobcat; var saldiff; run; /*********Sort data**********/ proc sort data=sasdata2.employee2; by gender; run; proc means data=sasdata2.employee2; by gender; run; /*Sort by a continuous variable*/ proc sort data=sasdata2.employee2; by salary; run; proc contents data=sasdata2.employee2; run; /*Sort in descending order*/ proc sort data=sasdata2.employee2; by descending salary; run; /*Sort by more than one variable*/ proc sort data=sasdata2.employee2; by gender salary; run;