Anda di halaman 1dari 6

Base SAS Programming

CHAPTER 1

GETTING STARTED WITH SAS SOFTWARE

TERMINOLOGY
LIBRARY – FOLDERS ARE CALLED LIBRARY IN SAS
DATASET – DATABASE FILES ARE CALLED DATASET IN SAS.

CREATING A LIBRARY:

LIBNAME PLANMAN "C:\Documents and Settings\Prabu\Desktop\ICMR\SAS";


RUN;

CREATING A DATASET:

DATA PLANMAN.ICMR;
RUN;
** Creates a dataset icmr inside the planman library.

DATA ICMR;
RUN;
** Creates a dataset icmr inside the work library( temporary) since the library name is not specified..

DATA PLANMAN.ICMR;
SET SASHELP.CLASS;
RUN;
** Creates a dataset icmr inside the planman library.The contents of sashelp.class will be copied into
planman.icmr.

PRINTING THE OUTPUT IN THE OUTPUT WINDOW:

PROC PRINT DATA=PLANMAN.ICMR;


RUN;

1
Base SAS Programming

CHAPTER 2

GETTING YOUR DATA INTO SAS

TYPES OF FILES:

1. PC Files (excel, etc).


2. Raw data / unformatted files (PDF, notepad etc)
3. Database files ( Oracle, DB2 etc).

IMPORTING PC FILES:

proc import
datafile ="C:\Documents and
Settings\Prabu\Desktop\ICMR\stationaries.xls"
out=stationaires
dbms = excel;
run;
proc print data = stationaires;
run;

** An Excel sheet from the computer has been importedr It is stored in the datasetname called stationaires
which is stored in the work library ( since no library was specified)

.
EXPORTING PC FILES:

proc EXPORT
OUTfile ="C:\Documents and Settings\Prabu\Desktop\ICMR\SCHOOL.xls"
DATA=school
dbms = excel;
run;

** A dataset school in work library has been exported to a folder in the C drive in the name school.xls.

UNFORMATTED FILE OR RAW DATA:

INTERNAL RAW DATA:

data ramarajan;
INPUT MOVIE$ DAYS VERDICT$;
DATALINES;
KARAGA 500 HIT
ANNAN 200 HIT

2
Base SAS Programming

MATUKA 400 HIT


;
RUN;

EXTERNAL RAW DATA FILES:

DATA RAMA;
INFILE "C:\Documents and
Settings\Prabu\Desktop\ICMR\SAS\Infile\RAMA.TXT";
INPUT MOVIE$ DAYS VERDICT$;
RUN;
PROC PRINT DATA=RAMA;
RUN;

READING RAW DATA SEPERATED BY SPACES (FREE FORMATTED I/P):

** SEPERATED BY ATLEAST ONE SPACE.


MISSING VALUES INDICATED BY ‘.’

DATA RAMA;
INFILE "C:\Documents and
Settings\Prabu\Desktop\ICMR\SAS\Infile\RAMA.TXT";
INPUT MOVIE$ DAYS VERDICT$;
RUN;
PROC PRINT DATA=RAMA;
RUN;

READING RAW ARRANGED IN COLUMNS

** SPACES NOT REQUIRED


MISSING VALUES CAN BE LEFT BLANK
CHARACTER DATA CAN HAVE EMBEDDED SPACES.
CAN SKIP UNWANTED VARIABLES.

DATA RAMA;
INFILE "C:\Documents and
Settings\Prabu\Desktop\ICMR\SAS\Infile\RAMA.TXT";
INPUT MOVIE $ 1-6 DAYS 7-8 VERDICT $ 9-12;
RUN;
PROC PRINT DATA=RAMA;
RUN;

READING RAW DATA NOT IN STANDARD FORMAT ( FORMATTED I/P


METHOD):

3
Base SAS Programming

