You are on page 1of 8

LIBNAME SR 'D:\my_pro\My Tables';

DATA SR.Demo;
INFILE 'D:\saroj\My data\RAW\sports.txt';
INPUT ID NAME$ SCORE;
RUN;
PROC PRINT DATA = SR.Demo;
RUN;

DATA SR.Demo1;
INFILE CARDS;
INPUT SNO TYPE$ CITY$ AMT;
CARDS;
1 A MUM 2000
2 B BAN 2300
;
RUN;
PROC PRINT;
RUN;

* LIST STYLE using CARDS ;

DATA SR.FOUR;
INFILE CARDS; * it is used to read data from program;
INPUT SNO TYPE$ CITY$ AMT ;
CARDS;
1 A MUM 2000
2 B BAN 2300
;
RUN;
PROC PRINT ;
RUN;

/* LIST INPUT STYLE */

DATA SR.FIVE;
INFILE CARDS;
INPUT ID NAME$ COLOR$ HT WT ;
CARDS;
1023 David red 189 165
1049 Amelia yellow 145 124
1219 Alan red 210 192
1246 Ravi yellow 194 177
1078 Ashley red 127 118
1221 Jim yellow 220 999
;
RUN;
PROC PRINT ;
RUN;

/* missing value in Number represented by . and in char it is blank space*/

DATA SR.FIVE;
INFILE CARDS;
INPUT ID NAME$ COLOR$ HT WT ;
CARDS;
1023 David . 189 165
1049 Amelia yellow . 124
1219 Alan red 210 192
. Ravi . 194 177
1078 Ashley red 127 118
1221 Jim yellow 220 999
;
RUN;
PROC PRINT ;
RUN;

/*In this program we missed some data like ---- > Amelia yellow 145 124 */
/*Bez it read red189 as a single value */

/* COLUMN INPUT*/

*COLUMN STYLE 1. RANGE */


/*Advantage ---> 1. missing value as a dot and blank */

DATA SR.FIVE;
INFILE CARDS;
INPUT ID 1-4 NAME $ 6-12 COLOR $ 13-19 HT 20-23 WT 24-27 ;
CARDS;
1023 David red 189 165
1049 Amelia yellow 145
1219 Alan red 210 192
1246 Ravi yellow 177
1078 Ashley red 127 118
1221 Jim yellow 220
;
RUN;
PROC PRINT ;
RUN;

/*Advantage ---> 2. we can read David Shaw as a one value */

DATA SR.FIVE;
INFILE CARDS;
INPUT ID 1-4 NAME$ 6-20 COLOR$ 25-30 HT 32-34 WT 36-38 ;
CARDS;
1023 David Shaw red 189 165
1049 Amelia Serrano yellow 145 124
1219 Alan Nance red 210 192
1246 Ravi Sinha yellow 194 177
1078 Ashley McKnight red 127 118
1221 Jim Brown yellow 220 999
;
RUN;
PROC PRINT ;
RUN;

/*Advantage ----> 3. no space is required in data value example 1023 10 is cdoe


value and 23 is amt value */

DATA SR.FIVE;
INFILE CARDS;
INPUT CODE 1-2 AMT 3-4 NAME$ 6-21 COLOR$ 25-31 HT 32-35 WT 36-39 ;
CARDS;
1023 David Shaw red 189 165
1049 Amelia Serrano yellow 145 124
1219 Alan Nance red 210 192
1246 Ravi Sinha yellow 194 177
1078 Ashley McKnight red 127 118
1221 Jim Brown yellow 220 999
;
RUN;
PROC PRINT ;
RUN;

/*we can read only specific variable means we can skip unwanted variables*/
/*In this program we r reading only NAME And COLOR variables*/

/*Coloum Style ----> 2. Width Style means specify the column width */

DATA SR.FIVE;
INFILE CARDS;
INPUT Code 1. Rank 3. company$ 3. Amt 3. Grade $ 1. ;
CARDS;
2458TCS854A
1245BOA999B
1111PCS777C
;
RUN;
PROC PRINT ;
RUN;

DATA SR.FIVE;
INFILE CARDS;
INPUT Code 1. +3 Rank 3. +3 company$ 3. +2 Amt 3. +4 Grade$ 1.;
CARDS;
2 458 TCS 854 A
1 245 BOA 999 B
1 111 PCS 777 C
;
RUN;
PROC PRINT ;
RUN;

/* we read only two column 1st was Code after skip 21 colunm and we read Grade */
/* column poiter ---> @ */
/* Start reading data from nth column*/

DATA SR.FIVE;
INFILE CARDS;
INPUT Code 1. @23 Grade$ 1. ; * read 1st column then move 23 colunm
first then read one column ;
CARDS;
2 458 TCS 854 A
1 245 BOA 999 B
1 111 PCS 777 C
;
RUN;
PROC PRINT ;
RUN;

/* FORMAT INPUT
*/

/* Informat ---> to read non-standerd


data into SAS*/

* Informat - we are using informat along with INPUT stat. ;

