Anda di halaman 1dari 74

WelcomeSASUsers

to
TheLifeCycleofaSAS
Application
Wednesday23
rd
May2012
SMUG 23-May-2012 The Life Cycle of a SAS Application
2
Opening Slide
SAS Melbourne User Group
Wednesday 23
rd
May 2012
The Life Cycle of a SAS Application
Flavio Giurco
Manufacturing Systems Manager - Alcoa of Australia Limited
Sameer Das
Technical Architect - SAS Australia and New Zealand
The Life Cycle of a SAS Application
Presentation Outline
Why SAS?
How to set up SAS?
What to Implement and show Value?
Write the code or develop the processes
Evolve with SAS Continuous Improvement
Maintain and Upgrade
3
SMUG 23-May-2012 The Life Cycle of a SAS Application
Why SAS?
Benefit of using SAS Value
Business Need
Evaluation/Decision
4
SMUG 23-May-2012 The Life Cycle of a SAS Application
Where can SAS add Value?
e2e SAS Platform/Solutions
Successful with Dept. X already
Add value to all areas of business
Industry and Domain specific solution
offerings
Enterprise Analytical Platforms
Centers of Excellence
Solve complex business problems
Provide Industry leading Analytics
software and Skilled resources
Showing Value is critical
SAS Technology Platform
Start small and grow
Establish value for stakeholders
Engage SAS for best practice
implementations
SAS Business Solutions
Solve a specific business problem
Align with business and IT strategy of
the organisation
SAS platform is scalable to include
other solutions
Customer Size
P
r
o
d
u
c
t

/

S
o
l
u
t
i
o
n

M
a
t
u
r
i
t
y
Small/Medium Organisations Large Organisations
E
n
t
e
r
p
r
i
s
e
D
e
p
a
r
t
m
e
n
t
a
l
SMUG 23-May-2012 The Life Cycle of a SAS Application
5
Business Need
6
SMUG 23-May-2012 The Life Cycle of a SAS Application
Access to multiple data sources
Integrated data, reporting and analytics platform
From simple reporting and statistics
To complex enterprise analytics platforms
Cost v/s Benefit discussion Framework to
measure Value of using SAS
Why I chose SAS
It was already available on Corporate timesharing
environment (Mainframe)
End user could do own thing!
Did not require database access or expertise.
Ease of adding variables and handling of missing values.
High level procedures made job easier.
E.g. Proc Print would print all the variables without
specifying their names and formats for them all.
As well as storing data, SAS catered for reporting, graphing
and analysing.
Could handle large volumes of data.
7
SMUG 23-May-2012 The Life Cycle of a SAS Application
The Life Cycle of a SAS Application
Presentation Outline
Why SAS?
How to set up SAS?
What to Implement and show Value?
Write the code or develop the processes
Evolve with SAS Continuous Improvement
Maintain and Upgrade
8
SMUG 23-May-2012 The Life Cycle of a SAS Application
What does the SAS platform look like?
9
SMUG 23-May-2012 The Life Cycle of a SAS Application
SAS Technology Reference Model
Scalability
R
e
l
i
a
b
i
l
i
t
y
Interoperability
M
a
n
a
g
e
a
b
i
l
i
t
y
InfrastructureBlocks
Framework Services
UserInterfaces
Data Management
Analytics
Reporting
Integrated Platform Componentized High Performance Business Solutions
M
a
n
a
g
e
m
e
n
t
C
o
m
p
u
t
e
M
e
t
a
d
a
t
a
S
e
c
u
r
i
t
y
I
n
t
e
g
r
a
t
i
o
n
W
o
r
k
f
l
o
w
How to Set Up SAS?
Capture expected Usage
Plan ahead
Functional and Non-Functional requirements
Data sources
Output required
Interfaces to other systems
Infrastructure and architecture
Installation and Configuration
Setup security plan for the site
Setup folder structure for users and system
10
SMUG 23-May-2012 The Life Cycle of a SAS Application
How to Set Up SAS?
11
SMUG 23-May-2012 The Life Cycle of a SAS Application
SAS deployments Which one?
Small
Medium
Large
12
SMUG 23-May-2012 The Life Cycle of a SAS Application
Environments
Physical/Virtual Servers
Storage
Operating Systems
SAS deployments Simple
13
SMUG 23-May-2012 The Life Cycle of a SAS Application
SAS BI Client Tier
SAS Metadata, Application and Mid Tier
SAS Management Console
SAS Add-In for MS Office
SAS Information Map Studio
SAS Enterprise Guide
MS Windows XP/Windows 7
MS Internet Explorer 7
MS Office 2003
Foundation Services
Oracle JDK 1.6.0_24
Foundation SAS
Workspace Server
Stored Process Server
Framework Data Server
Authentication Mechanism
AD
Authentication Mechanism
Host (AD)
Java Application Server
J Boss Community Edition 4.2.3
GA
Web Report Studio
Metadata Server
SAS Content Server
Data Store
SAS Content Server
Web Infrastructure Platform
SAS Shared Services
Oracle JRE, 1.6.0_24
Access To ODBC
HP DL380 Server
Windows 2008 Server R2 (64-bit)
2 Core (E5620), 12 GB RAM
6X300GB Storage
Access To PC Files
SAS deployments Large and Complex
14
SMUG 23-May-2012 The Life Cycle of a SAS Application
SAS Client Deployments
SAS