DATA frmInput;
INPUT Name $16. Age 3. +1 Type $1. +1 Date MMDDYY10.
(Score1 Score2 Score3 Score4 Score5) (4.1);
datalines;
Alicia Grossman 13 c 10-28-2003 7.8 6.5 7.2 8.0 7.9
Matthew Lee 9 D 10-30-2003 6.5 5.9 6.8 6.0 8.1
Elizabeth Garcia 10 C 10-29-2003 8.9 7.9 8.5 9.0 8.8
Lori Newcombe 6 D 10-30-2003 6.7 5.6 4.9 5.2 6.1
Jose Martinez 7 d 10-31-2003 8.9 9.510.0 9.7 9.0
Brian Williams 11 C 10-29-2003 7.8 8.4 8.5 7.9 8.0
;
PROC PRINT;
FORMAT DATE DDMMYY8.;
RUN;

REMOVING A COMMA:

data come;
infile "C:\Documents and Settings\Prabu\Desktop\ICMR\SAS\Class
notes\examplecodesasof17jul10class\come.txt";
input average comma6.;
run;
proc print data=come;
run;

FORMATTED I/P : DATE:

DATA frmInput;
INPUT Date MMDDYY10.
;
datalines;
10-28-2003
10-29-2003
10-30-2003
10-31-2003
10-29-2003
;
PROC PRINT;
FORMAT DATE DDMMYY8.;
RUN;

NAMES I/P METHOD:

DATA NamedInput;
INPUT State =$14. Pop= ;
CARDS;
STATE=North Carolina Pop=5.082
STATE=South Carolina Pop=0.590

4
Base SAS Programming

STATE=Viginia Pop=.
;
proc print;Run;

CONTROLLING I/P WITH OPTIONS IN THE INFILE STATEMENT:

/******************/
/* INFILE OPTIONS */
/* 1.firstobs */
/* 2.obs */
/* 3.Missover */
/* 4.Turncover */
/* 5.DLM */
/* 6.DSD */ * DSD --> Delimeter Sensitive data;
/******************/

FIRSTTOBE & OBS:


DATA icecream;
INFILE cards firstobs=3 obs=4 ;
INPUT Flavor $ 1-9 Location BoxesSold;
cards;
Ice-cream sales data for the summer
Flavor Location Boxes sold
Chocolate 213 123
Vanilla 213 512
Chocolate 415 242
;
proc print;Run;

** FIRSTTOBS TELLS THE DATA THE BEGINNING OF DATA READING.


OBS TELLS THE DATA WHERE TO STOP READING.

MISSOVER:

DATA class102;
INFILE datalines Missover;
INPUT Name $ Test1 Test2 Test3 Test4 Test5;
datalines;
Nguyen 89 76 91 82
Ramos 67 72 80 76 86
Robbins 76 65 79
;
proc print;Run;

** Tells SAS not to go to next line when the data ends, assign missing values and go to next step..

TRUNCOVER:

5
Base SAS Programming

DATA homeaddress;
INFILE
"C:\Documents and Settings\Prabu\Desktop\ICMR\SAS\Class
notes\examplecodesasof17jul10class\truncover.txt" TRuncover ;
INPUT Name $ 1-15 Number 16-19 Street $ 21-37;
proc print;Run;

** used with formatted or column.


It tells SAS to read the data till the end.

DLM:

DATA Dlm_demo;
INFILE "C:\Documents and Settings\Prabu\Desktop\ICMR\SAS\Class
notes\examplecodesasof17jul10class\dash.txt" DLM ='|';
INPUT Name $ Week1 Week2 Week3 Week4 Week5;

RUN;
proc print;run;

** DLM is used to remove delimiters such as comma, tab characters etc.

DSD:

DATA DSD_demo;
INFILE datalines DLM = ',' DSD MISSOVER;
INPUT BandName :$30. Date :ddmmyy10. EightPM NinePM TenPM ElevenPM;
datalines;
Lupine Lights,12/3/2003,45,63,70,
Awesome Octaves,12/15/2003,17,28,44,12
"Stop, Drop, and Rock-N-Roll",1/5/2004,34,62,77,91
The Silveyville Jazz Quartet,1/18/2004,38,30,42,43
Catalina Converts,1/31/2004,56,,65,34

** ignores delimiters
Does not read quotation marks
Two demiters in a row as a missing value.

Anda mungkin juga menyukai