How do I print only the first and the last observations of a dataset using the proc print?
You can't. You have to create a data set (or a view) containing the first and last observation. Luckily, that is not so difficult:
data want;
do _n_=1, _nobs_;
set have nobs=_nobs_ point=_n_;
output;
end;
stop;
run;
You can't. You have to create a data set (or a view) containing the first and last observation. Luckily, that is not so difficult:
data want;
do _n_=1, _nobs_;
set have nobs=_nobs_ point=_n_;
output;
end;
stop;
run;
Can you please explain me how this code works?
Here's how the pieces interact.
The NOBS= option on the SET statement creates a temporary variable, holding the number of observations in the data set.
Normally, the SET statement starts at the beginning of the data set and reads the next observation every time. The POINT= option changes that, reading the observation designated by the POINT= variable.
The OUTPUT statement outputs the current observation, without waiting for later DATA step processing to occur.
The STOP statement halts the DATA step, to prevent looping that would read the same observatiosn over and over again.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.