All Topics  
SAS System

 

   Email Print
   Bookmark   Link

 

SAS System


 
 

SAS (pronounced "sass", originally Statistical Analysis System) is an integrated system of software products provided by SAS InstituteSAS Institute

* JMP* Dataflux ...
 that enables the programmer to perform:
  • data entry, retrievalInformation retrieval

    Information retrieval is the science of searching for information in documents, searching for documents themselves, searchi...
    , managementData management

    Data management comprises all the disciplines related to managing data as a valuable resource....
    , and miningData mining

    Data mining , also called Knowledge-Discovery in Databases or Knowledge-Discovery and Data Mining, is the proc...
  • reportReport

    In writingIn writing, a report is a document characterized by information or other content reflective of inquiry or investigation...
     writing and graphics
  • statistical analysisStatistics Overview

    Statistics is a mathematical science pertaining to the collection, analysis, interpretation, and presentation of data....
  • business planBusiness plan

    A business plan is a summary of how a business owner, manager, or entrepreneur intends to organize an entrepreneurial endeav...
    ning, forecastingForecasting

    Forecasting is the process of making predictions of events that will happen in the future....
    , and decision supportDecision support system

    Decision support systems are a class of computer-based information systems or knowledge based systems that, in very differen...
  • operations researchOperations research

    Operations research, operational research, or simply OR is an interdisciplinary science which deploys scientific...
     and project managementProject management

    Project management is the discipline of organizing and managing resources in such a way that these resources deliver all the...
  • quality improvementQuality control

    In engineering and manufacturing, quality control and quality engineering are involved in developing systems which ens...
  • applicationsApplication software

    Application software is a defined subclass of computer software that employs the capabilities of a computer directly to a ta...
     development
  • Data warehousing
  • platform independent and remote computingRemote control software

    Remote control software is software used in remote administration to allow use of computers or other hardware at a separate ...



In addition, SAS has many business solutions that enable large scale software solutions for areas such as IT management, human resource managementHuman resource management Summary

Human Resource Management is both an academic theory and a business practice that addresses the theoretical and practical te...
, financial managementFinancial management

Financial management may refer to:...
, business intelligenceBusiness intelligence

Business intelligence has two basic different meanings related to the use of the term intelligence....
, customer relationship managementCustomer relationship management

Customer relationship management encompasses the capabilities, methodologies, and technologies that support an enterprise i...
 and more.

Description of SAS

SAS is driven by SAS programsComputer program

Most computer programs consist of a list of instructions that explicitly implement an algorithm , another form of computer ...
 that define a sequence of operations to be performed on data stored as tablesTable (database)

In relational databases and SQL databases a table is a set of data elements that is organized using a model of horizontal ro...
. Although non-programmer graphical user interfaces to SAS exist (such as the SAS Enterprise Guide), most of the time these GUIGui

Gui can refer to the following:* Gui is short for Guilherme or Guilhermo; in English, this name translates to William....
s are just a front-end to automate or facilitate generation of SAS programs. SAS components expose their functionalities via application programming interfaceApplication programming interface

An application programming interface is the interface that a computer system, library or application provides in order to a...
s, in the form of statementsStatement (programming)

In computer programming a statement can be thought of as the smallest standalone element of an imperative programming langua...
 and proceduresProcedural programming

Procedural programming is sometimes used as a synonym for imperative programming , but can also refer to a programming para...
.

A SAS program is composed of three major parts, the DATA step, procedure steps (effectively, everything that is not enclosed in a DATA step), and a macro language. 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 languagesFourth-generation programming language

A fourth-generation programming language is a programming language designed with a specific purpose in mind, such as the de...
 such as SQLSQL

SQL is the most popular computer language used to create, modify, retrieve and manipulate data from relational database man...
 or Focus, assumes a default file structure, and automates the process of identifying files to the operating systemOperating system Overview

An operating system is a software program that manages the hardware and software resources of a computer....
, 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.

All other tasks are accomplished by procedures that operate on the data setData set

