PROC RANK would allow you to do ranking using "dense". I've never used "decode()" and just looked it up in the Oracle documentation. From what I understand this would require some post processing of the result returned by PROC RANK (so an additional PROC SQL/Data Step on the output of the PROC RANK procedure via an additional pass through the data).
Catch up on SAS Innovate 2026
Nearly 200 sessions are now available on demand with the SAS Innovate Digital Pass.