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;
Catch up on SAS Innovate 2026
Nearly 200 sessions are now available on demand with the SAS Innovate Digital Pass.