[go: up one dir, main page]

0% found this document useful (0 votes)
127 views7 pages

Step Boundaries

This document discusses step boundaries and input features in SAS. It defines step boundaries as points where SAS recognizes the completion of a step, such as data step boundaries being data and run statements or proc step boundaries being proc and run or quit statements. It also demonstrates different input styles like list, formatted, and column input as well as infile statement options like DSD and DLM to specify delimiter characters.

Uploaded by

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

Step Boundaries

This document discusses step boundaries and input features in SAS. It defines step boundaries as points where SAS recognizes the completion of a step, such as data step boundaries being data and run statements or proc step boundaries being proc and run or quit statements. It also demonstrates different input styles like list, formatted, and column input as well as infile statement options like DSD and DLM to specify delimiter characters.

Uploaded by

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

/*Step Boundaries in SAS*/

/A Point at which SAS recognizes the step is completed is called step boundaries.
SAS contains two step boundaries
a) Data step boundaries - Data and run are the data step boundaries
b) Proc Step boundaries - proc and run or quit are the proc step boundaries.*/

Data test;
a=25;
b=50;
c=a+b;
run;

/*Run Group Processing;*/

/*It is used to execute the procedures with the help of run groups*/

Data Marks;
input Math Sci;
datalines;
45 67
72 80
39 62
96 80
49 52
;
proc print data=marks;
run;

proc corr data=marks outp=m1;


run;

proc reg data=marks outest=m2;


model sci=math; } /* run group 1 */
run; }
model math=sci; } /* run group 2 */
run; }
quit;
/* UNIT - 2*/

/*Advanced Input Features*/

/*Data*/

/*Eid=A001*/
/*Ename=Anil*/
/*Egen=Male*/
/*Eage=27*/
/*Edesign=Analyst*/
/*Esal=50000*/

/*Raw Data*/

/*A001,Anil,Male,27,Analyst,50000*/

/*Syntax for Data Step(Internal raw data):*/

/*Data <libname>.<dsn>;*/
/*Infile datalines <options>;*/
/*Input <Var1> $ <var2> ......;*/
/*Datalines;*/
/*---------*/
/*---------*/
/*---------*/
/*;*/
/*Run;*/

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

Data Emp;
Infile datalines;
Input Eid $ Edesign $ Esal;
datalines;
A001 Analyst 50000
A002 Hr 70000
A003 Manager 120000
;
Run;
Proc print data=Emp;
run;

Data Emp1;
Infile cards;
Input Eid $ Edesign $ Esal;
cards;
A001 Analyst 50000
A002 Hr 70000
A003 Manager 120000
;
Proc print data=Emp1;
run;

Data Emp3;
Input Eid $ Edesign $ Esal;
cards;
A001 Associate 50000
A002 Hr 70000
A003 Manager 120000
;
Proc print data=Emp3;
run;

/*Input Styles*/

/*1.List input*/
/*2.Formatted input*/
/*3.Column input*/
/*4.Mixed input*/

/*Standard Numeric Non Standard NUmeric*/


/**/
/* 0-9 (567)*/
/* +/- 1,093*/
/* E $3678*/
/* . Date and Time*/
/* binary,hexadecimal etc.*/
/**/

Data Emp3;
Input Eid $ Edesign $ Esal;
cards;
A001 Associate 50000
A002 Hr 70000
A003 Manager 120000
;
Proc print data=Emp3;
run;

/*Infile statement options*/

/*1.DSD */

Data Emp4;
INFILE CARDS DSD;
Input Eid $ Edesign $ Esal;
cards;
A001,Associate,50000
A002,Hr,70000
A003,Manager,120000
;
Proc print data=Emp4;
run;

Data Emp5;
INFILE CARDS DSD;
Input Eid $ Edesign $ Esal;
cards;
A001, Associate,50000
A002,Hr ,70000
A003,Manager,120000
;
Proc print data=Emp5;
run;

Data Emp6;
INFILE CARDS DSD;
Input Eid $ Edesign $ Esal;
cards;
A001,,50000
A002,Hr,70000
A003,Manager,120000
;
Proc print data=Emp6;
run;

