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
;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.