Most SAS data set options apply to either input or output
SAS data sets in DATA steps or procedure (PROC) steps. If a data set
option is associated with an input data set, the action applies to
the data set that is being read. If the data set option appears in
the DATA statement or after an output data set specification in a
PROC step, SAS applies the action to the output data set. In the DATA
step, data set options for output data sets must appear in the DATA
statement, not in any OUTPUT statements that might be present.
Some data set options,
such as COMPRESS=, are meaningful only when you create a SAS data
set because they set attributes that exist for the duration of the
data set. To change or cancel most data set options, you must re-create
the data set. You can change other options (such as PW= and LABEL=)
with PROC DATASETS. For more information, see
DATASETS Procedure in Base SAS Procedures Guide.
When data set options
appear in input and output data sets in the same DATA or PROC step,
SAS first applies data set options to input data sets. Then SAS evaluates
programming statements or applies data set options to output data
sets. Likewise, data set options that are specified for the data set
that is being created are applied after programming statements are
processed. For example, when you are using the RENAME= data set option,
the new names are not associated with the variables until the DATA
step ends.
In some instances, data
set options conflict when they are used in the same statement. For
example, you cannot specify the DROP= and KEEP= data set options for
the same variable in the same statement. Timing can also be an issue
in some cases. For example, if you are using KEEP= and RENAME= on
a data set that is specified in the SET statement, KEEP= needs to
use the original variable names. SAS processes KEEP= before the data
set is read. The new names that are specified in RENAME= apply to
the programming statements that follow the SET statement.