You are on page 1of 12

/*Environments where SAS Runs*/

Data Bank;
Accno = 101;
CName= 'Sindhu';
Deposit= 50000;
Run;
proc print data=bank;
run;

/*System Options in SAS*/

/*1.centre/nocentre*/
/*2.Date/Noddate*/
/*3.linesize=n*/
/*4.number/nonumber*/
/*5.pageno=n*/

options centre date number pageno=51 linesize=190;


proc print data=bank;
run;

/*STEP BOUNDARIES IN SAS*/

/*1.DATA STEP BOUNDARIES*/


/*2.PROC STEP BOUNDARIES*/

Data Bank;
Accno = 101;
CName= 'Sindhu';
Deposit= 50000;
RUN;
PROC PRINT DATA=BANK;
RUN;

/*RUN GROUP PROCESSING*/

DATA MARKS;
INPUT SCI MATH;
DATALINES;
56 78
78 90
52 45
70 80
39 65
;
PROC PRINT DATA=MARKS;
RUN;

PROC CORR DATA=MARKS OUTP=M1;


RUN;
PROC REG DATA=MARKS;

MODEL MATH=SCI;
RUN;

MODEL SCI=MATH ;
RUN;

DATA MARKS;
INPUT Soc GK;
DATALINES;
56 78
78 90
52 45
70 80
39 65
;
PROC CORR DATA=MARKS OUTP=M1;
RUN;
/* Environments where SAS Runs*/

Data Bank;
Accno = 101;
CName= 'Sindhu';
Deposit= 50000;
Run;

PROC PRINT DATA=BANK;


RUN;

/*UNIT - 2*/

/*ADVANCED INPUT FEATURES*/

/*DATA */

NAME=RAVI
AGE=27
PLACE=CHENNAI
QUALIFICATION=MBA
STATE=TAMIL NADU

/*RAW DATA*/

/*RAVI,27,CHENNAI,MBA,TAMIL NADU*/
/**/
/*INTERNAL RAW DATA*/
/*EXTERNAL RAW DATA*/
/*SYNTAX OF DATA STEP(INTERNAL RAW DATA)*/
/**/
/*DATA <LIBNAME>.<DSN>;*/
/*INFILE DATALINES <OPTIONS>;*/
/*INPUT <VAR1> $ <VAR2> .....;*/
/*DATALINES;*/
/*----------*/
/*---------*/
/*---------*/
/*; */
/*RUN;*/

/*INFILE STATEMENT OPTIONS*/

/*1.DSD*/
/*2.DLM*/
/*3.MISSOVER*/
/*4.TRUNCOVER*/
/*5.FIRSTOBS=m*/
/*6.OBS=n*/ ;

DATA EMP;
INFILE DATALINES;
INPUT EMPID $ DESIGN $ SAL;
DATALINES;
A001 ANALYST 40000
A002 HR 60000
A003 MANAGER 90000
;
RUN;
DATA SATHYA.EMP1;
INFILE DATALINES;
INPUT EMPID $ DESIGN $ SAL;
DATALINES;
A001 ANALYST 40000
A002 HR 60000
A003 MANAGER 90000
;
RUN;

DATA SATHYA.EMP2;
INFILE CARDS;
INPUT EMPID $ DESIGN $ SAL;
CARDS;
A001 ANALYST 40000
A002 HR 60000
A003 MANAGER 90000
;
RUN;
PROC PRINT DATA=SATHYA.EMP2;
RUN;
DATA SATHYA.EMP3;
INPUT EMPID $ DESIGN $ SAL;
CARDS;
A001 ANALYST 40000
A002 HR 60000
A003 MANAGER 90000
;
RUN;
PROC PRINT DATA=SATHYA.EMP3;
RUN;
DATA SATHYA.EMP4;
INPUT EMPID $ DESIGN $ SAL;
CARDS;
A001 ANALYST 40000
A002 HR 60000
A003 MANAGER 90000
;
PROC PRINT DATA=SATHYA.EMP4;
RUN;

/*SYNTAX OF DATA STEP(EXTERNAL RAW DATA)*/


/**/
/*DATA <LIBNAME>.<DSN>;*/
/*INFILE DATALINES <OPTIONS>;*/
/*INPUT <VAR1> $ <VAR2> .....;*/
/*DATALINES;*/
/*----------*/
/*---------*/
/*---------*/
/*; */
/*RUN;*/

DATA SATHYA.EMP5;
INFILE "C:\Users\system1\Desktop\EMPL.TXT";
INPUT EMPID $ DESIGN $ SAL ;
RUN;
PROC PRINT DATA=SATHYA.EMP5;
RUN;

DATA SATHYA.BMP1;
INFILE CARDS;
INPUT EMPID $ DESIGN $ SAL;
CARDS;
BB001 ANALYST 40000
BB002 HR 60000
BB003 MANAGER 90000
;
RUN;

PROC PRINT DATA=SATHYA.BMP1;


