3 Infile Options
3 Infile Options
/*dlm */
/*dsd*/
data mh;
infile cards dsd;
input pid visit$ drug $;
cards;
101,visit1,5mg
102,visit2,10mg
103,visit3, "15mg"
run;
proc print data=mh;
run;
/Missover/
data demo;
infile cards missover;
input bcode $ dcode $ eid des $ age salary;
cards;
b101 d100 101 tester 45 4500
b100 d100 101 programmer 45 4500
b100 d200 101 tester 45
b200 s100 102 programmer 45 6000
run;
proc print data=demo;
run;
/*firstobs obs*/
data imp_pt;
infile cards dsd firstobs=3;
input eid month salary;
cards;
101,1,4500
102,2,3000
103,3,2000
104,4,2000
105,4,2000
106,2,3000
107,5,5000
run;
proc print data=imp_pt;
run;
data dem;
infile 'C:\Users\LENOVO\Desktop\New folder\delimeter.txt' dsd;
input subid age salary;
run;
proc print data=dem;
run;
/*double trailing method*/
data desc;
infile cards;
input suid dose$ gender$ @@;
cards;
101 20mg m 102 20mg m 103 30mg f
run;
proc print data=desc;
run;
/*tab delimeter*/
data dex;
infile 'C:\Users\LENOVO\Desktop\New folder\Tab delimeter.txt' dlm='09'x;
input name$ age gender$;
run;
proc print data=dex;
run;
/*Format Statement*/
data int;
infile cards;
input pid sdate edate;
informat sdate edate ddmmyy10.;
format sdate edate ddmmyy10.;
cards;
101 01/10/1960 01/10/1962
102 01/10/1973 01/10/1984
103 01/10/1973 01/10/1974
run;
proc print data=int;
run;
/* date format*/
data intex_info;
infile cards;
input pid sdate edate;
informat sdate edate date9.;
format sdate edate date9.;
cards;
101 21feb1960 22mar1972
102 20may1967 25apr1999
103 07jun1984 13aug1973
run;
proc print data=intex_info;
run;
/*TIme format*/
data intex_infor;
infile cards;
input pid sdate edate;
informat sdate edate time8.;
format sdate edate time8.;
cards;
101 10:32:23 12:33:22
102 12:33:22 11:32:45
run;
proc print data=intex_infor;
run;
/*date and time format*/
data intex_informa;
infile cards;
input pid sdate edate sdatetime;
informat sdate edate time8. sdatetime datetime20.;
format sdate edate time8. sdatetime datetime20.;
cards;
101 10:32:23 12:33:22 09mar1967:12:33:22
102 12:33:22 11:32:45 12mar1972:10:33:22
run;
proc print data=intex_informa;
run;
Format techniques
/* percentw.
dollarw.*/
/*day. */
/*year.*/
/*month.*/
/*weekday.*/
/*downame.*/
/*worddate18.*/
/*weekdate24.*/
Date9.
Time10.
Datetime18.
Ddmmyy8.
Mmddyy8.
Yymmdd8.
eg;
data intex (label='intex info');
infile cards;
input pid sdate edate;
informat sdate edate ddmmyy10.;
format sdate edate ddmmyy8.;
cards;
101 01/10/1960 01/10/1962
102 01-10-1973 01:10:1984
103 01/10/1973 01101974
run;
proc print data=intex;
format sdate edate year.;
run;