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.
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.