RUN;
DATA SATHYA.BMP2;
INFILE "C:\Users\system1\Documents\NOTE.1.TXT";
INPUT EMPID $ DESIGN $ SAL ;
RUN;
PROC PRINT DATA=SATHYA.BMP2;
RUN;

/*INPUT STYLES*/

/*1.LIST INPUT*/
/*2.FORMATTED INPUT*/
/*3.COLUMN INPUT*/
/*4.MIXED INPUT*/

/*1.LIST INPUT*/

/*STANDARD NON STANDARD NUMERIC*/


/**/
/*O-9 (907)*/
/*+/- 2,768*/
/*. $5600*/
/*E DATE AND TIME */
/* BINARY,HEXADECIMAL etc.*/
/**/
/*/*Infile statement options*/*/
/**/
/*1.DSD*/

/*Delimiter Sensitivity Data*/ ;

DATA SATHYA.BMP5;
INFILE CARDS dsd;
INPUT EMPID $ DESIGN $ SAL;
CARDS;
BB001,ANALYST,40000
BB002,HR,60000
BB003,MANAGER,90000
;
RUN;

PROC PRINT DATA=SATHYA.BMP5;


RUN;

DATA SATHYA.BMP6;
INFILE CARDS dsd;
INPUT EMPID $ DESIGN $ SAL;
CARDS;
BB001, ANALYST ,40000
BB002,HR, 60000
BB003,MANAGER,90000
;
RUN;
PROC PRINT DATA=SATHYA.BMP6;
RUN;
DATA SATHYA.BMP7;
INFILE CARDS dsd;
INPUT EMPID $ DESIGN $ SAL;
CARDS;
BB001,,40000
BB002,HR,60000
BB003,MANAGER,90000
;
RUN;

PROC PRINT DATA=SATHYA.BMP7;


RUN;
DATA SATHYA.BMP8;
INFILE CARDS dsd;
INPUT EMPID $ DESIGN $ SAL;
CARDS;
BB001,"ANALYST",40000
BB002,HR,60000
BB003,MANAGER,'90000'
;
RUN;

PROC PRINT DATA=SATHYA.BMP8;


RUN;

/*2.dlm*/

/* delimiter*/

DATA SATHYA.BMP9;
INFILE CARDS dlm=',:$ ';
INPUT EMPID $ DESIGN $ SAL;
CARDS;
BB001,ANALYST:40000
BB002$HR, 60000
BB003,MANAGER,,90000
;
RUN;

PROC PRINT DATA=SATHYA.BMP9;


RUN;

/*3.MISSOVER*/

DATA SATHYA.BMP10;
INFILE CARDS MISSOVER;
INPUT EMPID $ DESIGN $ SAL;
CARDS;
BB001 ANALYST
BB002
BB003 MANAGER 90000
;
RUN;
PROC PRINT DATA=SATHYA.BMP10;
RUN;

/*4.Truncover*/

DATA SATHYA.BMP11;
INFILE CARDS truncover;
INPUT EMPID $ DESIGN $ SAL;
CARDS;
BB001 ANALYST
BB002
BB003 MANAGER 90000
;
RUN;
PROC PRINT DATA=SATHYA.BMP11;
RUN;

/*5.Firstobs=m*/

DATA SATHYA.BMP1;
INFILE CARDS firstobs=3;
INPUT EMPID $ DESIGN $ SAL;
CARDS;
BB001 ANALYST 40000
BB002 HR 60000
BB003 MANAGER 90000
jjoo1 ghj 89000
jhk90 klj 70000
;
RUN;

PROC PRINT DATA=SATHYA.BMP1;


RUN;

/*6.Obs=n*/

DATA SATHYA.BMP1;
INFILE CARDS obs=4;
INPUT EMPID $ DESIGN $ SAL;
CARDS;
BB001 ANALYST 40000
BB002 HR 60000
BB003 MANAGER 90000
jjoo1 ghj 89000
jhk90 klj 70000
;
RUN;
PROC PRINT DATA=SATHYA.BMP1;
RUN;

DATA SATHYA.BMP1;
INFILE CARDS firstobs=2 obs=4;
INPUT EMPID $ DESIGN $ SAL;
CARDS;
BB001 ANALYST 40000
BB002 HR 60000
BB003 MANAGER 90000
jjoo1 ghj 89000
jhk90 klj 70000
;
RUN;
PROC PRINT DATA=SATHYA.BMP1;
RUN;

/*2.Formatted Input Style*/

/*Character SAS Format example Application*/