Grid Control Server


SAS

Metadata Server
SAS

Middle Tier
Platform Process Mgr
TM
Platform LSF
Grid Management Service
Grid Node 2
SAS

Compute Server
Grid Node N
SAS

Compute Server
SAS

Grid Control Server


SAS

Metadata Server
SAS

Middle Tier
Platform Process Mgr
TM
Platform LSF
Grid Management Service
Central Shared File System
CFS
Active Passive Cluster
Platform Suite for SAS Platform Suite for SAS
SAS Workspace Server SAS Workspace Server
Grid Node 1
SAS

Compute Server
Platform Suite for SAS
SAS Workspace Server
SAS Client Deployment
(Terminal Service)
SAS

Administration Clients
SAS

Clients
Windows Terminal Services
Grid Monitoring Server
Platform RTM
Apache Web Server
Network
(LAN/
WAN)
SAS

Administration Clients
SAS

Clients
Internet Explorer
Microsoft Office
Modelling
Characteristics
Data Store
SAS/CONNECT SAS/CONNECT SAS/CONNECT
Foundation Foundation Foundation
The Life Cycle of a SAS Application
Presentation Outline
Why SAS?
How to set up SAS?
What to Implement and show Value?
Write the code or develop the processes
Evolve with SAS Continuous Improvement
Maintain and Upgrade
15
SMUG 23-May-2012 The Life Cycle of a SAS Application
What to implement and show value
Consider stakeholders:
What are their needs?
What is the business case for the application?
Without sponsorship for the application......
It will not fly OR it will wither and die.
Nothing succeeds like success:
Look for quick runs on the board.
Start small and easy
Then build up in stages and complexity.
Value to all make executives look good.
The Pareto principle: 80% of benefit from 20% of the effort
16
SMUG 23-May-2012 The Life Cycle of a SAS Application
Alcoa Operations Within Australia
17
SMUG 23-May-2012 The Life Cycle of a SAS Application
Alcoa Point Henry Smelter & Rolling Mill
18
SMUG 23-May-2012 The Life Cycle of a SAS Application
Potroom - Smelting Cells/Pots
19
SMUG 23-May-2012 The Life Cycle of a SAS Application
Individual pot measurements: pot voltage, temperature, metal level etc
Potline measurements: line current, line voltage, power interruptions etc
The Opportunity
In a manufacturing production environment, equipment is often
controlled by a dedicated controller that has limited storage capacity
and reporting capabilities. To make better use of this data, there is a
need to transfer it into an environment where the data can be stored
indefinitely and analysed.
It was 1981 and the Modcomp mini-computer, used for controlling the 3
potlines, was limited to 36 days of daily data for 368 individual pots and
3 potlines.
Each week the Potroom process engineer printed the 7 day log for
each pot for their line, reviewed the data and made corrections to pot
resistance and/or feed set points. Then they filed the reports for future
reference. There was no whole of line trending of performance.
The project scope:
Transfer the pot daily records to the IBM mainframe for longer storage
and reporting.
20
SMUG 23-May-2012 The Life Cycle of a SAS Application
Initial Development Environment
21
SMUG 23-May-2012 The Life Cycle of a SAS Application
Pot Control Computer
at Pt Henry (VIC)
Sending Program
Daily data for 36 days
Line data x 3
Pot data x 368
Mainframe Computer
at Booragoon (WA)
Receiving Program
Receiving Flat File
SAS Processing
Dial Up
Modem
SAS development was by a single user, with code in single directory.
The sending program read the latest line data for each line for each day and sent
to WA a fixed format ASCII record. The record was started with the letter L.
Similarly Pot records where sent starting with the letter P.
The receiving program appended both line and pot records to a common flat file.
A SAS program ran automatically to read and reset the flat file and store the line
data and pot data in separate SAS datasets.
SAS reporting programs were run manually.
Write the Code Read the Flat File
Use of OPTION Errorabendto catch any malfunctions prior to resettingflat file (MCOMP).
22
SMUG 23-May-2012 The Life Cycle of a SAS Application
Intermediate Files General Guidelines
If you cannot access the data directly from the source device or database then
use an intermediate transfer file / extract file for SAS to read the data.
Employee data often falls into this category due to confidentiality considerations
and limiting what data is visible.
Decide on the file format based on what is easiest for the provider of the data.
It is often a lot easier to write the SAS code than to change the report/extract.
Common file format options:
ASCII text file - fixed format. Each variable is in a fixed column position.
ASCII text file - CSV (comma separated variables)
ASCII text file - TAB delimited
ASCII text file XML format
Microsoft Excel format
Avoid CSV format if the incoming data can contain commas.
Need to devise a scheme to know what data needs to be processed.
Use Proc Contents to see length of variables stored in SAS dataset for
opportunities to save space without losing precision.
23
SMUG 23-May-2012 The Life Cycle of a SAS Application
The Finished Product
Bath Temperature 3 Potlines Side by Side
(Using SAS/QC Proc Shewhart). Shows date and program name and version in footer

