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;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.