BookmarkSubscribeRSS Feed
5 REPLIES 5
PGStats
Opal | Level 21

If you mean to read a dataset in reverse order, backwards from the end, here is one way:

 

data ssalc;
set sashelp.class(obs=1) nobs=nobs;
do i = nobs to 1 by -1;
    set sashelp.class point=i;
    output;
    end;
drop i;
run;
PG
WarrenKuhfeld
Ammonite | Level 13

Since NOBS=NOBS is taken care of at compile time, here is an alternative to @PGStats code.

 

data ssalc(drop=i);
   do i = nobs to 1 by -1;
      set sashelp.class point=i nobs=nobs;
      output;
   end;
   stop;
run;

 

PGStats
Opal | Level 21

Test it! I did.

 

It will work because it will hit the obs=1 limit after the first iteration. It's just another way to avoid an infinite loop.

PG
WarrenKuhfeld
Ammonite | Level 13

Sorry @PGStats, I stand corrected.  I will update that post.

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
  • 5 replies
  • 1607 views
  • 0 likes
  • 4 in conversation