SAS programs are normally developed
within the Program Editor window. Nothing entered in this window is
processed, or read by SAS, until the program is submitted, or executed
(unlike commands). A SAS session
lasts until the user exits the SAS program.
Upon submission, the program disappears from the Program Editor
Window and any messages will appear in the Log window. After SAS
has finished processing the program, the Output window, with the
requested output, should be displayed on top of the other windows.
If there were problems in the processing, the Log window might instead
be displayed. In either case, though, the first thing that should
be done is to check the SAS log
for messages before reviewing the output. Note that the lines in
the log output and the page numbers in the output generated in the
Output window are numbered sequentially and cumulatively for the
entire SAS session. They are reset with each new SAS session.
If there are problems, the submitted program can be brought back
into the Program Editor window with a Recall
command, changes can be made (saving the revised program), and the
program can be re-submitted. The Output and Log windows should be
cleared first (Clear command)
so that new material is not mixed in with old material (all material
generated in both Log and Output windows are kept cumulatively throughout
the SAS session). If desired, the contents of any of the three windows
can be saved using the File/Save As commands.
A SAS program consists of SAS statements
which are constructed using SAS language, several
key characteristics of which are described below, followed by an
example program:
- Comment lines - are useful
for program documentation or for temporarily making SAS statements
non-executable. They instruct SAS to ignore material contained
within:
- /* and */
This can generally be used almost anywhere (e.g., within a SAS
statement).
/* This is an example. */
- * and ;
This can NOT be used within a SAS statement. To comment out
existing SAS statements (which already end with a ";"), simply
add * at the beginning
of a statement.
* This is an example. ;
Example of SAS Program Syntax
PROC FORMAT;
VALUE 'M' = 'Male'
'F' = 'Female';
RUN;
|
This PROC step is an example of
how to create labels for a gender variable consisting of M/F
values. PROC, FORMAT, VALUE, and RUN are the SAS keywords. There
are 3 statements in this 4-line program (the VALUE statement,
ending with ";" is 2 lines long). |
/* create a SAS data set*/
DATA new1;
/* read a SAS data set*/
SET original;
* keep only women ;
IF gender='F';
RUN;
|
This DATA step is an example of
creating a temporary data set called "new1" from a temporary
SAS data set created earlier in the SAS session called "original";
it instructs SAS to keep only females in the "new1" data set.
The two types of comments are also illustrated. |
PROC FREQ DATA=new1;
TABLES gender;
RUN;
|
This PROC step instructs SAS to
read the "new1" data set, and to create a table showing the
distribution of the gender variable. |
Program Development
A document prepared by the Manitoba Centre for Health Policy on
program development provides suggestions
on how to structure SAS code and what might be included in the program.
This sections builds on that document.
SAS code can be entered consecutively within the Program Editor
window to create a large program, or the code might reside in other
files that SAS can be instructed to find and process. The above
3 components in the table, for example, could be in 3 different
files on a floppy disk called study.fmt, prog.sas,
and analyses.sas. Two ways in which SAS could read and process
the files are:
- Open each file into the Program Editor window until all 3 are
present in the window. All code from each file will be seen in
the window. Note that SAS programs can be submitted in portions
(each of the above 3 components could be submitted separately)
or all at once, combining a number of DATA and PROC steps.
- Within the Program Editor window, use %include
to process each file, i.e., submit the following 3-line program:
%include 'a:\study.fmt';
%include 'a:\prog.sas';
%include 'a:\analyses.sas';
An important distinction between the two approaches is that the first
approach allows the exact code which generated the results to be seen
in the log. %include is used more
typically when code is used repeatedly or when the user is familiar
with the file(s) being included.
Home
General Guidelines: File Management |
NEXT
Debugging tips |
|