specifies the number
of the first row to process in multiples of 1 (bytes); 1,024 (kilobytes);
1,048,576 (megabytes); or 1,073,741,824 (gigabytes). For example,
a value of 8 specifies the 8th row,
and a value of 3k specifies 3,072.
hexX
specifies the number
of the first row to process as a hexadecimal value. You must specify
the value beginning with a number (0-9), followed by an X. For example,
the value 2dx sets the 45th row as
the first row to process.
MIN
sets the number of
the first row to process to 1. This is the default.
MAX
sets the number of
the first row to process to the maximum number of rows in the data
set, up to the largest eight-byte, signed integer, which is 263-1,
or approximately 9.2 quintillion rows.
Details
The FIRSTOBS= data set
option affects a single, existing file. Use the FIRSTOBS= system option
to affect all steps for the duration of your current SAS session.
FIRSTOBS= is valid for
input (read) processing only. Specifying FIRSTOBS= is not valid for
output or update processing.
You can apply FIRSTOBS=
processing to WHERE processing.
Comparisons
The FIRSTOBS= data set option overrides
the FIRSTOBS= system option for the individual data set.
The FIRSTOBS= data set option specifies
a starting point for processing. The OBS= data set option specifies
an ending point.
When external files are read, the
FIRSTOBS= option in the INFILE statement specifies which record to
read first.
Examples
Example 1: Use FIRSTOBS= in PROC PRINT
This PROC step prints
the data set STUDY beginning with row 20:
data myfiles.study;
input char $ @@;
datalines;
aa bb cc dd ee ff gg
hh ii jj kk ll mm nn
oo pp qq rr ss tt uu
vv ww xx yy zz
;
proc print data=myfiles.study (firstobs=20);
run;
Example 2: Use FIRSTOBS= in the SET Statement
This SET statement uses
both FIRSTOBS= and OBS= to read only rows 5 through 10 from the data
set STUDY. Data set NEW contains six rows.