In statistics, a data set is a set of data consisting of:...
 (SAS' terminology for "table") as a whole. Typical tasks include printing or performing statistical analysisStatistics

Statistics is a mathematical science pertaining to the collection, analysis, interpretation, and presentation of data....
, 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 SQLSQL

SQL is the most popular computer language used to create, modify, retrieve and manipulate data from relational database man...
 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 imperativeImperative programming

In computer science, imperative programming, as contrasted with declarative programming, is a programming paradigm that desc...
 and procedural programmingProcedural programming Overview

Procedural programming is sometimes used as a synonym for imperative programming , but can also refer to a programming para...
 constructs can be simulated by use of the "open code" macros or the SAS/IML component.

Macro code in a SAS program, if any, undergoes preprocessingPreprocessor Overview

In computer science, a preprocessor is a program that processes its input data to produce output that is used as input to an...
. At runtimeRuntime

In computer science, runtime or run time describes the operation of a computer program, the duration of its execution,...
, 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 be less familiar with the technical details of the data and how it is stored, and relatively more familiar with 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 technologyInformation technology

Information Technology is a broad subject concerned with the use of technology in managing and processing information, espe...
' area, since SAS does not enforce (although SAS recommends) a structured, centralized approach to data and infrastructure management.

SAS runs on IBM mainframeIBM mainframe

An IBM mainframe is a mainframe computer made by IBM. ...
s, UnixUnix

Unix or UNIX is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T Bell Labs e...
 machines, OpenVMS AlphaOpenVMS

OpenVMS is the name of a high-end computer server operating system that runs on the VAX and Alpha family of computers devel...
, and Microsoft WindowsMicrosoft Windows

Microsoft Windows is a family of operating systems by Microsoft....
; and code is almost transparently moved between these environments. Older versions have supported PC-DOSPC-DOS

IBM PC-DOS was one of three major operating systems that dominated the personal computer market from about 1985 to 1995....
, the Apple Macintosh, VMSOpenVMS

OpenVMS is the name of a high-end computer server operating system that runs on the VAX and Alpha family of computers devel...
, VM/CMSVM/CMS Overview

VM/CMS is a bundled pair of operating systems used on IBM System/360, System/370, System/390, zSeries, and System z9 mainfr...
, Data General AOSData General

Data General was one of the first minicomputer firms from the late 1960s....
 and OS/2OS/2

OS/2 is an operating system created by Microsoft and IBM, later developed by IBM exclusively....
.

Early history of SAS

SAS was conceived by Anthony J. Barr in 1966. As a North Carolina State UniversityNorth Carolina State University

North Carolina State University is a public, coeducational, extensive research university located in Raleigh, North Carolina...
 graduate student from 1962 to 1964, Barr had created an analysis of varianceAnalysis of variance

In statistics, analysis of variance is a collection of statistical models and their associated procedures which compare mea...
 modeling language inspired by the notation of statistician Maurice KendallMaurice Kendall

Sir Maurice George Kendall was a British statistician. ...
, followed by a multiple regression program that generated machine code for performing algebraic transformations of the raw data. Drawing on those programs and his experience with structured data files, he created SAS, placing statistical procedures into a formatted file framework. From 1966 to 1968, Barr developed the fundamental structure and language of SAS.

In January 1968, Barr and James GoodnightJames Goodnight

James "Jim" Goodnight is the CEO of the SAS Institute and is generally recognized as being the wealthiest man in the state of Nort...
 collaborated, integrating new multiple regression and analysis of variance routines developed by Goodnight into Barr's framework. Goodnight's routines made the handling of basic statistical analysis more robust, and his later implementation of the general linear modelGeneral linear model

The general linear model is a statistical linear model....
 greatly increased the analytical power of the system. By 1971, SAS was gaining popularity within the academic community. And by 1972, industry was making use of SAS. One strength of the system was analyzing experiments with missing data, which was useful to the pharmaceuticalPharmaceutical company

A pharmaceutical company, or drug company, is a company licensed to discover, develop, market and distribute drugs....
 and agriculturalAgriculture

Farming redirects here. For Farming in computer games, see Farmer ....
 industries, among others.

In 1973, John SallJohn Sall

John Sall is an American software developer and businessman....
 joined the project, making extensive programming contributions in econometrics, time series, and matrix algebra. Other participants in the early years included Caroll G. Perkins, Jolayne W. Service, and Jane T. Helwig. Perkins made programming contributions. Service and Helwig created the early documentation.

In 1976, SAS Institute, Inc.SAS Institute

* JMP* Dataflux ...
 was incorporated by Barr, Goodnight, Sall, and Helwig.

Components


SAS consists of a number of components, which organizations separately license and install as required.

SAS Add-In for Microsoft Office: A component of the SAS Enterprise Business Intelligence Server, is designed to provide access to data, analysis, reporting and analytics for non-technical workers (such as business analysts, power users, domain experts and decision makers) via menus and toolbars integrated into Office applications.

Base SAS:The core of SAS is the so-called Base SAS Software, which is used to manage data. SAS procedures software analyzes and reports the data. The SQLSQL

SQL is the most popular computer language used to create, modify, retrieve and manipulate data from relational database man...
 procedure allows SQL programming in lieu of data step and procedure programming. Library Engines allow transparent access to common data structures such as Oracle, as well as pass-through of SQL to be executed by such data structures. The Macro facility is a tool for extending and customizing SAS software programs and reducing overall program verbosity. The DATA step debugger is a programming tool that helps find logic problems in DATA step programs. The Output Delivery System (ODS) is an extendable system that delivers output in a variety of formats, such as SAS data sets, listing files, RTFRich Text Format

The Rich Text Format is a proprietary document file format developed and owned by Microsoft since 1987 for cross-platform d...
, PDF, XML, or HTMLHTML Overview

In computing, HyperText Markup Language is a predominant markup language for the creation of web pages....
. The SAS windowing environment is an interactive, graphical user interfaceGraphical user interface

A graphical user interface , is a particular case of user interface for interacting with a computer which employs graphical ...
 used to run and test SAS programs.

BI Dashboard: A plugin for Information Delivery Portal. It allows the user to create various graphics that represent a broad range of data. This allows a quick glance to provide a lot of information, without having to look at all the underlying data.

Data Integration Studio: A client application.

SAS Enterprise Business Intelligence Server: Includes both a suite of business intelligenceBusiness intelligence

Business intelligence has two basic different meanings related to the use of the term intelligence....
 (BI) tools and a platform to provide uniform access to data. The goal of this product is to compete with Business ObjectsBusiness Objects (company)

Business Objects is a company that creates and markets business intelligence software, including enterprise performance mana...
 and CognosCognos

Cognos is an Ottawa, Ontario based company which makes business intelligence and performance planning software....
' offerings.

Enterprise Computing Offer (ECO):Not to be confused with Enterprise Guide or Enterprise Miner, ECO is a product bundle.

Enterprise Guide: SAS Enterprise Guide is a Microsoft Windows client application that provides a guided mechanism to use SAS and publish dynamic results throughout an organization in a uniform way. It is marketed as the default interface to SAS for business analysts, statisticians, and programmers.

Enterprise Miner:A data miningData mining

Data mining , also called Knowledge-Discovery in Databases or Knowledge-Discovery and Data Mining, is the proc...
 tool.

ETL: Provides Extract, transform, loadExtract, transform, load

Extract, transform, and load is a process in data warehousing that involves...
 services.

Information Delivery Portal: Allows a user to setup a personalized homepage where they can view automatically generated reports, dashboards, and other SAS data structures.

Information Map Studio: A client application that helps with building information maps.

OLAP Cube Studio: A client application that helps with building OLAP Cubes.

SAS Web OLAP Viewer for Java: Web based application for viewing OLAP cubes and data explorations.

SAS Web OLAP Viewer for .NET:

SAS/ACCESS:Provides the ability for SAS to transparently share data with non-native datasources.

SAS/ACCESS for PC Files:Allows SAS to transparently share data with personal computerPersonal computer

A personal computer is usually a microcomputer whose price, size, and capabilities make it suitable for personal usage....
 applications including MS Access and Microsoft Office Excel.

SAS/AF:Applications facility, a set of application development tools to create customized applications.

SAS/ASSIST:Early point-and-clickPoint-and-click

Point-and-click is the simple action of a computer user moving a cursor to a certain location on a screen and then clicking ...
 interface to SAS, has since been superseded by SAS Enterprise Guide and its client-server architecture.

SAS/C

SAS/CALC: Is a discontinued spreadsheet application, which came out in version 6 for mainframes and PCs, and didn't make it further.

SAS/CONNECT:Provides ability for SAS sessions on different platforms to communicate with each other.

SAS/DMI:A programming interface between interactive SAS and ISPF/PDF applications. Obsolete since version 5.

SAS/EIS:A menu-driven system for developing, running, and maintaining an enterprise information systems.

SAS/ETS:Provides EconometricsEconometrics

Econometrics literally means 'economic measurement'....
 and Time SeriesTime series

In statistics and signal processing, a time series is a sequence of data points, measured typically at successive times, spa...
 Analysis

SAS/FSP: Allows interaction with data using integrated tools for data entry, computation, query, editing, validation, display, and retrieval.

SAS/GIS:An interactive desktop Geographic Information SystemGeographic Information System

A Geographic Information System is a system for creating, storing, analyzing and managing spatial data and associated attri...
 for mapping applications.

SAS/GRAPH:Although base SAS includes primitive graphing capabilities, SAS/GRAPH is needed for chartingCharting application

A charting application is a computer program that is used to graphically create a graphical representation based on some non...
 on graphical media.

SAS/IML:MatrixFacts About Matrix (mathematics)

In mathematics, a matrix is a rectangular table of numbers or, more generally, a table consisting of abstract quantities tha...
-handling SAS script extensions.

SAS/INSIGHT:Dynamic tool for data mining. Allows examination of univariate distributions, visualization of multivariate data, and model fitting using regression, analysis of variance, and the generalized linear model.

SAS/Integration Technologies: Allows the SAS System to use standard protocols, like LDAP for directory access, CORBAÇorba

?orba is a Turkish soup or stew. The word entered into a number of national cuisines of various peoples under the rule of t...
 and MicrosoftMicrosoft

company_name = Microsoft Corporation| company_logo = ...
's COMComponent Object Model

Component Object Model is a Microsoft platform for software componentry introduced by Microsoft in 1993....
/DCOMDistributed component object model Summary

Distributed Component Object Model is a Microsoft proprietary technology for software components distributed across several ...
 for inter-application communication, as well as message-oriented middleware like Microsoft Message QueuingMicrosoft Message Queuing

Microsoft Message Queuing or MSMQ is a technology developed by Microsoft and deployed in its Windows Server operating ...
 and IBM WebSphere MQ. Also includes the SAS' proprietary client-serverClient-server

Client-server is network architecture which separates the client from the server....
 protocols used by all SAS clients.

SAS/IntrNet:Extends SAS’ data retrieval and analysis functionality to the Web with a suite of CGI and Java tools

SAS/LAB:Superseded by SAS Enterprise Guide.

SAS/OR:Operations Research

SAS/PH-Clinical:Defunct product

SAS/QC:Quality ControlFacts About Quality control

In engineering and manufacturing, quality control and quality engineering are involved in developing systems which ens...
 provides quality improvement tools.

SAS/SHARE:Is a data server that allows multiple users to gain simultaneous access to SAS files

SAS/SHARE*NET:Discontinued and now part of SAS/SHARE. It allowed a SAS/SHARE data server to be accessed from non-sas clients, like JDBC or ODBC compliant applications.

SAS/SPECTRAVIEW: Allows visual exploration of large amounts of data. The data is plotted in a 3D space, and can then be visualised by creating envelope surfaces, cutting planes, etc, which can be animated depending on a fourth parameter (time for example).

SAS/STAT:Statistical Analysis with a number of procedures, providing statistical information such as analysis of variance, regression, multivariate analysis, and categorical data analysis.

SAS/TOOLKIT

SAS/Warehouse Administrator:Superseded in SAS 9 by SAS ETL Server.

SAS Web Report Studio: Part of the SAS Enterprise Business Intelligence Server, provides access to query and reporting capabilities on the Web. Aimed at non-technical users.

Terminology

Where many other languages refer to tablesTable (database)

In relational databases and SQL databases a table is a set of data elements that is organized using a model of horizontal ro...
, rowsRow (database) Overview

In the context of a relational database, a row—also called a record or tuple—represents a single, im...
, and columns/fieldsColumn (database)

In the context of a relational database, a column of a table is a set of data values of a particular simple type, one for ea...
, SAS uses the terms data sets, observations, and variables respectively. This usage derives from its statistical heritage, and is shared by SPSSSPSS

The computer program SPSS was released in its first version in 1968, and is among the most widely used programs for statisti...
, another statistical package.

There are only two kinds of variables in SAS, numeric and character (string). By default all numeric variables are stored as real. It is possible to reduce precision however. Date and datetime variables are numeric variables that inherit the C tradition and are stored as either the number of days (for date variables) or seconds (for datetime variables) from an epoch of 1960-01-01 00:00:00.

Features

  • Read and write many different file formats.
  • Process data in many different formats.
  • SAS programming language is a 4th generation programming language. SAS DATA steps are written in a 3rd-generation procedural language very similar to PL/I; SAS PROCS, especially PROC SQL, are non-procedural and therefore better fit the definition of a 4GL.
  • WHERE filtering available in DATA steps and PROCs; based on SQL WHERE clauses, incl. operators like LIKE and BETWEEN/AND.
  • Many built-in statistical and random number functions.
  • Hundreds of built-in functions for manipulating character and numeric variables. Version 9 includes PerlPerl

    Perl, also Practical Extraction and Report Language is a dynamic procedural programming language designed by Larry Wa...
     Regular ExpressionRegular expression

    A regular expression is a string that describes or matches a set of strings, according to certain syntax rules....
     processing.
  • System of formats and informats. These control representation and categorization of data and may be used within DATA step programs in a wide variety of ways. Users can create custom formats, either by direct specification or via an input dataset.
  • Comprehensive date- and time-handling functions; wide variety of formats to represent date and time information without transformation of underlying values.
  • Interaction with database products through SQLSQL

    SQL is the most popular computer language used to create, modify, retrieve and manipulate data from relational database man...
     (and ability to use SQL internally to manipulate SAS data sets). Almost all SAS functions and operators available in PROC SQL.
  • SAS/ACCESS modules allow communication with databases (incl. via ODBC); in most cases, database tables can be viewed as though they were native SAS data sets. As a result, applications may combine data from many platforms without the end-user needing to know details of or distinctions between data sources.
  • Direct output of reports to CSVComma-separated values

    The comma-separated values file format is a delimited data format that has fields separated by the comma character and recor...
    , HTMLFacts About HTML

    In computing, HyperText Markup Language is a predominant markup language for the creation of web pages....
    , PCLPrinter control language

    A printer control language is a collection of commands, typically control characters, that make up the command set that a pa...
    , PDFPortable Document Format

    Portable Document Format is a file format proprietary to Adobe Systems for representing two-dimensional documents in a devi...
    , PostScriptPostScript

    PostScript is a page description language and programming language used primarily in the electronic and desktop publishing ...
    , RTFRich Text Format

    The Rich Text Format is a proprietary document file format developed and owned by Microsoft since 1987 for cross-platform d...
    , XML, and more using ODS. Templates, custom tagsets, styles incl. CSSCascading Style Sheets

    In computing, Cascading Style Sheets is a stylesheet language used to describe the presentation of a document written in a m...
     and other markupMarkup language

    A markup language combines text and extra information about the text....
     tools available and fully programmable.
  • Interaction with the operating systemOperating system

    An operating system is a software program that manages the hardware and software resources of a computer....
     (for example, pipeliningPipe

    Pipe may refer to:...
     on Unix and Windows and DDEDynamic Data Exchange

    Dynamic Data Exchange is a technology for communication between multiple applications under Microsoft Windows and also OS/2....
     on Windows).
  • Fast development time, particularly from the many built-in procedures, functions, in/formats, the macro facility, etc.
  • An integrated development environmentIntegrated development environment

    An integrated development environment , also known as integrated design environment and integrated debugging enviro...
    .
  • Dynamic data-driven code generation using the SAS Macro language.
  • Can process files containing millions of rows and thousands of columns of data.
  • University research centers often offer SAS code for advanced statistical techniques, especially in fields such as Political Science, Economics and Business Administration.
  • Large user community supported by SAS Institute. Users have a say in future development, e.g., via the annual SASWare Ballot. SAS Wiki at .

Example SAS code

SAS uses data steps and procedures to analyze and manipulate data. By default, a data step iterates through each observation in a data set (sort of like every row in a SQL table).

This data step creates a new data set BBB that includes those observations from data set AAA that had charges greater than 100.

data BBB;
set AAA(where = (charge > 100));
run;

Procedures that can summarize data are available in SAS. The proc freq procedure shows a frequency distribution of a given variable in a data set.

proc freq data=BBB;
table charge;
run;

SAS also allows direct subsetting of rows and/or columns of the data used as input to a procedure. The two previous examples could be replaced by the following:

proc freq data=AAA(where = (charge > 100));
table charge;
run;

The same program could produce a data set containing the frequency distribution:
...
table charge/out=charge_freq;
...

SAS features a macro language, which can be used to generate SAS code. For instance, the above example could be re-used in many pieces of code by rewriting it as a macro:

%macro freqtable (table, variable);
proc freq data = &table;
table &variable;
run;
%mend freqtable;

%freqtable (BBB, charge)

SAS also features SQL, which can be used to create, modify or query SAS datasets or external database tables accessed with a SAS libname engine. For example, duplicate records could be extracted from a table for analysis:

proc sql;
create table dup_recs
as select *
from your_dataset
group by id
having count(*) > 1
;
quit;

The proc print procedure allows the user to display information in ways not possible using only the SQL SELECT statement.

proc print data=BBB;
run;

Version history

SAS 71

SAS 71 was the first limited release of the system. The first manual for SAS was printed at this time, approximately 60 pages long. The DATA step was implemented. Regression and analysis of variance were the main uses of the program.

SAS 72

This more robust release was the first to achieve wide distribution. It included a substantial user's guide, 260 pages in length. The MERGE statement was introduced in this release, adding the ability to perform a database JOIN on two data sets. This release also introduced the comprehensive handling of missing data.

SAS 76

SAS 76 was a complete system level rewrite, featuring an open architecture for adding and extending procedures, and for extending the compiler. The INPUT and INFILE statements were significantly enhanced to read virtually all data formats in use on the IBM mainframe. Report generation was added through the PUT and FILE statements. The capacity to analyze general linear modelGeneral linear model

The general linear model is a statistical linear model....
s was added.

79.3 - 82.4

1980 saw the addition of SAS/GRAPH, a graphing component; and SAS/ETS for econometric and time series analysis. In 1981 SAS/FSP followed, providing full-screen interactive data entry, editing, browsing, retrieval, and letter writing.

In 1983 full-screen spreadsheet capabilities were introduced (PROC FSCALC).

For IBM mainframes, SAS 82 no longer required SAS databases be DSORG=DAU, because SAS 82 removed location-dependent information from databases. While this may seem trivial, it eliminated a major headache in administering SAS--that restoring a SAS disk-base database from tape no longer required restoring the entire volume, then copying the database to another location.

Version 4 series

In the early 1980s, SAS Institute released Version 4, the first version for non-IBM computers. It was written mostly in a subset of the PL/IPL/I

PL/I is an imperative computer programming language designed for scientific, engineering, and business applications....
 language, to run on several minicomputerMinicomputer

Minicomputer is a largely obsolete term for a class of multi-user computers which make up the middle range of the computing...
 manufacturers' operating systems and hardware: Data GeneralData General

Data General was one of the first minicomputer firms from the late 1960s....
's AOS/VS, Digital Equipment's VAX/VMS, and Prime ComputerPrime Computer

Prime Computer was a Natick, Massachusetts-based producer of minicomputers from 1972 until 1992....
's PRIMOS. The version was colloquially called "Portable SAS" because most of the code was portable, i.e., the same code would run under different operating systems.

Version 5 series

Version 6 series

Version 6 represented a major milestone for SAS. While it was superficially similar to the user, the major change was "under the hood", where the software was rewritten. From its FORTRANFortran

FORTRAN is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation a...
 origins, followed by PL/IPL/I

PL/I is an imperative computer programming language designed for scientific, engineering, and business applications....
 and mainframe assembly languageAssembly language Overview

Assembly language refers to a class of low-level languages used to write computer programs, or to a particular such language...
; in version 6 SAS was rewritten in CC (programming language)

The C programming language is a general-purpose, procedural, imperative computer programming language developed in the earl...
, to provide enhanced portabilityPortability

Portability is the general characteristic of being readily transportable from one location to another, and may specifically ...
 between operating systems, as well as access to an increasing pool of C programmers compared to the shrinking pool of PL/I programmers.

This was the first version to run on UNIXUnix

Unix or UNIX is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T Bell Labs e...
, MS-DOS and Windows platforms. The DOS versions were incomplete implementations of the Version 6 spec: some functions and formats were unavailable, as were SQLSQL

SQL is the most popular computer language used to create, modify, retrieve and manipulate data from relational database man...
 and related items such as indexing and WHERE subsetting. DOS memory limitations restricted the size of some user-defined items.

The mainframe version of SAS 6 changed the physical format of SAS databases from "direct files" (DSORG=DA) to "flat files" (DSORG=PS,RECFM=FS). The practical benefit of this change is that a SAS 6 database can be copied from any media with any copying tool.

In 1984 a project management component was added (SAS/OR?).

In 1985 SAS/AF software, econometrics and time series analysis (SAS/ETS) component, and interactive matrix programming (SAS/IML) software was introduced. MS-DOS SAS (version 6.02) was introduced, along with a link to mainframe SAS.

In 1986 Statistical quality improvement component is added (SAS/QC software); SAS/IML and SAS/STAT software is released for personal computers.

1987 saw concurrent update access provided for SAS data sets with SAS/SHARE software. Database interfaces are introduced for DB2IBM DB2

DB2 is IBM's line of, RDBMS or as IBM now calls it, "data server" software products within IBM's broader Information Managem...
 and SQL-DS.

In 1988 MultiVendor Architecture (MVA) concept is introduced; SAS/ACCESS software is released. Support for UNIX-based hardware announced. SAS/ASSIST software for building user-friendly front-end menus is introduced. New SAS/CPE software establishes SAS as innovator in computer performance evaluation. Version 6.03 for MS-DOS is released.

6.06 for MVSMVS Summary

MVS was the most commonly used operating system on the System/370 and System/390 IBM mainframe computers....
, CMSConversational Monitor System

The Conversational Monitor System is a relatively simple interactive computing single-user operating system which was for ma...
, and OpenVMSOpenVMS Summary

OpenVMS is the name of a high-end computer server operating system that runs on the VAX and Alpha family of computers devel...
 is announced in 1990. The same year, the last MS-DOS version (6.04) is released.

Data visualization capabilities added in 1991 with SAS/INSIGHT software.

In 1992 SAS/CALC, SAS/TOOLKIT, SAS/PH-Clinical, and SAS/LAB software is released.

In 1993 software for building customized executive information systems (EIS) is introduced. Release 6.08 for MVS, CMS, VMS, VSE, OS/2OS/2

OS/2 is an operating system created by Microsoft and IBM, later developed by IBM exclusively....
, and Windows is announced.

1994 saw the addition of ODBC support, plus SAS/SPECTRAVIEW and SAS/SHARE*NET components.

6.09 saw the addition of a data step debugger.

6.09E for MVS.

6.10 in 1995 was a Microsoft Windows release and the first release for the Apple Macintosh. Version 6 was the first, and last series to run on the Macintosh. JMPJMP (statistical software)

JMP is a computer program that was first developed by John Sall to perform simple and complex statistical analyses....
, also produced by the SAS Institute, is the software package the company produces for the Macintosh.

Also in 1995, 6.11 (codenamed Orlando) was released for Windows 95, Windows NT, and UNIX.

6.12 were Unix and Microsoft Windows releases (and more?)

(Some of the following milestones in this sub-section may belong under version 7 or 8.)

In 1996 SAS announces Web enablement of SAS software. Scalable performance data server is introduced.

In 1997 SAS/Warehouse Administrator and SAS/IntrNet software goes into production.

1998 sees SAS introduce a customer relationship management (CRM) solution, and an ERP access interface — SAS/ACCESS interface for SAP R/3. SAS is also the first to release OLE-DB for OLAP and releases HOLAP solution. Balanced scorecard, SAS/Enterprise Reporter, and HR Vision are released. First release of SAS Enterprise Miner.

1999 sees the releases of HR Vision software, the first end-to-end decision-support system for human resources reporting and analysis; and Risk Dimensions software, an end-to-end risk-management solution. MS-DOS versions are abandoned because of Y2K issues and lack of continued demand.

In 2000 SAS shipped Enterprise Guide and ported its software to LinuxLinux

Linux is a Unix-like computer operating system....
.

Version 7 series

The Output Delivery System debuted in version 7; as did long variable names (from 8 to 32 characters); storage of long character strings in variables (from 200 to 32,767); and a much improved built-in text editor, the Enhanced Editor.

Version 7 saw the synchronisation of features between the various platforms for a particular version number (which previously hadn't been the case).

Version 7 was a precursor to version 8. It was believed SAS Institute released a snapshot from their development on version 8 to meet a deadline promise. SAS Institute recommended that sites wait until version 8 before deploying the new software.

Version 8 series

Released about 1999; 8.0, 8.1, 8.2 were Unix, Microsoft Windows, CMS and z/OSZ/OS

z/OS is a 64-bit server operating system from IBM....
 releases. Key features: long variable names, Output Delivery System (ODS).

SAS 8.1 was released in 2000.

SAS 8.2 was released in 2001.

Version 9 series

In version 9, SAS Institute added the SAS Management Console, parallel processingParallel computing

Parallel computing is the simultaneous execution of the same task on multiple processors in order to obtain results fast...
, JavaObj, ODS OO (experimental as opposed to alpha), and National Language Support.

Again the SAS Institute recommended sites delay deployment until 9.1.

SAS Version 9 is running on Windows (32 & 64 bit), Unix (64 bit), Linux, and z/OS. Support for CMS was dropped.

SAS 9.1 was released in 2003.

SAS 9.1.2 was released in 2004.

SAS 9.1.3 was released in 2005.

SAS 9.2 is the latest release (March 2008) and was demonstrated at SAS Global Forum (previously called SUGI) 2008. A list of features added to this release of SAS can be seen at the "What's New in SAS" web page.

SAS 9.2 will be released incrementally in three phases:

1) MVA-based products eg. SAS/BASE, SAS/STAT, SAS/Graph. Nothing that relies on metadata. Limited availability from March 2008 because most users rely on the Metadata Server (see Phase 2) or products released in Phased 3.

2) Enterprise Intelligence Platform. Metadata Server for Business Intelligence (BI) and Data Integration. Availability from around August 2008.

3) Client software for metadata driven analytics and business solutions. Enterprise Miner, Text Miner, Model manager. Solutions include Financial, Retail, Health & Life Science. Availability unknown, probably 2nd Quarter 2009.


There are several important additions to base SAS in Version 9. The new hash object now allows functionality similar to the MERGE statement without sorting data or building formats. The function library was enlarged, and many functions have new parameters. Perl Regular Expressions are now supported, as opposed to the old "Regular Expression" facility, which was incompatible with most other implementations of Regular Expressions. Long format names are now supported.

Criticism

SAS had been criticized for its relatively poor graphics when compared with other statistical software packages. With the release of the Output Delivery System (ODS) for Statistical Graphics extension in SAS 7, the graphics have improved significantly. Critics also cite the existence of free alternatives (such as DAPDAP (software)

name = DAP| developer = GNU Project...
 and RR (programming language) Summary

The R programming language, sometimes described as "GNU S", is a programming language and software environment for statistic...
) that have similar statistics functionality. The development tools provided - which include the Enhanced text editor, log (especially for macro execution), DATA step debugger, SCL debugger - are also outdated compared to what other development environments provide.

External links




r>