Data Emp7;
INFILE CARDS DSD;
Input Eid $ Edesign $ Esal;
cards;
A001,"Associate",50000
A002,Hr,70000
A003,Manager,'120000'
;
Proc print data=Emp7;
run;

/*2.DLM*/

Data Emp8;
INFILE CARDS DLM=',:@&* ';
Input Eid $ Edesign $ Esal;
cards;
A001,Associate:50000
A002@@Hr&*70000
A003:&Manager, 120000
;
Proc print data=Emp8;
run;

/*Step Boundaries in SAS*/

Data test;
a=25;
b=50;
c=a+b;
run;

/*Run Group Processing;*/

Data Marks;
input Math Sci;
datalines;
45 67
72 80
39 62
96 80
49 52
;
proc print data=marks;
run;

proc corr data=marks outp=m1;


run;

proc reg data=marks outest=m2;


model sci=math;
run;
model math=sci;
run;
quit;
/* UNIT - 2*/

/*Advanced Input Features*/

/*Data*/

/*Eid=A001*/
/*Ename=Anil*/
/*Egen=Male*/
/*Eage=27*/
/*Edesign=Analyst*/
/*Esal=50000*/

/*Raw Data*/

/*A001,Anil,Male,27,Analyst,50000*/

/*Syntax for Data Step(Internal raw data):*/

/*Data <libname>.<dsn>;*/
/*Infile datalines <options>;*/
/*Input <Var1> $ <var2> ......;*/
/*Datalines;*/
/*---------*/
/*---------*/
/*---------*/
/*;*/
/*Run;*/

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

Data Emp;
Infile datalines;
Input Eid $ Edesign $ Esal;
datalines;
A001 Analyst 50000
A002 Hr 70000
A003 Manager 120000
;
Run;
Proc print data=Emp;
run;

Data Emp1;
Infile cards;
Input Eid $ Edesign $ Esal;
cards;
A001 Analyst 50000
A002 Hr 70000
A003 Manager 120000
;
Proc print data=Emp1;
run;

Data Emp3;
Input Eid $ Edesign $ Esal;
cards;
A001 Associate 50000
A002 Hr 70000
A003 Manager 120000
;
Proc print data=Emp3;
run;

/*Input Styles*/

/*1.List input*/
/*2.Formatted input*/
/*3.Column input*/
/*4.Mixed input*/

/*Standard Numeric Non Standard NUmeric*/


/**/
/* 0-9 (567)*/
/* +/- 1,093*/
/* E $3678*/
/* . Date and Time*/
/* binary,hexadecimal etc.*/
/**/

Data Emp3;
Input Eid $ Edesign $ Esal;
cards;
A001 Associate 50000
A002 Hr 70000
A003 Manager 120000
;
Proc print data=Emp3;
run;

/*Infile statement options*/

/*1.DSD */

Data Emp4;
INFILE CARDS DSD;
Input Eid $ Edesign $ Esal;
cards;
A001,Associate,50000
A002,Hr,70000
A003,Manager,120000
;
Proc print data=Emp4;
run;

Data Emp5;
INFILE CARDS DSD;
Input Eid $ Edesign $ Esal;
cards;
A001, Associate,50000
A002,Hr ,70000
A003,Manager,120000
;
Proc print data=Emp5;
run;

Data Emp6;
INFILE CARDS DSD;
Input Eid $ Edesign $ Esal;
cards;
A001,,50000
A002,Hr,70000
A003,Manager,120000
;
Proc print data=Emp6;
run;

Data Emp7;
INFILE CARDS DSD;
Input Eid $ Edesign $ Esal;
cards;
A001,"Associate",50000
A002,Hr,70000
A003,Manager,'120000'
;
Proc print data=Emp7;
run;

/*2.DLM*/

Data Emp8;
INFILE CARDS DLM=',:@&* ';
Input Eid $ Edesign $ Esal;
cards;
A001,Associate:50000
A002@@Hr&*70000
A003:&Manager, 120000
;
Proc print data=Emp8;
run;

You might also like