SAS (software) - Description

Description

SAS is driven by SAS programs, which define a sequence of operations to be performed on data stored as tables. Although non-programmer graphical user interfaces to SAS exist (such as the SAS Enterprise Guide), these GUIs are 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 via application programming interfaces, in the form of statements and procedures.

A SAS program has four major parts:

  1. the DATA step
  2. procedure steps (effectively, everything that is not enclosed in a DATA step)
  3. a macro language, a metaprogramming language
  4. ODS (Output Delivery System) statements, which direct any output or data sets created by DATA or procedure steps to any of various file types, and apply styles and templates to the output.

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 other database-oriented fourth-generation programming languages such as SQL or Focus, assumes a default file structure, and by default automates the process of identifying files to the operating 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 implicit program loop that runs for each record. Any aspect of these automated functionalities may also be modified within the DATA step.

All other tasks are accomplished by procedures that operate on the data set (SAS' terminology for "table") as a whole. Typical tasks include printing or performing statistical 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 extensive SQL procedure, allowing SQL programmers to use the system with little additional knowledge.

There are macro programming extensions, that allow for rationalization of repetitive sections of the program. Proper imperative and procedural programming constructs can be simulated by use of the "open code" macros or the Interactive Matrix Language SAS/IML component.

Macro code in a SAS program, if any, undergoes preprocessing. At run 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 to general-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 on IBM mainframes, Unix, Linux, OpenVMS Alpha, and Microsoft Windows. Code is "almost" transparently moved between these environments. Older versions have supported PC-DOS, the Apple Macintosh, VMS, VM/CMS, PrimeOS, Data General AOS and OS/2.

Read more about this topic:  SAS (software)

Famous quotes containing the word description:

    To give an accurate description of what has never occurred is not merely the proper occupation of the historian, but the inalienable privilege of any man of parts and culture.
    Oscar Wilde (1854–1900)

    I was here first introduced to Joe.... He was a good-looking Indian, twenty-four years old, apparently of unmixed blood, short and stout, with a broad face and reddish complexion, and eyes, methinks, narrower and more turned up at the outer corners than ours, answering to the description of his race. Besides his underclothing, he wore a red flannel shirt, woolen pants, and a black Kossuth hat, the ordinary dress of the lumberman, and, to a considerable extent, of the Penobscot Indian.
    Henry David Thoreau (1817–1862)

    The Sage of Toronto ... spent several decades marveling at the numerous freedoms created by a “global village” instantly and effortlessly accessible to all. Villages, unlike towns, have always been ruled by conformism, isolation, petty surveillance, boredom and repetitive malicious gossip about the same families. Which is a precise enough description of the global spectacle’s present vulgarity.
    Guy Debord (b. 1931)