I have the following the DATASET, I have put 2 spaces between the values of ID & Date and Date & Flag. I am not getting the desired result but the year (i.e. 16 is getting assigned to the FLAG variable) WHEREAS if I am putting only 1 space between ID & Date and Date & Flag then my answer is as desire. Please explain why this is happening.
data readin ;
input id date ddmmyy8. flag $ ;
format date ddmmyy8. ;
cards;
1 30/12/16 Y
1 30-08-17 N
1 31-08-18 N
2 30-06-16 Y
2 31-12-18 N
;run;
You are using formatted INPUT, but you have columns that are separated by a delimiter (blank). For this, you need list INPUT.
To use list input with informats, you need to use the colon modifier on the informats:
data readin;
input id date :ddmmyy8. flag $;
format date ddmmyy8.;
cards;
1 30/12/16 Y
1 30-08-17 N
1 31-08-18 N
2 30-06-16 Y
2 31-12-18 N
;
You are using formatted INPUT, but you have columns that are separated by a delimiter (blank). For this, you need list INPUT.
To use list input with informats, you need to use the colon modifier on the informats:
data readin;
input id date :ddmmyy8. flag $;
format date ddmmyy8.;
cards;
1 30/12/16 Y
1 30-08-17 N
1 31-08-18 N
2 30-06-16 Y
2 31-12-18 N
;
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.