Well, retain priority (typo>??), in a datastep, so that it appears on each row (if you don't want to keep it then new variable). Then sort by priority and 30 min:
data want;
set have;
retain all_priority;
if _n_=1 or priority ne . then all_priority=priority;
run;
proc sort data=want;
by all_priority 30_min;
run;
Ready to join fellow brilliant minds for the SAS Hackathon?
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.