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;
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.