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
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.