I have a dataset containing 50 data values and want to print only 4th to 10th observations. How can i do this using _N_?
Thank you
Printing and _N_ are not really related concepts. The automatic variable _N_ can be used to keep track of how many times a data step has executed the implicit loop. Printing is normally done using a proc like PROC PRINT or PROC REPORT. You could make a subset of the data using a data step that references _N_ and print that.
data to_print;
set sashelp.class;
if 4 <= _n_ <=10 ;
run;
proc print;
run;
Since you just want one continuous range of observations you could use the FIRSTOBS= and OBS= dataset options to pick which observations you want to print, but that has nothing to do with the data step automatic variable _N_.
proc print data=sashelp.class (firstobs=4 obs=10);
run;
Printing and _N_ are not really related concepts. The automatic variable _N_ can be used to keep track of how many times a data step has executed the implicit loop. Printing is normally done using a proc like PROC PRINT or PROC REPORT. You could make a subset of the data using a data step that references _N_ and print that.
data to_print;
set sashelp.class;
if 4 <= _n_ <=10 ;
run;
proc print;
run;
Since you just want one continuous range of observations you could use the FIRSTOBS= and OBS= dataset options to pick which observations you want to print, but that has nothing to do with the data step automatic variable _N_.
proc print data=sashelp.class (firstobs=4 obs=10);
run;
data want;
do p=4 to 10;
set sashelp.class point=p;
output;
end;
stop;
run;
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.