What\'s Hot, What\'s Not: Skills For SAS® Professionals (35 Minutes)
-
Upload
kirk-lafler -
Category
Documents
-
view
2.274 -
download
13
description
Transcript of What\'s Hot, What\'s Not: Skills For SAS® Professionals (35 Minutes)
What's Not – Skills for SAS®
Professionals
A presentation by
Kirk Paul Lafler and Charles Edwin Shipp
,
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp
Copyright © 2007-2012 by
Kirk Paul Lafler and Charles Edwin Shipp
All rights reserved.
SAS is the registered trademark of SAS Institute Inc., Cary, NC,
USA.
All other company and product names mentioned are used for
identification purposes only and may be trademarks of their
respective owners.
2
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp
Quick Survey
3
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 4
Presentation Objectives
The SAS Professional
What’s Hot?
What’s Not So Hot?
Hot Topics
Improving Skills /
Expertise
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 5
Tables Used in Examples
Movies
Actors
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 6
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 7
The Free Dictionary by Farlex,
defines a skill as “the proficiency,
facility, or dexterity that is acquired
or developed through training or
experience.”
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 8
The services and skills you plan to
offer should be geared to adding
value in an already highly
competitive marketplace.
Lafler and Shipp
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 9
• Identify the skills you currently possess DATA/PROC step programming
Macro programming
Database design
ODS and specialized output
Web development
Technical writing
Statistical analysis
and so on . . .
Taking Inventory of Your Skills
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 10
• Identify the skills you currently possess DATA/PROC step programming
Macro programming
Database design
ODS and specialized output
Web development
Technical writing
Statistical analysis
and so on . . .
• Rank each skill Expert
Proficient
Some working knowledge
None
Taking Inventory of Your Skills
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 11
• Identify level of competence Cutting edge
Competitive
Out-of-date
Taking Inventory of Your Skills
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 12
• Identify level of competence Cutting edge
Competitive
Out-of-date
• Categorize skills by functional discipline Programming
Design
Analysis
Analytics
Data Cleaning
Teaching
Documentation
Marketing
and so on . . .
Taking Inventory of Your Skills
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 13
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 14
• Enterprise Guide – GUI point-and-click front-end application
• Hash Object – “Fast” table lookups, merges, and joins
• ODS – RTF, PDF, HTML, XML, and Excel Destinations and Tagsets
• PROC SQL – Queries, Tables, Views, Case Logic, Joins, Subqueries
• PROC REPORT – Detail and Summary Reporting
• Macro Language – Reusable Code and Tools
• Access SAS Environment – Dictionary Tables and SASHELP Views
• SAS/XML – Share Structured Data
• Business Intelligence (BI)
• http://support.sas.com –Technical Support, Online Documentation
• sasCommunity.org – Social Networking, Blogs, Tech Support
• SAS-L – List Serve of archived Technical Support Help
• LexJansen.com – Repository of “Published” SAS Papers
• SAS Certification – SAS Certified Professional Exams
• JMP software – Statistical and Data Visualization
What’s
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 15
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 16
sasCommunity.org Main Page
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 17
• Primary user interface
• GUI look-and-feel interface
• Organized into parts
Hyperlink Keywords
Log-in and Account Links
Special-purpose Tabs
Body – Welcome, Blogger’s Corner and Forums
Special-purpose Hyperlink Icons
sasCommunity.org Features
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 18
The Main Page – Dissected
Hyp
erl
ink
Ke
ywo
rds
Account Log-in Special-purpose Tabs
Body Portion
Special-purpose Icons
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 19
“Quick” Popular Links – Features
• Quick access to major categories
• Each category serves as a hyperlink
• Major categories include: Blogs on sasCommunity.org Planet
Collaborate with SAS
Events
Geographies
Opportunity Registry
Presentations
Provider’s Registry
SAS Books
User Groups
Topics
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 20
Popular Links
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 21
Bloggers Corner – Features
• Blogs created and defined by SAS users
• Found on sasCommunity.org Planet
• 31 blogs exist
• Articles (topics) are arranged alphabetically
• A partial listing of topics include: SAS Global Forum JMP Blog
DATA steps Macro Code
The SAS Dummy PROC SQL
Statistical Analysis Consulting Study SAS Blog
Avocet Solutions ProcRun;
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 22
SAS Global Forum
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 23
Bloggers Corner
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 24
Upcoming Events – Features
• Information on upcoming SAS-related events
• Click on the Events keyword hyperlink
• Found in the Events category
• SAS Software related events include: User Group meeting
Training classes
Webcasts
• Currently, 5 subcategories exist: Audio Conferences User Group Meetings
Conferences Webcasts
Training Classes
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 25
Events Page
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 26
Groups – Staying Connected
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 27
Sasopedia – Features
• Virtual area where users can provide factual information and tips on SAS Software
• Addresses Frequently Asked Questions
• Click on the Sasopedia keyword hyperlink
• Information is organized by: Procedure
Product/Solution
Statement
Topic
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 28
Using the Sasopedia
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 29
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 30
• A Hash object is a data structure
• Contains an array of items that map “keys” to their
associated values
• Implemented as a DATA step construct
• Not available in PROCs
• At the end of the process the hash object is removed
Hash Objects
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 31
• The contents of a table are read into memory once
• SAS can then repeatedly access it, as necessary
• Memory-based operations are typically faster than disk- based operations
• Users experience faster search, table lookup and merge (or join) operations
How Hash Objects Work
MOVIES Table ACTORS Table
TITLE TITLE ACTOR_LEADING ACTOR_SUPPORTING
Brave Heart Brave Heart Mel Gibson Sophie Marceau
. . . Christmas Vacation Chevy Chase Beverly D’Angelo
Christmas Vacation Coming to America Eddie Murphy Arsenio Hall
Coming to America . . . . . . . . .
. . . . . . . . . . . .
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 32
• The hash object is used by calling methods
• 26 known methods exist
• Basic syntax:
Name of the hash table (user-assigned)
Dot
Desired method by name
Specification to pass to the method
• Examples:
HashKey.DefineKey( );
HashKey.Find( );
Hash Object Syntax
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp
Method Description
ADD Adds data associated with key to hash object.
33
Hash Object Methods We’ll Discuss
DEFINEDONE Specifies that all key and data definitions are complete.
DEFINEKEY Defines key variables to the hash object.
FIND Determines whether the key is stored in the hash object.
OUTPUT Creates one or more data sets containing the data in the hash object.
DEFINEDATA Defines data to be stored in hash object.
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 34
data hash_match_merge;
if 0 then set actors; /* load variable properties into hash tables */
if _n_ = 1 then do;
declare Hash Titles (dataset:’actors’); /* declare the name Titles for hash */
Titles.DefineKey (‘Title’); /* identify variables to use as keys */
Titles.DefineData (‘Actor_Leading’,
‘Actor_Supporting’); /* identify columns of data */
Titles.DefineDone (); /* complete hash table definition */
end;
set movies;
if titles.find(key:title) = 0 /* lookup TITLE in MOVIES table with hash Titles */
then output;
run;
Merge with a Hash Object
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 35
data hash_match_merge;
if 0 then set actors; /* load variable properties into hash tables */
if _n_ = 1 then do;
declare Hash Titles (dataset:’actors’); /* declare the name Titles for hash */
Titles.DefineKey (‘Title’); /* identify variables to use as keys */
Titles.DefineData (‘Actor_Leading’,
‘Actor_Supporting’); /* identify columns of data */
Titles.DefineDone (); /* complete hash table definition */
end;
set movies;
if titles.find(key:title) = 0 /* lookup TITLE in MOVIES table with hash Titles */
then output;
run;
Merge with a Hash Object
1
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 36
data hash_match_merge;
if 0 then set actors; /* load variable properties into hash tables */
if _n_ = 1 then do;
declare Hash Titles (dataset:’actors’); /* declare the name Titles for hash */
Titles.DefineKey (‘Title’); /* identify variables to use as keys */
Titles.DefineData (‘Actor_Leading’,
‘Actor_Supporting’); /* identify columns of data */
Titles.DefineDone (); /* complete hash table definition */
end;
set movies;
if titles.find(key:title) = 0 /* lookup TITLE in MOVIES table with hash Titles */
then output;
run;
Merge with a Hash Object
2
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 37
data hash_match_merge;
if 0 then set actors; /* load variable properties into hash tables */
if _n_ = 1 then do;
declare Hash Titles (dataset:’actors’); /* declare the name Titles for hash */
Titles.DefineKey (‘Title’); /* identify variables to use as keys */
Titles.DefineData (‘Actor_Leading’,
‘Actor_Supporting’); /* identify columns of data */
Titles.DefineDone (); /* complete hash table definition */
end;
set movies;
if titles.find(key:title) = 0 /* lookup TITLE in MOVIES table with hash Titles */
then output;
run;
Merge with a Hash Object
3
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 38
data hash_match_merge;
if 0 then set actors; /* load variable properties into hash tables */
if _n_ = 1 then do;
declare Hash Titles (dataset:’actors’); /* declare the name Titles for hash */
Titles.DefineKey (‘Title’); /* identify variables to use as keys */
Titles.DefineData (‘Actor_Leading’,
‘Actor_Supporting’); /* identify columns of data */
Titles.DefineDone (); /* complete hash table definition */
end;
set movies;
if titles.find(key:title) = 0 /* lookup TITLE in MOVIES table with hash Titles */
then output;
run;
Merge with a Hash Object
4
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 39
Merge Results with a Hash Object
Movies Actors
Hash_match_merge
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 40
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 41
• SAS/ASSIST®
• SAS/FSP®
• SAS/AF®
• Screen Component Language®
• DATA _NULL_ ‒> Monospace “Custom” Reporting
What’s Not so Hot
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 42
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 43
• SAS-led courses (lecture / hands-on workshops)
• Non-SAS Institute Instructor-led courses
• Self-paced computer-based training (CBT)
• Technical Support at http://support.sas.com
• Online SAS documentation in PDF and HTML format
• User-written books from SAS Press, Books by Users (BBU)
• “White” papers: sasCommunity.org
support.sas.com
LexJansen.com
• User Group presentations and Hands-on workshops
• Webinars and other content on sasCommunity.org
• Collaborate with others (using LinkedIn and User Groups)
Improving Skills / Expertise
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 44
Three Key Areas of Certification Testing:
• SAS Programming
• Predictive Modeling
• Data Warehousing
Certified Professional Exams
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 45
Two Credentials:
• SAS Certified Base Programmer Credential
SAS Base Programming Exam for SAS 9
• SAS Certified Advanced Programmer Credential
SAS Base Programming Exam for SAS 9
SAS Advanced Programming Exam for SAS 9
SAS Programming Credentials
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 46
One Credential:
• SAS Predictive Modeling Using SAS Enterprise Miner 5.2
Predictive Modeling Using SAS Enterprise Miner 5.2 Exam
Predictive Modeling Credential
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 47
Two Credentials:
• SAS Certified Warehouse Development Specialist Credential
SAS Advanced Programming Exam for SAS 9
SAS Warehouse Technology Exam
SAS Warehouse Development Specialist Concepts Exam
• SAS Certified Warehouse Architect Credential
SAS Warehouse Technology Exam
SAS Warehouse Architect Concepts Exam
Data Warehousing Credentials
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp
The World of the SAS
Professional
What’s Not So Hot?
Improving Skills /
Expertise
Conclusion
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp
PROC SQL Beyond the Basics
Using SAS
Kirk Paul Lafler
sas
A Book for
All SAS
Users
Coming Winter 2004! Available at www.sas.com!
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 50
Coming Winter 2004! Coming in September 2012!
Learn how to Build,
Store and Access
Custom Functions
Using the FCMP
Procedure
press
Developing
Custom SAS®
Functions with the
FCMP Procedure
Odyssey Press
Kirk Paul Lafler
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp
Coming Winter 2004! Coming in October 2012!
Odyssey Press
Kirk Paul Lafler
An Introduction
to Hash
Programming
Techniques Using
SAS® Software
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp
Coming Winter 2004! Coming in March 2013!
A Book of
Best Practice
Coding
Techniques and
Examples
SAS® Best
Practices: Blueprint for Developing
Maintainable Code Using
SAS Software
press Odyssey
Press Kirk Paul Lafler
Copyright 2007 - 2012 by Kirk Paul Lafler and Charles Edwin Shipp 53
Questions?
Kirk Paul Lafler [email protected]
Thank You for Attending!
Charles Edwin Shipp [email protected]