Hi,
I have pharmacy claims data. I would like to keep the first record for each patient and each drug based on fill date. My data look like this:
Patid Drug Fill_date
Normally, if I was interested in only 1 drug, i would only keep those records, and then I would sort by patid and fill_date, then do something like this:
proc sort data=have; by patid drug fill_date; run;
data want;
data have;
by patid
if first.patid=1;
run;
But since I need the first patid AND drug, that will not work. How would this be done if I sorted by patid, drug, and fill_date?
Thanks!
Chris
You want each each new instance of drug in this case, so change your FIRST to be relative to the drug variable.
if first.drug;
Make sure your BY statement has at least both variables.
Sorry, I need the first of the drug for each unique patient ID. Does your method still work with that requirement?
Thanks!
Chris
Try it and let me know.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.