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;
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.