1.BaseProgramming
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 10
WhatisSAS
• Highlyflexibleandintegratedsokwareenvironment;youcanuseSASfor:
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 11
BaseSAS
Thefounda+onofSASsokwareiscalledBaseSAS.
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 12
ThiscourseassumesthatyouarerunningBaseSASsokwareinthewindowingenvironment
WhichprogrammingworkspaceamIusing?• Help->About
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 13
Setupprac+cedata
TocreateapermanentSASlibrarynamedsasuser:
• Help->LearningSASprogramming->OK
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 14
SASprogram
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 15
ASASprogramisadatafilethatisformabedinawaythatSAScanunderstand.Itcanconsistofoneormoresteps:aDATAstep,aPROCsteporanycombina1onofthetwo
DATAstep
YouuseaDATAstepto:- PutyourdatainaSASdataset- Computevalues- Checkforandcorrecterrorsinyourdata- ProducenewSASdatasetsbysubsepng,
supersepng,mergingandupda+ngexis+ngdata
WithaDATAstepyoucancreateormodifydatasets:
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 16
PROCStepInvokepre-wribenrou+nesthatenableyoutoanalyzeandprocessthedatainaSASdataset
YoucanusePROCstepsto:- Createareportthatliststhedata- Producedecrip+vesta+s+cs- Createasummaryreport- Produceplotandchart
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 17
Generallyaprograminvolvesacombina+onofthetwostepslikethis:
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 18
SASStatements
19GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
ASASprogramconsistsofstatementsASASstatement:- UsuallybeginswithaSASkeyword- Alwaysendswithasemicolon
ASASprogram
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 20
UnderstandingaSASprogram• Treesteps..
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 21
..13statements..
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 22
..Amongthemtwoglobalstatements:
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 23
- Globalstatementsareall-alone-statements.- YoucanuseglobalstatementsanywhereinaSASprogram.- Globalstatementsarenotexecutable;theytakeeffectassoonasSAScompilesprogramstatements.
SASstatementsarefreeformat
- Theycanbeginandendanywhereonaline- Astatementcancon+nueonseverallines- Severalstatementscanbeonthesameline- BlanksorspecialcharactersseparatewordsinaSASstatement
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 24
Bounderiesofastep:- AstepbeginsbyDATAorPROCstatements- AstependsbyRUNorQUITstatement(althoughtheRUNstatementisnotalways
requiredbetweensteps,usingitcanmaketheSASprogrameasiertoreadanddebug)- Atthestepboundary,SAS:i)executesanystatementsthathavenotpreviously
executedii)endsthestep
ProcessingaprogramDATAsasuser.admit2;SETsasuser.admit;WHEREage>39;RUN;PROCPRINTDATA=sasuser.admit2;RUN;
StepsaresubmibedinEnhancedEditororinProgramEditorwindows
Whenyousubmitaprogram,SASexecutesitstepbystep.
- AlogisgeneratedintheLogwindow(forbothPROCandDATAsteps)
- ReportsaregeneratedinOutput(asalist)andinResultsViewer(inHTML)windows
formostofPROCsteps(excep+ons:copy,sort...).YoucanfindreportsalsoinResultswindow. GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 25
ReportWindow
PROCREPORTDATA=sasuser.admitWINDOWS;COLUMNSidnamssexageactlevel;
RUN;
SomeSASprogramopenaninterac+vewindow,suchasaREPORTwindow.Youcanusethiswindowtodirectlymodifydata
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 26
Programmingworkspace:EditorWindows
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 27
Programmingworkspace:EditorWindows
EnhancedEditorFeatures:- OpeningSASprograms- Entering,edi+ngandsubmipngSAS
programs- Usingthecommandlineormenus- SavingSASprograms- Clearingcontents
- ColorCodingandsintaxchecking- Expandableandcollapsibilesec+ons- Recordablemacros- Supportforkeyboardshortcuts- Mul+-levelundoandredo
ProgramEditorFeatures:- OpeningSASprograms- Entering,edi+ngandsubmipngSAS
programs- Usingthecommandlineormenus- SavingSASprograms- Clearingcontents
- RecallingSubmibedstatements
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 28
Forclearanyofthesewindows,whenthewindowisac+ve:Edit->Clearall
SepngresultformatsTwoformats:Lis+ngandHTML.Differentversions,differentdefault.- BothHTMLandLISTINGarethedefaultinSAS9.3inWindowsandUNIX- JustHTMListhedefaultinSAS9.4inWindowsandUNIX
- Inotherplavorms,youhavejustLISTINGmode,butyoucancreateHTMLoutputusingprogrammingstatements
- YoucanchoosetoshowtheHTMLoutputinanotherbrowser
Tools->Op+ons->Preferences->Results
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 29
TheLogwindows- TheLogwindowdisplaysmessagesaboutyourSASsessionandaboutanySAS
programsthatyousubmit.- Todisplaythiswindow:View->Log- Toclearthiswindow:Edit->Clearall
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 30
Theoutputwindows- TheOutputandResultViewerwindowslistoutputfromSASprogramthatyou
submit.- OutputshowsresultsinLISTINGmode,ResultsViewershowsresultsinHTML
mode- Bydefaulttheyarebehindtheeditorandthelogwindows.Whenyoucreate
output,theyautoma+callymovetothefrontofyourdisplay(OutputbehindResultViewer).
- Todisplayoutputwindow:View->Output
- TheResultswindowlistsandarrangesinatreestructuretheoutput.- Itallowsbrowsingoutputeasily- Itallowsviewing,savingandprin+ngindividualitemsofoutput- ItdislaysseparateiconsforLISTINGandHTMLoutputs- Todisplaythiswindow:View->ResultsGIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 31
TheexplorerwindowTheExplorerwindowallowsyouto- ViewandmanageSASfiles(inthelibraries)butalsonon-SAS(external)files.- CreatenewlibrariesandSASfiles- Moving,copinganddele+ngfiles- Createshortcutstoexternalfiles.- Todisplaythiswindow:View->Explorer
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 32
SASLibraries- ASASlibraryisa
collec+onofSASfiles
storedinthesame
directory
- TemporarySASlibrarieslastonly
forthecurrentsession
- PermanentSASLibrariesare
availableduringsubsequent
sessions
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 33
ReferringaSASdataset
libref Filename
Theyrefertothesame(temporary)library
Twolevel(dividedbyaperiod)names:
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 34
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 35
Ifyoudon’tspecifyalibrarynamewhenyoucreateafile(oryouspecifythelibrarynameWork),thefileisstoredinthetemporarySASdatalibrary
RulesforSASfilenamesandlibref
Filename- Canbe1to32characterslong
- Mustbeginwithaleber(uppercaseorlowercase)oranunderscore
- Cancon+nuewithanycombina+onofnumbers,lebersorunderscores
Ex:Payroll,LABDATA1995_1997,E+matedTaxPayments3
Libref- Canbe1to8characterslong
- Mustbeginwithaleber(uppercaseorlowercase)oranunderscore
- Cancon+nuewithanycombina+onofnumbers,lebersorunderscores
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 36
SASDatasets
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 37
ASASDatasetisafilethatconsistsoftwoparts:
adescriptorpor0on
and
adatapor0on
Descrip+onpor+onPROCCONTENTSDATA=sasuser.insure;RUN;
- Nameofthedataset
- Dateand+methedatasetwascreated
- Thenumberofobserva+ons
- Thenumberofvariables
- Theproper1es(aKributes)ofeachvariable
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 38
VariableAbributes:Name
VariableName,astheFileName:
- Canbe1to32characterslong
- Mustbeginwithaleber(uppercaseorlowercase)oranunderscore
- Cancon+nuewithanycombina+onofnumbers,lebersorunderscores
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 39
VariableAbributes:Type
- Cancontainanyvalues
- Ablankrepresentsamissingvalueforcharactervariables
- Cancontainonlynumericvalues
- Aperiodrepresentsamissingvaluefornumericvariables
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 40
VariableAbributes:LengthLengthismeasuredinbytes
(1character->1byte)
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 41
Numericvariablesarestoredbydefaultin8bytes
Variableabributes:Format&Informat
FormatindicateshowadatavalueisdisplayedbySASEx:Todisplaythevalue1234as$1,234.00youcanusetheDOLLAR8.2format
InformatindicateshowarawdatavalueisreadbySASinordertobeconvertedinaSASdatavalueEx:$12,345.00containstwospecialcharacters.Youcanuseinformatop+onCOMMA10.forremovingdollarsymbolandcomma,inordertostore12345asanumericvalue
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 42
Variableabributes:Label
Thelabelisadescrip+vetextupto256characterlong
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 43
Datapor+on
PROCPRINTDATA=sasuser.insurenoobs;RUN;
Itisacollec+onofvaluesarrangedinarectangulartable
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 44
FileShortcutsYoucancreateafileshortcuttoanexternalfileandstoreitintheFileShortcutsfolderintheExplorerwindow.- filerefisanop+onalnamethatisusedtoiden+fyanexternalfileinSAS.- youcanuseafileshortcuttoopenbrowseandsubmitafile- Whenyoudeleteafileshortcut,thepointertothefileisdeleted.Howeverthe
files+llexistsinitsphysicalloca+on
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 45
HelpUsingthiswindowisataskorientedhelpreferringtotheac+vewindow.Otherop+onsofthehelpmenu:- SAShelpandDocumenta+on(completeguidetoSAS)- Gepngstartedtutorials- LearningSASprogramming(createdatasetusedintraining)- SASontheweb(technicalsupport)
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming» 46