BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
vThanu
Calcite | Level 5

I want to import a file and in that file  I want to read only last 10 records (not sure how many observation/records we have in that file)?

 

thanks in advance..

1 ACCEPTED SOLUTION

Accepted Solutions
Ksharp
Super User
data want;
 set sashelp.class nobs=nobs;
 if _n_>nobs-10 ;
run;

View solution in original post

2 REPLIES 2
Ksharp
Super User
data want;
 set sashelp.class nobs=nobs;
 if _n_>nobs-10 ;
run;
Kurt_Bremser
Super User

After import, SAS knows the record number:

data want;
set imported nobs=all_obs;
if _n_ > all_obs - 10;
run;

If you absolutely want to do it in the import data step, you can use an external command:

filename oscmd pipe "wc -l &filename.";

data _null_;
infile oscmd;
input lines;
call symputx('lines',lines);
run;

data want;
infile "&filename." /* other options */;
input
........
;
if _n_ > &lines. - 10;
run;
How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 2054 views
  • 1 like
  • 3 in conversation