SASNINE APPS SOFTWARE SERVICES
Price on request
- 60 hours of class
SAS is driven by SASprograms, which define a sequence of operations to be performed on data stored astables. Although non-programmergraphical user interfacesto SAS exist (such as the SAS Enterprise Guide), theseGUIsare most often merely a front-end that automates or facilitates the generation of SAS programs. The functionalities of SAS components are intended to be accessed viaapplication programming interfaces, in the form ofstatementsandprocedures.
A SAS program has three major parts:
- the DATA step
- procedure steps (effectively, everything that is not enclosed in a DATA step)
- a macro language, ametaprogramminglanguage
SAS Library Engines and Remote Library Services allow access to data stored in external data structures and on remote computer platforms.
The DATA step section of a SAS program, like otherdatabase-oriented fourth-generation programming languages such asSQL orFocus, assumes a default file structure, and automates the process of identifying files to theoperating system, opening the input file, reading the next record, opening the output file, writing the next record, and closing the files. This allows the user/programmer to concentrate on the details of working with the data within each record, in effect working almost entirely within an implicitprogram loop that runs for each record.
All other tasks are accomplished by procedures that operate on thedata set(SAS' terminology for "table") as a whole. Typical tasks include printing or performingstatistical analysis, and may just require the user/programmer to identify the data set. Procedures are not restricted to only one behavior and thus allow extensive customization, controlled by mini-languages defined within the procedures. SAS also has an extensiveSQLprocedure, allowing SQL programmers to use the system with little additional knowledge.
There aremacroprogramming extensions, that allow for rationalization of repetitive sections of the program. Properimperativeandprocedural programmingconstructs can be simulated by use of the "open code" macros or theInteractive Matrix LanguageSAS/IML component.
Macro code in a SAS program, if any, undergoespreprocessing. Atrun time, DATA steps are compiled and procedures are interpreted and run in the sequence they appear in the SAS program. A SAS program requires the SAS software to run.
Compared togeneral-purpose programming languages, this structure allows the user/programmer to concentrate less on the technical details of the data and how it is stored, and more on the information contained in the data. This blurs the line between user and programmer, appealing to individuals who fall more into the 'business' or 'research' area and less in the 'information technology' area, since SAS does not enforce (although it recommends) a structured, centralized approach to data and infrastructure management.
SAS runs onIBM mainframes,Unix,Linux,OpenVMS Alpha, andMicrosoft Windows. Code is "almost" transparently moved between these environments. Older versions have supportedPC-DOS, theApple Macintosh,VMS,VM/CMS,PrimeOS,Data General AOSandOS/2.