/**/
/* $w. $4. anil*/
/**/
/*Numeric SAS Format example Application*/
/**/
/* w. 4. 7859*/
/**/
/* w.d 5.1 674.1*/
/**/
/* commaw. comma5.
4,595*/
/**/
/* commaw.d comma9.2
78,906.35*/
/**/
/* dollarw. dollar7.
$81,432*/
/**/
/* dollarw.d dollar10.2
$67,890.74*/
/**/
/* commaxw. commax6.
56.890*/
/**/
/* commaxw.d commax8.2
7.987,56*/
/**/
/* dollarxw. dollarx7.
$81.432*/
/**/
/* dollarxw.d dollarx10.2
$67.890,74*/
/**/
/* eurow. euro6.
E7.897*/
/**/
/* eurow.d euro10.2
e89.908,76*/
/**/
/**/
/* Date SAS Format Example
Application*/
/**/
/* DDMMYYW. DDMMYY10.
21/09/1989*/
/**/
/* DDMMYY8.
21/09/89*/
/**/
/* DDMMYY6.
210989*/
/**/
/**/
/* MMDDYYW. MMDDYY10.
09/21/1989 */
/**/
/* MMDDYY8.
09/21/89*/
/**/
/* MMDDYY6.
092189*/
/**/
/**/
/* DATEW. DATE9.
21SEP1989*/
/**/
/* DATE7.
21SEP89*/
/**/
/**/
/* TIME SAS FORMAT EXAMPLE
APPLICATION*/
/**/
/* TIMEW. TIME8.
15:09:32*/
/**/
/* TIME5.
15:09*/
/**/
/**/
/* DATETIMEW. DATYETIME17.
21SEP1989::15:09:32*/
/**/
/**/
/**/
/*/* advanced input pointers*/*/
/**/
/*Advanced input pointers*/
/*there are 4
1. Absolute column pointers(@n):It is used to provide input pointers
the particular column number
for the variables in the input statement from there SAS has to read
the values. N indicate sh column number.
It is used in formatted input style, column input style and in the
mixed input style.

2. Relative column pointers


3. Forward slash pointer
4. Hash pointer*/

Data Railways;
Input @1 Trno 5. @6 Trname $9. @15 Category $9. @24 Arr time5. @29 Dep
time5. @34 Pf 1.;
datalines;
12021Rajdhani Express 07:1507:201
32021Kakinada Superfast09:2009:223
78901GorakhpurGaribRath11:1011:155
;
proc print data=Railways;
format arr dep time5.;
run;

data railways_1;
Input @1 trno 5. @6 trname $10. @16 category $7. @23 arr time5. @28
dep time5. @33 pf 1.;
datalines;
12304dehradun express17:1511:251
12303chennai express19:2019:252
14032cormonadelexpress11:2511:303
;
proc print data=Railways_1;
format arr dep time5.;
run;

data student_details;
input studid stud_name$ course$ DOJ;
informat DOJ ddmmyyyy10.; /* Informat <variable_name> <informat>;*/
datalines;
101 Arpita SAS 10/10/2016
102 Shashi SAS 11/10/2016
103 Sam SPSS 12/10/2016
;
proc print data=student_details;
format DOJ ddmmyy10.;
run;

/*Relative Column Pointer

It is used to read the raw data if equal width exists between the
values of the raw data symbol(+n). Here the n indicates the number of
blank spaces in between the values. It is used in formatted, column
and mixed input styles*/

data railways_2;
Input @1 trno 5. +1 @7 trname $10. @16 category $7. @23 arr time5. @28
dep time5. @33 pf 1.;
datalines;
12304 dehradun express 17:15 11:25 1
12303 chennai express 19:20 19:25 2
14032 cormonadel express 11:25 11:30 3
;
proc print data=Railways_2;
format arr dep time5.;
run;

/* Column Input Styles*/

/*It is uesd to read the raw data if the values are non delimited and
standard*/

/* Width method (W.)*/

data railways_3;
Input @1 trno 5. @6 trname $ 10. @16 category $ 7. @23 pf 1.;
datalines;
12304dehradun express1
12303chennai express2
14032cormonadelexpress3
;
proc print data=Railways_3;
run;

/*Range Method*/

data railways_4;
Input trno 1-5 trname $ 6-15 category $ 16-22 pf 23;
datalines;
12304dehradun express1
12303chennai express2
14032cormonadelexpress3
;
proc print data=Railways_4;
run;
/*Mixed input style*/

/*It is used to read the raw data if the raw data is in the form of
list input, formatted input and column input styles together*/

Data transport;
input mode $ @7 dist $ 7. @14 place $9. @23 dt date9.;
datalines;
bus 7600kmspondy 31aug2005
lorry 5400kmssikkim 26apr2003
tempo 3900kmsrajasthan15mar2007
;
proc print data=transport;
format dt date9.;
run;

/*Advanced input pointers*/

/*Forward slash pointer (/) */

/*It is used to skip number of observations based on number of forward


slashes. It is applied in the input statement before or after all the
variables. It can be used in all the input styles. */

Data metals;
input metal $ Symbol $ / ;
datalines;
Gold AU
Silver AG
Copper CU
Alumini AL
Iron FE
Lead PB
;
Proc Print data=Metals;
run;

You might also like