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
;
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.