0% found this document useful (0 votes)
283 views

SAS Notes

This document provides an overview of getting started with SAS software and getting data into SAS. It discusses SAS terminology like libraries and datasets. It then demonstrates how to create libraries and datasets, import and export various file types like Excel and text files, and read different data formats including raw data, formatted input, and named input methods. Various INFILE statement options for controlling input like FIRSTOBS, OBS, MISSOVER, and DLM are also covered.

Uploaded by

prabhuiipm
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
283 views

SAS Notes

This document provides an overview of getting started with SAS software and getting data into SAS. It discusses SAS terminology like libraries and datasets. It then demonstrates how to create libraries and datasets, import and export various file types like Excel and text files, and read different data formats including raw data, formatted input, and named input methods. Various INFILE statement options for controlling input like FIRSTOBS, OBS, MISSOVER, and DLM are also covered.

Uploaded by

prabhuiipm
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 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.

You might also like