My data looks like what I have in the attached .csv file and I need to have both variables sorted in ascending order. I tried using "proc sort" and "proc sql order by" to get the CDates sorted, but I have not been successful. I am thinking somekind of do-loop should do the trick, but at this point I am out of ideas.
Can anyone offer any insight?
It works for me with your data.
DATA WORK.Example;
source_rec_num+1;
LENGTH
CouponDates 8
CDates 8 ;
FORMAT
CouponDates DATE9.
CDates DATE10. ;
INFORMAT
CouponDates YYMMDD10.
CDates YYMMDD10. ;
INFILE 'c:\temp\example.csv'
DLM=','
truncover
DSD
firstobs=2;
INPUT
CouponDates : ?? YYMMDD8.
CDates : ?? YYMMDD8. ;
RUN;
proc sort data=work.example;
by CouponDates CDates;
run;
data CDates_Not_Ascending;
set work.example;
if lag(CDates) > CDates then output;
run;
Also, given your date format (yymmdd.), sorting works even if you read the dates as character. - PG
April 27 – 30 | Gaylord Texan | Grapevine, Texas
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 save with the early bird rate—just $795!
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.