DATA SR.FIVE;
INFILE CARDS;
INPUT grade$ @6 city$ 9. @17 doj ddmmyy8. @26 sal comma5. @34 bonus dollar3.
rate rank ;
CARDS;
A BANGALORE 12-06-11 3,434 $23 98.9 123
B HYDERABAD 31-12-10 4,545 $88 -7.9 456
C MUMBAI 19-05-99 5,888 $87 6.3 789
RUN;
PROC PRINT ;
RUN;
/*By default SAS read only 8 char and in city total char are 11 so spefy width that
is 11.*/

DATA SR.FIVE;
INFILE CARDS;
INPUT City$ 11. @13 Date @21 NO ;
INFORMAT Date Date7. ;
CARDS;
Japan 13may89 8
Greece 17oct89 12
New Zealand 03feb90 16
Brazil 28feb90 8
Venezuela 10nov89 9
Italy 25apr89 8
USSR 03jun89 14
Switzerland 14jan90 9
Australia 24oct89 12
Ireland 27may89 7
RUN;
PROC PRINT ;
RUN;

/*it will read Non standerd Data*/

DATA SR.FIVE;
INFILE CARDS;
INPUT grade$ @6 city$ 9. @17 date @26 sal @34 bon rate rank ;
INFORMAT date ddmmyy8. sal comma5. bon dollar3.;
CARDS;
A BANGALORE 12-06-11 3,434 $23 98.9 123
B HYDERABAD 31-12-10 4,545 $88 -7.9 456
C MUMBAI 19-05-99 5,888 $87 6.3 789
RUN;
PROC PRINT ;
RUN;

/* SAS was developed in 1 jan 1960 and it counts date in a nos of days */

/*Format ----> present non standerd data accoring to user */


/* we want date in ddmmyy so use FORMAT */

DATA SR.FIVE;
INFILE CARDS; *to read data from program;
INPUT ID 3. @5 Date ; *create variables;
INFORMAT Date DATE11. ; *to read non standred data into SAS;
FORMAT Date mmddyy10.; *which format u want ;
CARDS;
101 01-JAN-1959
102 01-JAN-1960
103 01-JAN-1961
104 26-JAN-2014
105 25-FEB-2016
106 02-JAN-1960
107 31-DEC-1959
;
RUN;
/* FORMAT is use to print all date in a specific formate like ddmmyy etc...*/

DATA SR.FIVE;
INFILE CARDS;
INPUT ID @5 d1 @17 d2 @26 d3 @35 d4 ;
INFORMAT d1 DATE11. d2 ddmmyy8. d3 ddmmyy8. d4 yymmdd6. ;
FORMAT d1 ddmmyy10. d2 ddmmyy10. d3 ddmmyy10. d4 ddmmyy10.;
CARDS;
101 01-JAN-1959 01-01-59 01011959 590101
102 01-JAN-1960 01-01-60 01011960 600101
103 01-JAN-1961 01-01-61 01011961 610101
104 07-oct-2014 07-10-14 07102014 141007
;
RUN;
PROC PRINT ;
RUN;

/* Modifiers */

/* If data is not arranging properly then we use MODIFIER*/

DATA SR.FIVE;
INFILE CARDS;
INPUT veh $ 10. @17 price ;
INFORMAT price comma5. ;
FORMAT price comma5.;
CARDS;
trucks 1,382
jeeps 1,235
landrovers 2,391
;
RUN;
PROC PRINT ;
RUN;

/*: means => tell SAS to stop reading data whenever space is encounter */

DATA SR.FIVE;
INFILE CARDS;
INPUT veh$:10. price ;
INFORMAT price comma5. ;
FORMAT price comma5.;
CARDS;
trucks 1,382
jeeps 1,235
landrovers 2,391
;
RUN;
PROC PRINT ;
RUN;
/*in this program we r not using : so sas not read data properly */

DATA SR.Demo;
INFILE CARDS;
INPUT veh $10. price ;
INFORMAT price comma5. ;
FORMAT price comma5.;
CARDS;
trucks 1,382
jeeps 1,235
landrovers 2,391
;
RUN;
PROC PRINT ;
RUN;

/* & means => tell SAS to stop reading data whenever Double space is encounter */

DATA SR.FIVE;
INFILE CARDS;
INPUT veh $&11. price ;
INFORMAT price comma5. ;
FORMAT price comma5.;
CARDS;
trucks 1,382
jeeps 1,235
land rovers 2,391
;
RUN;
PROC PRINT ;
RUN;

/* # => tells SAS to jump to nth line */

DATA SR.FIVE;
INFILE CARDS;
INPUT ID #3 hight ;
CARDS;
1023 David Shaw
red
189 165
1049 Amelia Serrano
yellow
145 124
1219 Alan Nance
red
210 192
1246 Ravi Sinha
yellow
194 177
1078 Ashley McKnight
red
127 118
1221 Jim Brown
yellow
220 .
;
RUN;
PROC PRINT ;
RUN;

You might also like