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
GIORGIO
RUSSOLILLO
-‐
Cours
de
prépara)on
à
la
cer)fica)on
SAS
«Base
Programming»