SMUG 23-May-2012 The Life Cycle of a SAS Application


24
Source Code Who and When
SAS source code revision history and defining pgm program name
SMUG 23-May-2012 The Life Cycle of a SAS Application
25
SAS code to capture run date time
SAS code to put run details into footnote
SAS/QC code fragment to create plot
*-- define macros for use in the program ---;
%let gph_dev=goptions ctitle=blue device=gif hsize =7.9 vsize =5.8 gsfname=gifout gsfmode=replace ; * GIF options;
%let clip_factor=3; * level to clip charts;
%macro plot_it(new_name,meas,label,units,sas_file,grp,scale,min,max,step,format); *----- MACRO for create plot -----;
symbol1 v=dot c=blue;
symbol2 v=circle c=red;
data clipped;
set &sas_file(keep=&meas line_iddate_iddate poweroff age);
&meas =&meas / &scale;
if &meas ne . then do;
if &meas >&max then &meas=&max; * limit values to bounds to avoid poor plots;
else if &meas <&min then &meas=&min;
end;
proc shewhart data=clipped(rename=(&meas=&new_name)); * ---- xs chart preparation by line to capture panel limits ---;
by line_id;
xchart &new_name*date_id=poweroff/stddevs zerostdnochart outlimits=limsline outhistory=histline;
title "&label";
title2 "Last &ago Days In &days Day Blocks [Limited to &min to &max &units] (Square Points For Clipped Factor=&clip_factor)";
filename gifout "'&publish.&grp._xs_&new_name..gif'";
goptions reset; &gph_dev;
proc shewhart graphics history=histline(rename=(line_id=_phase_)) limits=limsline(rename=(line_id=_index_));
xchart (&new_name)*date_id=poweroff/npanelpos=800 turnhlabel noxlabel phasebreak stddevs zerostd
phaseref phaselegendnolegendnolimitlabel climits=green clipfactor =&clip_factor clipsymbol=square
readindex=ALL readphases=ALL;
run;quit;filename gifout clear;run;
%mend;
SMUG 23-May-2012 The Life Cycle of a SAS Application
26
SAS

