BookmarkSubscribeRSS Feed
SunilJ
Fluorite | Level 6

Hi,

Following is oracle query and I am trying to do it in SAS. I did not find any alternative. Can someone please help me in this, I really appreciate.

SELECT APPS.*,

DENSE_RANK() OVER (PARTITION BY APPS.APP_NBR ORDER BY APPS.V_RANK_DAYS2APP, ABS(V_RANK_DAYS2APP),

    DECODE(MATCHED_ON,7,1, 5,2, 3,3, 6,4, 1,5, 4,6, 2,7, 9), ROWNUM) AS V_DAYS2APP_RANK

FROM APPS

Thanks,

Sunny

1 REPLY 1
Patrick
Opal | Level 21

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).

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

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
  • 1 reply
  • 5433 views
  • 0 likes
  • 2 in conversation