DATA Step, Macro, Functions and more

print only certain data values using _n_

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 5
Accepted Solution

print only certain data values using _n_

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

 


Accepted Solutions
Solution
‎10-04-2017 11:51 AM
Super User
Super User
Posts: 7,080

Re: print only certain data values using _n_

[ Edited ]

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;

 

View solution in original post


All Replies
Solution
‎10-04-2017 11:51 AM
Super User
Super User
Posts: 7,080

Re: print only certain data values using _n_

[ Edited ]

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;

 

PROC Star
Posts: 283

Re: print only certain data values using _n_

data want;
do p=4 to 10;
set sashelp.class point=p;
output;
end;
stop;
run;

Respected Advisor
Posts: 4,173

Re: print only certain data values using _n_

@variathu

proc print data=sashelp.class (firstobs=4 obs=10);
run;

 

Capture.JPG 

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 139 views
  • 3 likes
  • 4 in conversation