I think you want first.dose as you want the first occurence of dosedate within a dose, correct? But WHICH dose dates are missing? If you sorted your data by usubjid dose and dosedate then the first dosedate(s) would be the missing ones.
I might look at
Proc summary data=lab1 nway;
class usubjid dose;
where dosedate ne .; var dosedate;
output lab min(dosedate) = firstdosedate;
run;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Registration is open
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss. Register now and lock in 2025 pricing—just $495!