1. Base Programming

Transcription

1. Base Programming
1.
BaseProgramming
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
10
WhatisSAS
•  Highlyflexibleandintegratedsokware
environment;youcanuseSASfor:
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
11
BaseSAS
Thefounda+onofSASsokwareiscalled
BaseSAS.
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
12
ThiscourseassumesthatyouarerunningBase
SASsokwareinthewindowingenvironment
WhichprogrammingworkspaceamIusing?
•  Help->About
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
13
Setupprac+cedata
TocreateapermanentSASlibrarynamed
sasuser:
•  Help->LearningSASprogramming->OK
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
14
SASprogram
ASASprogramisadatafilethatisformabedinawaythatSAScanunderstand.
Itcanconsistofoneormoresteps:
aDATAstep,aPROCsteporanycombina+onofthetwo
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
15
Datastep
WithaDatastepyoucancreateormodifydatasets:
YouuseaDatastepfor:
-  PutyourdatainaSASdataset
-  Computevalues
-  Checkforandcorrecterrorsinyourdata
-  ProducenewSASdatasetsbysubsepng,
supersepng,mergingandupda+ngexis+ng
data
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
16
ProcStep
Invokepre-wribenrou+nesthatenableyoutoanalyzeandprocessthe
datainaSASdataset
YoucanusePROCstepsto:
-  Createareportthatliststhedata
-  Producedecrip+vesta+s+cs
-  Createasummaryreport
-  Produceplotandchart
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
17
Generallyaprograminvolvesacombina+on
ofthetwostepslikethis:
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
18
SASStatements
ASASprogramconsistsofstatements
ASASstatement:
-  UsuallybeginswithaSASkeyword
-  Alwaysendswithasemicolon
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
19
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:
-  Globalstatementsareall-alone-statements.
-  YoucanuseglobalstatementsanywhereinaSASprogram.
-  Globalstatementsarenotexecutable;theytakeeffectassoonasSAScompilesprogramstatements.
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
23
SASstatementsarefreeformat
-  Theycanbeginandendanywhereonaline
-  Astatementcancon+nueonseverallines
-  Severalstatementscanbeonthesameline
-  BlanksorspecialcharacterssepararewordsinaSASstatement
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
24
Processingaprogram
DATAsasuser.admit2;
SETsasuser.admit;
WHEREage>39;
RUN;
PROCPRINTDATA=sasuser.admit2;
RUN;
Bounderiesofastep:
-  AstepbeginsbyDATAorPROCstatements
-  AstependsbyRUNorQUITstatement(althoughtheRUNstatementisnotalways
requiredbetweensteps,usingitcanmaketheSASprogrameasiertoreadanddebug)
-  Atthestepboundary,SAS:i)executesanystatementsthathavenotpreviously
executedii)endsthestep
StepsaresubmibedinEnhancedEditororinProgramEditorwindows
Whenyousubmitaprogram,SASexecuteitstepbystep.
-  AlogisgeneratedintheLogwindow(forbothPROCandDATAsteps)
-  ReportsaregeneratedinOutput(asalist)andinResultsViewer(inHTML)windows
formostofPROCsteps(excep+ons:copy,sort...).YoucanfindreportsalsoinResultswindow.
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
25
ReportWindow
SomeSASprogramopenaninterac+vewindow,suchasaREPORTwindow.Youcanuse
thiswindowtodirectlymodifydata
PROCREPORTDATA=sasuser.admitWINDOWS;
COLUMNSidnamssexageactlevel;
RUN;
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
26
Programmingworkspace:Editor
Windows
EnhancedEditorFeatures:
-  OpeningSASprograms
-  Entering,edi+ngandsubmipngSAS
programs
-  Usingthecommandlineormenus
-  SavingSASprograms
-  Clearingcontents
ProgramEditorFeatures:
-  OpeningSASprograms
-  Entering,edi+ngandsubmipngSAS
programs
-  Usingthecommandlineormenus
-  SavingSASprograms
-  Clearingcontents
- 
- 
- 
- 
- 
-  RecallingSubmibedstatements
ColorCodingandsintaxchecking
Expandableandcollapsibilesec+ons
Recordablemacros
Supportforkeyboardshortcuts
Mul+-levelundoandredo
Forclearanyofthesewindows,whenthewindowisac+ve:Edit->Clearall
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
27
Programmingworkspace:Editor
Windows
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
28
Sepngresultformats
Twoformats:Lis+ngandHTML.Differentversions,differentdefault.
Tools->Op+ons->Preferences->Results
-  BothHTMLandLISTINGarethedefaultinSAS9.3inWindowsandUNIX
-  JustHTMListhedefaultinSAS9.4inWindowsandUNIX
-  Inotherplavorms,youhavejustLISTINGmode,butyoucancreateHTML
outputusingprogrammingstatements
-  YoucanchoosetoshowtheHTMLoutputinanotherbrowser
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(Outputbehind
ResultViewer).
-  Todisplayoutputwindow:View->Output
-  TheResultswindowlistsandarrangesinatreestructuretheoutput.
-  Itallowsbrowsingoutputeasily
-  Itallowsviewing,savingandprin+ngindividualitemsofoutput
-  ItdislaysseparateiconsforLISTINGandHTMLoutputs
-  Todisplaythiswindow:View->Results
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
31
Theexplorerwindow
TheExplorerwindowallowsyouto
-  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
Twolevel(dividedbyaperiod)names:
libref
Filename
Theyrefertothe
same(temporary)
library
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
34
Ifyoudon’tspecifyalibrarynamewhenyoucreateafile(oryouspecifythelibraryname
Work),thefileisstoredinthetemporarySASdatalibrary
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
35
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
ASASDatasetisafilethatconsistsoftwoparts:
adescriptorpor,on
and
adatapor,on
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
37
Descrip+onpor+on
PROCCONTENTSDATA=sasuser.insure;
RUN;
-  Nameofthedataset
-  Dateand+methedatasetwascreated
-  Thenumberofobserva+ons
-  Thenumberofvariables
-  TheproperIes(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
-  Ablankrepresentsa
missingvaluefor
charactervariables
-  Cancontainonly
numericvalues
-  Aperiodrepresentsa
missingvaluefor
numericvariables
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
40
VariableAbributes:Length
Lengthismeasuredinbytes
(1character->1byte)
Numericvariablesare
storedbydefaultin8bytes
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
41
Variableabributes:Format&Informat
FormatindicateshowadatavalueisdisplayedbySAS
Ex:Todisplaythevalue1234as$1,234.00youcanusetheDOLLAR8.2format
InformatindicateshowarawdatavalueisreadbySASinordertobe
convertedinaSASdatavalue
Ex:$12,345.00containstwospecialcharacters.Youcanuseinformatop+on
COMMA10.forremovingdollarsymbolandcomma,inordertostore12345as
anumericvalue
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
42
Variableabributes:Label
Thelabelisadescrip+vetextupto256characterlong
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
43
Datapor+on
Itisacollec+onofvaluesarrangedinarectangulartable
PROCPRINTDATA=sasuser.insurenoobs;
RUN;
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
44
FileShortcuts
YoucancreateafileshortcuttoanexternalfileandstoreitintheFileShortcuts
folderintheExplorerwindow.
-  filerefisanop+onalnamethatisusedtoiden+fyanexternalfileinSAS.
-  youcanuseafileshortcuttoopenbrowseandsubmitafile
-  Whenyoudeleteafileshortcut,thepointertothefileisdeleted.Howeverthe
files+llexistsinitsphisicalloca+on
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
45
Help
Usingthiswindowisataskorientedhelpreferringtotheac+vewindow.
Otherop+onsofthehelpmenu:
-  SashelpandDocumenta+on(completeguidetoSAS)
-  Gepngstartedtutorials
-  LearningSASprogramming(createdatasetusedintraining)
-  SASontheweb(technicalsupport)
GIORGIORUSSOLILLO-Coursdeprépara+onàlacer+fica+onSAS«BaseProgramming»
46

Documents pareils

14. GeneraGng data with DO loops

14. GeneraGng data with DO loops GIORGIO  RUSSOLILLO  -­‐  Cours  de  prépara)on  à  la  cer)fica)on  SAS  «Base  Programming»  

Plus en détail