0% found this document useful (0 votes)
17 views6 pages

3 Infile Options

Uploaded by

veldandiajith
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views6 pages

3 Infile Options

Uploaded by

veldandiajith
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

/*infile options*/

/*dlm */

/*single delimeter file*/


data den;
input subid name$ age;
infile cards dlm='@';
cards;
101@ajith@12
102@rakesh@14
103@ramesh@13
run;
proc print data=den;
run;

/*multiple delimeter files*/


data dex;
input subid name$ age;
infile cards dlm='@ #';
cards;
101@ajith 12
102@rakesh@14
103#ramesh@13
run;
proc print data=dex;
run;

/*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;

TRUNCK OVER > as similar as missover.

/*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;

/*read external delimeter files using infile


option*/

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;

/*Format statement if we have multiple formats*/


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

just add another format statement in procedure block for results

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;

You might also like