SAS® Version 9.2 and Higher  

What's new in SAS 9.3

SAS 9.2 On-Line: Informats, Formats, Functions, Functions by Category, Lists


Returns first position of alphabetic character value. Note that special characters such as '< >' are not considered alphabetic characters and not identified with the ANYALPHA() function.  May need to also apply SUBSTR(XXX, 1, 1) ^='<' for example. - if ANYALPHA()= 0 then only numeric values

Returns first position of numeric character value - if ANYALNUM()= 0 then only non-numeric values or alpha characters 

Informat to read date values in any format - useful to read dates in mixed format as well as parital dates

Contenate multiple character variables back to back - v9func = CAT(a, b);

CAT() plus TRIM() each variable - v9func = CATT(a, b);


 CAT() plus TRIM() and LEFT() each variable - v9func = CATS(a, b);


SAS Blog
CAT() plus TRIM(), LEFT() and a separater delimiter between the variables - v9func = CATX(‘-’, a, b);

Compares two character variables, 0 if no difference

Counts occurance of text within a character variable

SYMPUT() plus TRIM(), LEFT() and PUT() with BEST12. format


Beginner Paper Getting Familiar with SAS® Version 8.2 and 9.0 Enhancements, Sunil Gupta

SAS® Paper A Sampler of What's New in SAS 9.2

HOW Paper SAS 9 Programming Ennhancements, Marje Fecht

SAS Version 9 Highlights Presentation

SAS 9.4 Reference

SAS® Version 9.2 Don't Be a SAS Dinosaur: Modernizing Programs with Base SAS 9.2 Enhancements, Warren Repole - SAS Paper

Function & Call Routine Enhancements in SAS®9 Slides

SAS® Version 7 and 8 Paper What's New in Version 7 and 8 for SAS Files?


General Papers

1. New in SAS® 9.2: It’s the Little Things That Count, Diane Olson

2. This is the Modern World: Simple, Overlooked SAS® Enhancements, Bruce Gilsen

3. Using the New Features in PROC FORMAT, Rick Langston

4. Making the Most of Version 9 Features, Marje Fecht

5. A Survey of Some of the Most Useful SAS® Functions, Ron Cody

6. An Introduction to SAS® Hash Programming Techniques, Kirk Paul Lafler

7. SAS 9 Tips & Techniques, Philip Mason

8. Overview of Base SAS Changes in 9.1, Dana Rafiee

9. The Most Useful New Parts of SAS® 9, Phil Mason

10. Helpful Hints for Transitioning to SAS® 9.4, Cindy Taylor

11. Keeping Up With the FUN: New Functions in SAS 9, Deb Cassidy

12. What's in a SAS® Variable? Get Answers with a V!, William C. Murphy [VVALUE]

13. Let the CAT Out of the Bag: String Concatenation in SAS® 9, Joshua Horstman

14. Searching for Variable Values with CAT Functions: An Alternative to Arrays and Loops, Mike Zdeb

15. When ANY Function Will Just NOT Do, Richann Watson, Karl Miller

16. Getting the Latest and Greatest from SAS® 9.4: Best Practices for Upgrades and Migrations, Jamie Williams

17. New Functions in SAS®9 – A Sampling, Keith Cranford

18. EXTENDED ATTRIBUTES: A New Metadata Creation Feature in SAS® 9.4 for Data Sets and Variables, Joseph Hinson

19. The Curious CAT (Q, S, T, X) Functions, Jinson Erinjer [CATX]

20. Let the CAT Out of the Bag: String Concatenation in SAS® 9, Joshua Horstman [CATX]

21. Purrfectly Fabulous Feline Functions, Louise Hadden [CATX]


SAS Technique
Access Method / Lookup Technique (See also DATA Step/Merge,
SAS Paper to compare)

Temporary / Permanent

 Arrays and Do-Loops
Sequential access, group related dataset or new variables or values to treat as single unit

Temporary, convenience
SET with POINT= option with STOP statement


Direct access by record number

Temporary, effective
SAS Indexes
Direct access by key variable value for more effective ascending sorting/merging and subsetting
Permanent, up to 50% faster with PROC SORT if merging datasets, up to 100% slower without PROC SORT, may prevent other procedures such as PROC APPEND


Hash Tables
Direct access by key variable value, reference datasets within DATA steps as a multiple dimensional array but with both numeric and character values

Temporary, up to 10% faster than SAS index method

Hash Tables (SAS 9: Hash Object Tip Sheet) 

1. Data Step Hash Objects as Programming Tools, Paul M. Dorfman, Koen Vyverman

2. Introduction to SAS® Hash Objects, Chris Schacherer

3. Find() the power of Hash - How, Why and When to use the SAS® Hash Object, John Blackwell

4. The SAS Hash Object in Action, Paul Dorfman

5. Think FAST! Use Memory Tables (Hashing) for Faster Merging, Gregg Snell [Index, Behind the scences]

6. An Introduction to SAS® Hash Programming Techniques, Kirk Lafler

7. SAS® HASH Programming basics, Daniel Sakya

8. DATA Step Merging Techniques: From Basic to Innovative, Art Carpenter

9. E-Z Simple Hash Object Lookups, Andrew Dagis

10. Why Hash?, Glen Becker

11. Hashing Performance Time with Hash Tables, Elena Muriel

12. I cut my processing time by 90% using hash tables - You can do it too!, Jennifer Warner-Freeman [Business application]

13. Not Just Merge - Complex Derivation Made Easy by Hash Object, Lu Zhang

14. How Do You Use Look-up Tables?, Philip Holland [Presentation]

15. Seek and Ye Shall FINDC; A Powerful Function for Qualitative Data Validation, Xiaoke Yang, Peter Landi

16. Matching Data Using Sounds-Like Operators and SAS Compare Functions, Amanda Roesch

17. Fuzzy Matching using the COMPGED Function Paulette Staum, Paulette Staum

18. Fun with Address Matching: Use of the COMPGED Function and the SQL Procedure, Bianca Salas and Elizabeth Shuster

Powered by Wild Apricot Membership Software