I have this dataset:
data x;
infile datalines;
input id r2d2 price;
datalines;
15 12 10
15 12 14
22 17 12
88 16 23
22 17 10
22 15 34
88 15 95
;;
run;
What I'd like to do is - for observations that have the same value for r2d2, I want to output only the observation with the lowest price. How would I go about doing this
An SQL solution
--- UNTESTED CODE ----
proc sql; create table new as select * from x group by r2d2 having price=min(price); quit;
Sort the data so that the smallest value is first and then use SAS FIRST logic to keep the record.
An SQL solution
--- UNTESTED CODE ----
proc sql; create table new as select * from x group by r2d2 having price=min(price); quit;
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.
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.