This always works for me - basically turn it into text, substring it into the month, day and year and then create it as a date. Sounds complicated, but it's only 3 lines. data want; format textdate $8. anncmt date9.; set have (rename=(anncmt=old_anncmt)); textdate=old_anncmt; anncmt=mdy(substr(textdate,5,2),substr(textdate,7,2), substr(textdate,1,4)); run; you might want to drop textdate from your output but I've left it in so you can see what's going on. BY the way, I noticed your permno variable isn't coming in properly, SAS thinks it's a number. You just need to put a $ in there to make it text. Sara
... View more