Are You a SAS Dinosaur?

This page contains links to draft excerpts from a book by Warren Repole titled Don't Be a SAS® Dinosaur: Modernize Your SAS Code, © 2008. [See the SAS dinosaur scale below]

Warren was introduced to SAS software in 1979, began presenting papers at SAS users group conferences and meetings in the mid 1980's, and has taught SAS classes and seminars since the early 1990's.

Warren is a SAS Certified Professional, earning the SAS Certified Advanced Programmer for SAS9 credential in 2006.

Warren also maintains a sascommunity.org page.

Warren debuted portions of the book content at a SAS Global Forum 2007 Pre-Conference Seminar in April 2007 and presented an updated version of the seminar at SAS Global Forum 2008.

In 2008, he is scheduled to present a PharmaSUG 2008 Pre-Conference Seminar on Sunday, June 1 and a SESUG 2008 Pre-Conference Seminar on Sunday, October 19.

You can preview the first segment of the book (Base SAS Procedures) in PDF form.

If you are interested in obtaining a printed copy [or CD version] of the entire book, please contact Warren. (sasdinosaur@repole.com)


This page of excerpts was generated on Thursday, May 22, 2008.


Base SAS Procedures

Duplicate Observations: Remove Complete Duplicates [nodups] Printable PDF Version Comprehensive Viewable Version
Listing Reports: Insert Blank Line After every n Observation [blankline] Printable PDF Version Comprehensive Viewable Version
Transpose Data: Convert Observations into Variables [long2wide] Printable PDF Version Comprehensive Viewable Version
Summary Reports: Row and Column Percentages [tabulatepcts] Printable PDF Version Comprehensive Viewable Version

Referencing Variables

Variable Order: Reorder Variables Prior to Exporting [reordervars] Printable PDF Version Comprehensive Viewable Version
Variable Names: Rename a Numbered Range List [renamelist] Printable PDF Version Comprehensive Viewable Version

DATA Step Processing

Raw Data: Manipulate Input Data Lines [inputbuffer] Printable PDF Version Comprehensive Viewable Version

Reading and Writing Data

Combine Data: Maintain a Cumulative Data Set [append] Printable PDF Version Comprehensive Viewable Version

Metadata of SAS Processing

System Information: Files in a Folder [dirpipe] Printable PDF Version Comprehensive Viewable Version

Manipulating and Processing Dates

Date Informats: Read Inconsistent Date Forms [anydt] Printable PDF Version Comprehensive Viewable Version
Date Formats: Control the Delimiter within a Date [datedelim] Printable PDF Version Comprehensive Viewable Version

Character Functions

Investigation: Locate a Pattern (ignoring case) [find] Printable PDF Version Comprehensive Viewable Version
Parsing: Find the Final Word [scanback] Printable PDF Version Comprehensive Viewable Version

Formats and Informats

User-Defined Formats: Nested Definitions [nestedfmts] Printable PDF Version Comprehensive Viewable Version
Permanent Formats: Availability in a SAS Session [fmtsearch] Printable PDF Version Comprehensive Viewable Version
User-Defined Formats: Missing versus Non-Missing Values [missingfreq] Printable PDF Version Comprehensive Viewable Version

Macro Processing

Macro Variables: Store in Global Symbol Table [symputxglobal] Printable PDF Version Comprehensive Viewable Version
Code Generation: PROC FORMAT Code from a Data Set [executecode] Printable PDF Version Comprehensive Viewable Version
Macro Calls: Control through Conditional Logic [executeif] Printable PDF Version Comprehensive Viewable Version

SAS/GRAPH Applications

Bar Charts: Label Horizontal Chart Statistics [hbarstatlabel] Printable PDF Version Comprehensive Viewable Version

Key to the dinosaur ratings:
(generally based on the SAS software release in which a better technique became available)

Still using primarily Version 8 techniques
You just need an opportunity to get familiar with the latest features in SAS 9.
Still using primarily Version 6 techniques
You definitely should learn some of the new features in Version 8 and beyond.
Still using primarily Version 5 techniques
You are significantly behind the curve -- a budding SAS dinosaur.
At a minimum, you need to study the Version 6 documentation.
Still using primarily SAS 82 (or earlier) techniques
You are a true SAS dinosaur using "prehistoric" programming techniques.
There is no excuse, even if you are still running SAS code on a mainframe!


SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries.
® indicates USA registration.