Data Management
Data Quality
Enterprise Connectivity
ETL (Extract, Transform, Load)
Metadata Management
Data Migration & Synchronization
Data Federation
Master Data Management
Write the Code - Transferring the Data
Intuitive point-and-click design editor window.
Quickly identify inputs and outputs and
create business rules in metadata.
Push processing down to the database for
ELT execution.
More than 300 predefined table and column-
level transformations.
Sophisticated metadata mapping
technologies accelerates development
Impact Analysis/Data Lineage to see process
and data relationships
Multi-user Collaboration with
DEV/TEST/PROD promotion management
Powerful metadata reporting including
runtime and performance analysis
Introducing SAS Code Importer and SAS Metadata
Imports existing SAS programs
For each program makes a job in metadata
Creates Inputs/outputs/mappings
Registers libraries, tables into metadata
SAS
Programs
SMUG 23-May-2012 The Life Cycle of a SAS Application
28
SAS Metadata
Heart of the SAS N-Tier architecture is the SAS Metadata
Setup SAS Metadata in a folder structure
Metadata contains information from the entire platform
Users, Groups, Roles, ACLs
Libraries, Tables, Columns, Information Maps
Stored Processes, Reports, Models, J obs, Flows
Servers, Workspaces, Batch schedulers, Web Services
Metadata services connect all the business processes and artifacts in
the platform together
Serves as a single version of the truth available to all
Auditable, repeatable and secure environment from which to derive
intelligence
29
SMUG 23-May-2012 The Life Cycle of a SAS Application
SAS Quality Lifecycle Analysis
Monitor Workspace
Know the health of production:
Check continuously new data
against Western Electric Rules or
own rules.
Alert automatically responsible and
interested stakeholders.
Initiate root cause analysis.
Engineer
More time is available for more
awarding analysis and process &
product improvement
Automatic monitoring ensures that no
problems are overlooked
Seamless transition from monitoring
to root cause analysis
Easy implementation of your own
quality standards
SMUG 23-May-2012 The Life Cycle of a SAS Application
30
The Life Cycle of a SAS Application
Presentation Outline
Why SAS?
How to set up SAS?
What to Implement and show Value?
Write the code or develop the processes
Evolve with SAS Continuous Improvement
Maintain and Upgrade
31
SMUG 23-May-2012 The Life Cycle of a SAS Application
Platform Evolution at Alcoa
Platform / operating system evolution:
- IBM mainframe in WA
- VAX server at Pt Henry and at Portland
- Windows BI server servicing multiple sites
Current SAS configuration:
- SAS BI Server located at Pt Henry with
Base SAS software,
SAS/GRAPH, SAS/STAT, SAS/QC,
SAS/ACCESS Interface to PC Files,
SAS/ACCESS Interface to ODBC
- Standalone PCs (1 at Pt Henry and 1 at Portland)
Software as above + SAS/ETS
- Enterprise Guide / Microsoft Office add-ins
32
SMUG 23-May-2012 The Life Cycle of a SAS Application
Code Management Considerations
Store SAS production source code on shared network drive with modular
components / applications.
Never have production code stored on personal drives.
Adopt program naming convention or locations for Production and Test
Separate production source code from ad hoc / once off code.
Avoid use of spaces in output file names to avoid ambiguity with web / file links.
Have include programs to define common system file assignments, library
names, custom formats etc.
Consider having separate include programs based on logical groupings rather
than a single large program. The single large program may take additional
execution time if the resources referenced are not local.
Store common routines in a library with use of Macros
33
SMUG 23-May-2012 The Life Cycle of a SAS Application
Code Management - Modular Design
Modular design of source code and output (ownership)
SMUG 23-May-2012 The Life Cycle of a SAS Application
34
Code Management - Source Code Archive
Adopt a naming convention and structure for the production, test and archives
Example:
Line_Daily.sas =Current production version
Line_Daily_RFK_V212.sas =Test version by user(RFK) prior to production
Line_Daily_OLD_V212.sas =Archive of superseded production version
V212
SMUG 23-May-2012 The Life Cycle of a SAS Application
35
Code Management Include File Examples
36
SMUG 23-May-2012 The Life Cycle of a SAS Application
Example of calling the SAS Include file from production programs
Code fragment from PTH_Production_Libnames.sas include file
Code fragment from PTH_Pot_Calcs_Library.sas include file
How has SAS evolved?
SAS started on the Mainframe, and moved to SMP arch
SAS on the Desktop/Server to Enterprise deployments
Support the business with Best-of-Breed SAS Software
SAS 9 Platform Open, N-Tier Architecture
SMUG 23-May-2012 The Life Cycle of a SAS Application
37
Enterprise Data and Systems
Operating Systems
z/OS AIX HP-UX Solaris Windows Linux
Enterprise Applications
SAP Siebel Oracle Peoplesoft
Operational Data
Sybase
SQL Server
MySQL
IMS-DL/1
JDBC
ODBC
OLEDB
PC Files
Teradata
DB2
Oracle
Enterprise Clients
Custom
Applications
Web Based
Application
Enterprise
Portals
Standards
Based Apps
Excel
PowerPoint Outlook SharePoint Mobile PDF
SAS

