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.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.