AFAIK, there is no descending() function in SAS, but there is a descending option for the by statement: http://documentation.sas.com/?docsetId=lestmtsref&docsetTarget=p0yeyftk8ftuckn1o5qzy53284gz.htm&docs...
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;
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;
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.
Sorry @PGStats, I stand corrected. I will update that post.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.