Previous Page | Next Page

Fundamental Concepts for Using Base SAS Procedures

Language Concepts


Temporary and Permanent SAS Data Sets


Naming SAS Data Sets

SAS data sets can have a one-level name or a two-level name. Typically, names of temporary SAS data sets have only one level and are stored in the WORK library. The WORK library is defined automatically at the beginning of the SAS session and is deleted automatically at the end of the SAS session. Procedures assume that SAS data sets that are specified with a one-level name are to be read from or written to the WORK library. To indicate otherwise, you specify a USER library (see USER Library). For example, the following PROC PRINT steps are equivalent. The second PROC PRINT step assumes that the DEBATE data set is in the WORK library.

proc print data=work.debate;
run;

proc print data=debate;
run;

The SAS system options WORK=, WORKINIT, and WORKTERM affect how you work with temporary and permanent libraries. See the SAS Language Reference: Dictionary for complete documentation.

Typically, two-level names represent permanent SAS data sets. A two-level name takes the form libref.SAS-data-set. The libref is a name that is temporarily associated with a SAS library. A SAS library is an external storage location that stores SAS data sets in your operating environment. A LIBNAME statement associates the libref with the SAS library. In the following PROC PRINT step, PROCLIB is the libref and EMP is the SAS data set within the library:

libname proclib 'SAS-library';
proc print data=proclib.emp;
run;


USER Library

You can use one-level names for permanent SAS data sets by specifying a USER library. You can assign a USER library with a LIBNAME statement or with the SAS system option USER=. After you specify a USER library, the procedure assumes that data sets with one-level names are in the USER library instead of the WORK library. For example, the following PROC PRINT step assumes that DEBATE is in the USER library:

options user='SAS-library';
proc print data=debate;
run;

Note: If you have a USER library defined, then you can still use the WORK library by specifying WORK.SAS-data-set.


SAS System Options

Some SAS system option settings affect procedure output. The SAS system options listed below are the options that you are most likely to use with SAS procedures:

BYLINE|NOBYLINE

DATE|NODATE

DETAILS|NODETAILS

FMTERR|NOFMTERR

FORMCHAR=

FORMDLIM=

LABEL|NOLABEL

LINESIZE=

NUMBER|NONUMBER

PAGENO=

PAGESIZE=

REPLACE|NOREPLACE

SOURCE|NOSOURCE

For a complete description of SAS system options, see the SAS Language Reference: Dictionary.


Data Set Options

Most of the procedures that read data sets or create output data sets accept data set options. SAS data set options appear in parentheses after the data set specification. Here is an example:

proc print data=stocks(obs=25 pw=green);

The individual procedure chapters contain reminders that you can use data set options where it is appropriate.

SAS data set options are as follows:

ALTER= OBS=
BUFNO= OBSBUF=
BUFSIZE= OUTREP=
CNTLLEV= POINTOBS=
COMPRESS= PW=
DLDMGACTION= PWREQ=
DROP= READ=
ENCODING= RENAME=
ENCRYPT= REPEMPTY=
FILECLOSE= REPLACE=
FIRSTOBS= REUSE=
GENMAX= SORTEDBY=
GENNUM= SPILL=
IDXNAME= TOBSNO=
IDXWHERE= TYPE=
IN= WHERE=
INDEX= WHEREUP=
KEEP= WRITE=
LABEL=

For a complete description of SAS data set options, see the SAS Language Reference: Dictionary.


Global Statements

You can use these global statements anywhere in SAS programs except after a DATALINES, CARDS, or PARMCARDS statement:

comment ODS
DM OPTIONS
ENDSAS PAGE
FILENAME RUN
FOOTNOTE %RUN
%INCLUDE SASFILE
LIBNAME SKIP
%LIST TITLE
LOCK X

For information about all but the ODS statement, refer to the SAS Language Reference: Dictionary. For information about the ODS statement, refer to the Output Delivery System and to SAS Output Delivery System: User's Guide.

Previous Page | Next Page | Top of Page