Chapter 1 and 2
Chapter 1 and 2
Intelligence
Outline
Data preparation
Data cleansing
Data exploratory
Data analysis
Data visualization
ISQS 6347, Data & Text Mining
Data Access
And
Management
User
Interface
Analytical
Base SAS
Application
Development
Visualization
And Discovery
Business
Solutions
Web
Enablement
http://support.sas.com
Data-driven Tasks
Data access
Data management
Data analysis
Data presentation
80% data-related
Access
Scrub
Transform
Mange
Store and retrieve
20% analysis
Step
SAS
Data Sets
PROC
Steps
Information
90%
independent
PC
10%
dependent
Workstation
Servers/
Midrange
Mainframe
Super
Computer
10
...
SAP
dBase
DATA
DATA
ORACLE
SYBASE
Microsoft Excel
11
Fundamentals (ch1-3)
Producing list reports (ch4)
Enhancing output (ch5)
Creating data sets (ch6)
Data step programming (ch7)
Reading data
Creating variables
Conditional processing
Keeping and dropping variables
Reading Excel files
12
Course Scenario
In
flight data
passenger data
cargo data
employee data
revenue data
13
Course Scenario
The
importing data
creating a list of employees
producing a frequency table of job codes
summarizing data
creating a report of salary information
14
SAS Programs
A SAS program is a sequence of steps that the user
submits for execution.
Raw
Raw
Data
Data
SAS
Data
Set
SAS
Data
Set
PROC
PROC
Step
Step
Report
Report
15
SAS Programs
data work.staff;
infile 'raw-data-file';
input LastName $ 1-20 FirstName $ 21-30
JobTitle $ 36-43 Salary 54-59;
run;
DATA
Step
PROC
Steps
16
Step Boundaries
SAS steps begin with either of the following:
DATA statement
PROC statement
SAS detects the end of a step when it encounters
one of the following:
a RUN statement (for most steps)
a QUIT statement (for some procedures)
the beginning of another step (DATA statement
or PROC statement)
17
Step Boundaries
data work.staff;
infile 'raw-data-file';
input LastName $ 1-20 FirstName $ 21-30
JobTitle $ 36-43 Salary 54-59;
run;
proc print data=work.staff;
proc means data=work.staff;
class JobTitle;
var Salary;
run;
18
19
Preparation of SAS
Programming
Statement
LIBNAME libref SAS-data-library <options>;
Example
LIBNAME ia c:\workshop\winsas\prog1;
20
Demon: c02s2d1
Exercise: c02ex1
21
PROC
PROCCONTENTS
CONTENTS DATA=SAS-data-set;
DATA=SAS-data-set;
RUN;
RUN;
Example:
proc contents data=work.staff;
run;
c02s3d1
22
Salary
TORRES
LANGKAMM
SMITH
WAGSCHAL
TOERMOEN
JAN
SARAH
MICHAEL
NADJA
JOCHEN
Pilot
Mechanic
Mechanic
Pilot
Pilot
50000
80000
40000
77500
65000
Character values
Variable
values
FirstName
Variable
names
LastName
Numeric
values
23
numeric
24
25
26
...
27
...
5monthsdata
28
...
5monthsdata
29
...
5monthsdata
data#5
30
...
5monthsdata
data#5
31
...
5monthsdata
data#5
five months data
32
...
5monthsdata
data#5
five months data
33
...
5monthsdata
data#5
five months data
fivemonthsdata
34
...
5monthsdata
data#5
five months data
fivemonthsdata
35
...
5monthsdata
data#5
five months data
fivemonthsdata
FiveMonthsData
36
...
5monthsdata
data#5
five months data
fivemonthsdata
FiveMonthsData
37
...
FirstName
JobTitle
Salary
TORRES
LANGKAMM
SMITH
WAGSCHAL
TOERMOEN
JAN
SARAH
MICHAEL
NADJA
JOCHEN
Pilot
Mechanic
Mechanic
Pilot
50000
80000
.
77500
65000
A character missing
value is displayed as
a blank.
ISQS 6347, Data & Text Mining
A numeric
missing value
is displayed
as a period.
39
all observations
all variables
an Obs column on the left side
ISQS 6347, Data & Text Mining
40
PROC
PROCPRINT
PRINT DATA=SAS-data-set;
DATA=SAS-data-set;
RUN;
RUN;
Example:
proc print data=work.staff;
run;
c02s3d1
41
SAS
SASTable
Table
Variable
Variable
Column
Column
Observation
Observation
Row
Row
42
43
data work.staff;
infile 'raw-data-file';
input LastName $ 1-20 FirstName $ 21-30
JobTitle $ 36-43 Salary 54-59;
run;
proc means data=work.staff;
class JobTitle; ISQS 6347,
var
Salary;run;
Data & Text Mining
44
...
data work.staff;
infile 'raw-data-file';
input LastName $ 1-20 FirstName $ 21-30
JobTitle $ 36-43 Salary 54-59;
run;
proc means data=work.staff;
class JobTitle; ISQS 6347,
var
Salary;run;
Data & Text Mining
46
...
data work.staff;
infile 'raw-data-file';
input LastName $ 1-20 FirstName $ 21-30
JobTitle $ 36-43 Salary 54-59;
run;
proc means data=work.staff;
class JobTitle; ISQS 6347,
var
Salary;run;
Data & Text Mining
47
...
...
data work.staff;
infile 'raw-data-file';
input LastName $ 1-20 FirstName $ 21-30
JobTitle $ 36-43 Salary 54-59;
run;
proc means data=work.staff;
class JobTitle; ISQS 6347,
var
Salary;run;
Data & Text Mining
48
...
...
data work.staff;
infile 'raw-data-file';
input LastName $ 1-20 FirstName $ 21-30
JobTitle $ 36-43 Salary 54-59;
run;
proc means data=work.staff;
class JobTitle; ISQS 6347,
var
Salary;run;
Data & Text Mining
49
50
SAS Comments
c02s3d2
51
Syntax Errors
Syntax errors include the following:
misspelled keywords
missing or invalid punctuation
invalid options
daat work.staff;
infile 'raw-data-file';
input LastName $ 1-20 FirstName $ 21-30
JobTitle $ 36-43 Salary 54-59;
run;
52
Debugging a SAS
Program
c02s4d1.sas
userid.prog1.sascode(c02s4d1)
c02s4d2.sas
userid.prog1.sascode(c02s4d2)
53
Submit
Number 1
Submit
Number 2
54
Submit
Number 1
Issue RECALL
once.
Submit
Number 2
data work.staff;
infile 'raw-data-file';
input LastName $ 1-20 FirstName $ 21-30
JobTitle $ 36-43 Salary 54-59;
run;
proc print data=work.staff;
run;
proc means data=work.staff mean max;
class JobTitle;
var Salary;
run;
55
Submit
Number 1
Issue RECALL
again.
Submit
Number 2
daat work.staff;
infile 'raw-data-file';
input LastName $ 1-20 FirstName $ 21-30
JobTitle $ 36-43 Salary 54-59;
run;
proc print data=work.staff
run;
proc means data=work.staff average max;
class JobTitle;
var Salary;
run;
data work.staff;
infile 'raw-data-file';
input LastName $ 1-20 FirstName $ 21-30
JobTitle $ 36-43 Salary 54-59;
run;
proc print data=work.staff;
run;
proc means data=work.staff mean max;
class JobTitle;
var Salary;
run;
56
ISQS 6347, Data & Text Mining
57
Hands-on exercise
58
Example: Orders.txt
Example: SupplyInfo.xls
59
SAS Help
Chapter 3, 4
60
61
62
http://zlin.ba.ttu.edu/6339/ExerciseSASProgramming.htm
63