Netezza
HP Neoview
Aster Data
Greenplum
Current SAS Platform Architecture
38
SMUG 23-May-2012 The Life Cycle of a SAS Application
Storage Considerations: SAS or Database?
SAS datasets are generally updated making a copy of the original plus any
changes (a father/son update). This requires room for 2 copies of the dataset.
This is update method is not as efficient as specialist database programs.
As more data was added to the initial IBM implementation, the time to update
files progressively increased and become unacceptable.
So separate pot datasets were created for each line and year.
368 pots x 365 days x 137 variables = a lot of disk space!
The line data having only 3 records per day was kept as a single dataset.
Latest implementation has Microsoft SQL server as the repository for the pot
and line records which are populated directly by the pot controllers.
Avoid duplication of data and aim for single version of truth.
SAS is useful as a repository when the existing databases do not have the
required functionality. For example, the Alcoa Corporate Safety Incident system
can provide incident and corrective action reports that are up to date as of
today. So for reporting on week end and month end, SAS takes a daily
snapshot of key data and stores it in a SAS dataset for subsequent reporting.
Review each application to determine the best repository for that application.
39
SMUG 23-May-2012 The Life Cycle of a SAS Application
Storage Methodology: SAS or Database?
Evolution at SAS
40
SMUG 23-May-2012 The Life Cycle of a SAS Application
SAS
Scoring
Data
Teradata
EDW
Traditional
Capabilities
Data
Teradata
EDW
SAS In-Database
Capabilities
SAS
Analytic
Modeling
SAS
Analytic
Modeling
SAS
Scoring
Data Modeling
Preparation
Storage Methodology: SAS or Database?
Evolution at SAS
41
SMUG 23-May-2012 The Life Cycle of a SAS Application
Expanded SAS DI Studio support for MPP databases:
Greenplum, AsterData nCluster, Sybase IQ
Enables more ELT pushdown and add supports for bulk load utilities
In-Database Processing (ELT SQL Pushdown)
Optimized SQL Set Operator Transform Supports UNION, UNION AL,
INTERSECT, EXCEPT, OUTER UNION
Easier to use and understand when combining data from multiple sources
Results in better SQL performance in database
New Oracle Bulk Table Loader
Supports Oracle specific load functions: Direct Path, Load to Partition, Oracle
Hints Generates passthru SQL
Disable/renable constraints; Drop/Rebuild indices; Gather table statistics
Expression builder enhanced to list more native DBMS functions, including:
Teradata 13, Oracle, DB2UDB 8.1, SQL Server, MySQL, and ODBC
New wizard enables you to extend the function list with your own User Defined
Functions
Automation Current Evolution
Windows based
Windows Tasks for scheduling
Dedicated destinations for SAS log files
Bat files for running programs
Reports, plots and dashboards published on Intranet in
various formats:
GIF (for plots), TXT, PDF, HTML, Microsoft Excel
System fully automated generating thousands of output
files across several sites each day.
42
SMUG 23-May-2012 The Life Cycle of a SAS Application
Automation - Folder Structure
Folders grouped by site and then common sub-folders
SAS_Log : SAS log files
Tasks_Batch_Auto : Auto executed batch command files
Tasks_Batch_Manual: Manually executed batch command files
Tasks_Scheduler: Copy of Windows Scheduler Tasks
43
SMUG 23-May-2012 The Life Cycle of a SAS Application
Automation - Command File
44
SMUG 23-May-2012 The Life Cycle of a SAS Application
Windows Command File PTH_Daily_Pots.bat that runs several SAS
programs sequentially
Command line syntax:
C:\Program Files\SAS\SAS 9.1\sas.exe
Selects the executable version of SAS to be executed
-NoTerminal
suppresses dialog boxes
-SYSIN filespec.sas
submits the nominated file
Subsequent evolutions - Automation Slides
Use of integrated Scheduler Platform Suite for SAS
Use Operating System scheduler
Automating report generation using in-built schedulers
Automated report distribution using Publish-Subscribe
Automated source code version management using CVS,
Subversion etc.
Automating job error notification using DI/code
Command line driven job deployment delivers automated
job deployment
45
SMUG 23-May-2012 The Life Cycle of a SAS Application
The Life Cycle of a SAS Application
Presentation Outline
Why SAS?
How to set up SAS?
What to Implement and show Value?
Write the code or develop the processes
Evolve with SAS Continuous Improvement
Maintain and Upgrade
46
SMUG 23-May-2012 The Life Cycle of a SAS Application
Maintenance and Upgrade
Monitor the system
Remove bottlenecks
Optimize code and usage
Plan for regular updates
(http://support.sas.com/techsup/news/tsnews.html)
Upgrade to latest (when feasible) but dont leave it too late
47
SMUG 23-May-2012 The Life Cycle of a SAS Application
CPU(s) x Cores
Brain
Memory x GB
Fast local storage
Disk I/O
Large storage
Slow access
Network
Connects distributed systems
May connect disks
Identify bottlenecks after
looking at all servers
Understand workload mix
SAS is I/O bound
Monitor system and Identify Bottlenecks
SMUG 23-May-2012 The Life Cycle of a SAS Application
48
Migration to SAS 9.2/9.3 Examples
Choose from the following approaches
Migrate content using the automated migration tools
as a part of the install process
e.g. Simple Single machine install with no
customizations, no platform changes
Install a new SAS 9.2/9.3 environment and promote
selected content from 9.1.3
e.g. Simple, Medium, Complex Selectively migrated
content in a large Govt. organization, Healthcare
company, Top 4 bank
Or use a combination of these approaches
Always discuss the approach in detail during the
migration assessment phase
e.g. Complex Large Telco customer with a 4 year old
SAS Solution implementation with customizations
SMUG 23-May-2012 The Life Cycle of a SAS Application
49
Q and A Opportunity
Please share your questions
with us. ?
Thank you
SMUG 23-May-2012 The Life Cycle of a SAS Application
50
SAS Ti ps & Tr i c k s
For mat s
Mat t hew Rodger
Seni or Del i ver y Manager
ANZ
mat t hew .r odger @anz.c om
We have al l c ome ac r oss f or mat s
We all had to handwrite something at some stage printed or
cursive?
We have also had to chose a font in MS Word or an alignment?
We have also formatted data in MS Excel
These are all examples of formats, that is how you want your data
displayed.
It is important to remember that formats change the way the data
is displayed, not the contents of the data
Types of SAS For mat s
SAS Defined
Character
Date and Time
ISO 8601 date, time and date time in ISO 8601 standard
Numeric
User Defined
Focus of this presentation
Basi c For mat Cr eat i on
PROC FORMAT LI BRARY=wor k;
VALUE $myst at e
' VI C' = ' Vi ct or i a'
' NSW' = ' New Sout h Wal es'
ot her = ' Ot her '
;
RUN;
Use VALUE to convert to
text and I NVALUE to
convert to numbers.
Use $ when you are
reading in text to be
formatted. Dont use the $
when you are reading in
numbers.
Usi ng f or mat s
Depends on the data type and what you intend to convert the data
to.
From character to character
my_new_var 1=PUT( myvar 1, $mf or mat . )
From numeric to character
my_new_var 2=PUT( myvar 2, myf or mat . )
From character to numeric
my_new_var 3=I NPUT( myvar 3, $myf or mat . )
Usi ng al r eady c r eat ed f or mat s
If you have formats saved in a library, which is not your work
library, you are able to use these
J ust use options fmtsearch
LI BNAME myl i b &di r ;
OPTI ONS f mt sear ch=( myl i b) ;
Cr eat i ng a f or mat f r om a dat aset
DATA f mt dat a( KEEP=st ar t end l abel t ype hl o f mt name) ;
SET mydat a END=eof ;
st ar t =myvar ;
end=myvar ;
l abel =myvar 2;
t ype=' C' ;
hl o=' ' ;
f mt name=' myf or mat ' ;
OUTPUT;
I F eof THEN DO;
st ar t =" &def aul t " ;
end=" &def aul t " ;
l abel =" OTHER" ;
t ype=" C" ;
hl o=" O" ;
f mt name=' myf or mat ' ;
OUTPUT;
END;
RUN;
PROC FORMAT LI BRARY=wor k CNTLI N=f mt dat a;
RUN;
Cr eat i ng a f or mat f r om a dat aset
start and end are the start and end of a range.
label is the numbers/characters required to be shown.
type is the type of format. C for character to character, Nfor
number to character and I&J for the informats.
hlo is for range boundaries. Hfor high, L for low and Ofor other.
A blank means that there is no upper or lower bounds or other.
fmtname is the name of the format that will be invoked using SAS
code.
How t o see t he c ont ent s of a f or mat
PROC FORMAT LI BRARY=wor k CNTLOUT=st at e;
SELECT $myst at e;
RUN;
If you dont use the SELECT statement, you will get all formats
within a given library. Alternatively, you use the EXCLUDE
statement if you dont want to view a particular format.
Make sure you have a $ for a character to character format and an
@ for an informat.
For mat s and SAS 9.2
One of the great features of SAS 9.2 is the ability to write your own
functions.
These functions can be used to create formats for reading and
displaying data.
The End
Copyright 2011, SAS Institute Inc. All rights reserved.
James Enoch
Education and Academic Manager
Wednesday 23 May 2012
james_enoch
http://www.facebook.com/SASAustNZ
http://blogs.sas.com/content/academic/
Engaging with Academia
in Victoria
63
Copyright 2011, SAS Institute Inc. All rights reserved.
SAS support for teaching and research
Teaching materials to support course development
Train-the-trainer programs
Graduate Research Fellowship
Guest lectures from staff and customers
Course projects, prizes, etc
Work Placement links
Certification programs
64
Copyright 2011, SAS Institute Inc. All rights reserved.
Where is SAS used for teaching in VIC?
65
Copyright 2011, SAS Institute Inc. All rights reserved.
Some examples of use
La Trobe University using SAS in their Masters of Business
Information Management and Systems
RMIT University using SAS in their Bachelor of Science in
Statistics
Swinburne University Using SAS in their Master of Science in
Applied Statistics
University of Melbourne in Statistics courses
Monash University in Finance courses
NMIT in their Accounting degree
66
Copyright 2011, SAS Institute Inc. All rights reserved.
What SAS skills do students develop?
It varies between Universities and Faculties, however
students pick up skills in:
Enterprise Guide
Base SAS and additional modules
Enterprise Miner
Text Miner
Soon - Forecast Server and J MP
67
Copyright 2011, SAS Institute Inc. All rights reserved.
Three ways for customers to engage with
academia and SAS skilled graduates:
1. Guest Lectures
2. Student Projects
3. Work Placement Program
68
Copyright 2011, SAS Institute Inc. All rights reserved.
What is the SAS Work Placement Program?
SAS run program that links students with SAS skills to
SAS customers for summer work placements.
The duration of a typical placement is between 6 to 12
weeks over the summer break.
Fantastic opportunity to link up with the right candidates.
Great complement to your current recruitment program.
Host employers interview and have final say on the
candidate.
Over 50% of placements lead to full-time employment.
69
Copyright 2011, SAS Institute Inc. All rights reserved.
Some of the value this provides to host
employers as well as participants?
Foot in the door that leads to further work at the host.
Experience so they hit the ground running when
starting full-time.
Try before you buy.
Enhances students academic performance by linking
theory to the real world.
Fresh ideas for an organisation.
Develop professional relationships.
70
Copyright 2011, SAS Institute Inc. All rights reserved.
Contacting the Academic Program
Interest in hosting a Work Placement
or other academic engagement?
Email me at james.enoch@sas.comor the program
coordinator geordie.tait@sas.comor come chat to me
after this.
71
Copyright 2011, SAS Institute Inc. All rights reserved.
SAS Education what do we do?
Who are we?
J ames Enoch, Education and Academic Manager
Carol Yeomans, Education Account Manager
carol.yeomans@sas.com
We run a wide variety of different training courses on SAS via
different training modes
Keen to work with you to understand your needs and develop
training plans to support your use of SAS:
Carol has recently met with team managers and users to this end and to
structure training to maximise your investment
To set a time to meet, email her or catch her after this presentation
72
Copyright 2011, SAS Institute Inc. All rights reserved.
Upcoming courses to point out:
We have a range of Melbourne based courses coming
up that can be seen on our schedule http://bit.ly/J MbrGz
BKS courses run by Bart Baesens:
Credit Risk Modelling Using SAS (30 J uly to 1 August)
Analytics: Putting it all to work (2 August)
Early bird 20% BKSES discount closes J une 11
Reserve your seat sooner rather than later.
Mixed Model Analyses Using SAS in J une
Copyright 2011, SAS Institute Inc. All rights reserved.
James Enoch
Education and Academic Manager
james.enoch@sas.com
Any questions?
ThankYouyoursignificantcontribution
totheSASUserGroup
&theSMUGCommittee
FarewellandBestwishes
MattRodger!!

Anda mungkin juga menyukai