SESUG Proceedings 2008
These Proceedings are the official record of the 16th annual Southeast SAS Users Group (SESUG) Conference held in Birmingham, AL on October 19 – 22, 2008 at the TradeWinds Island Resorts. Neither SAS Institute Inc. nor SESUG is responsible for the accuracy or originality of this material.
The correct bibliographic citation for this publication is as follows:
SESUG 2008: The Proceedings of the Southeast SAS Users Group, St Pete Beach, FL, 2008
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. Other brand and product names are trademarks of their respective companies.
Copyright © 2008 by the Southeast SAS Users Group.
Published in the USA
Papers are made available by the Institute for Advanced Analytics as a courtesy to the SESUG community.
Business Intelligence
BI-001: Introduction to the SAS® 9 Business Intelligence Platform: A Tutorial
Greg Nelson
BI-002: Interrogate the Interrogator: Presenting SAS® Usage Information Using BI Tools
Emilio Power, Shawn D. Edney
BI-004: A Programming Methodology for Creating CDISC Domain Data Sets
John R. Gerlach
BI-005: SAS® Administration, More relevant than ever
Shawn D. Edney
BI-006: An Approach for Deriving a Timing Variable in SDTM Standards
Shaoan Yu, Joyce Gui
BI-007: Using PSI to monitor predictive model stability in the database marketing industry
Shihong Li, Sandeep Kharidhi, Matt Kramer
BI-008: Building a Clinical SAS® Programming Group from the Ground Up
Devin J. Hunt, Nicole C. Close
BI-009: SAS: The Ultimate Dashboard Machine
Jeff Wright (Presented by Greg Nelson)
BI-010: Making Sense of Enterprise Business Intelligence (EBI) Log Configuration Files to Gain Valuable Insight on User Behavior
Piyush Patel, Sandeep Kharidhi
Coders’ Corner
CC-011: Simple SAS Web Services with Ruby
Daniel Olguin
CC-012: Ruby Functions from the SAS DataStep
Daniel Olguin
CC-013: Die Macro Die!
Daniel Olguin
CC-014: Have your SAS® program email information to you or your clients
Bob Bolen
CC-015: Using External Files to Maintain An Application
Edgar Adams
CC-016: A macro for nearest neighbor imputation
Lung-Chang Chien, Mark Weaver
CC-017: PivotTable | A Powerful Tool for Data Exploration in the Pharmaceutical Industry
Wei (Lisa) Lin, June Cheng
CC-018: Exploring the Undocumented PROC SQL _METHOD Option
Kirk P. Lafler
CC-019: Formats – Let the Data Do it
Janet Stuelpner
CC-020: Conversion from Daylight Savings to Standard Time
Audrey Ewen
CC-021: Checks and Balances Using a Macro
Liza M. Thompson
CC-022: Another Way to Make Use of Variable Labels
Stephanie R. Thompson
CC-023: Smoke and Mirrors!!! Come See How the _INFILE_ Automatic Variable and SHAREBUFFERS Infile Option Can Speed Up Your Flat File Text-Processing Throughput Speed
William E. Benjamin
CC-024: Using Lookup Tables to Match Data
Wenyu Hu, Fang Chen, Liping Zang
CC-025: Poor man’s Parallel Processing using the DATA Step View
Erik Tilanus
CC-026: Gracefully Terminate a DATA step If the Input Data File is Not Available
Erik Tilanus
CC-027: Order From Chaos: Using the Power of SAS® to Transform Audit Trail Data
Yun Mai, Susan Myers, Nanthini Ganapathi, Vorapranee Wickelgren
CC-028: Standardization of Lists of Names and Addresses using SAS® Character and Perl Regular Expression (PRX) Functions
Elizabeth Heath, Priya Suresh, Ruben Chiflikyan
CC-029: 6 Cool things you can do with Display Manager
Jenine Milum
CC-030: Automated Data Converting of Character into Numeric Fields
Mila Chiflikyan, Nick L Kinsey, Ruben Chiflikyan, Valentina Grouverman
CC-031: Using Functions SYSFUNC and IFC to Conditionally Execute Statements in Open Code
Ronald Fehd
CC-032: Renaming Tool Series
Vincent Weng, Ying Feng
CC-033: Creating Order from Chaos Using SAS Functions
Kristine L. Dougherty, Vicky Feldman
CC-034: Tying it Together: Using ODS to Insert EXCEL® Hyperlinks
James E. Snider, Garland D. (David) Maddox
CC-036: Use of Post Processor in Clinical Data Reporting
Niraj J. Pandya
CC-037: SAS® Log Summarizer—Finding What’s Most Important in the SAS® Log
Milorad Stojanovic
CC-038: Stupid Human Tricks with PROC SURVEYSELECT®
David L. Cassell
CC-039: Parameter Passing by Name
Ian Whitlock
CC-172: Creating common information structures using list’s stored in data step hash objects
Shawn D. Edney
Cornerstones
CS-041: SET, MERGE, and Beyond
Erik Tilanus
CS-042: The Art of Debugging
Ian Whitlock
CS-043: Dataset Options: Beyond DROP, KEEP, RENAME, and WHERE
Sarah A. Woodruff, Ed Heaton
CS-044: Are Your SAS® Programs Running You?
Marje Fecht, Larry Stewart
CS-045: A Row is a Row is a Row, or is it? Get Comfortable with Transposing your Data
Christianna S. Williams
CS-046: PROC TABULATE and the Neat Things You Can Do With It
Wendi Wright
CS-047: A Propaudeutic For Proc SQL Joins
Lisa Mendez, Toby Dunn
CS-048: “SAS macros are just text substitution.” ARRRRGGGHHH!!!!
Dianne Piaskoski
CS-049: Macro Quoting
Toby Dunn
CS-050: The Devil Is in the Details: Styles, Tips, and Tricks That Make Your Microsoft Excel Output Look Great!
Eric Gebhart
CS-051: SAS® Resources: Places to Find Answers and Ideas
Nat Wooding
CS-052: Database Vocabulary: Is Your Data Set a Dimension (LookUp) Table, a Fact Table or a Report?
Ronald Fehd
CS-053: SAS® Add in to MS Office — A Tutorial
Angela M. Hall
CS-054: Crossing the Border: Steps to Writing SAS® Stored Processes
Peter Eberhardt
CS-055: The Various Mechanisms of Calculated OLAP Cube Measures
Angela M. Hall
CS-057: SAS® Hash Objects: An Efficient Table Look-Up in the Decision Tree
Ying Liu
CS-058: Rule based filtering — categorizing unwanted inputs
Richard A. DeVenezia
CS-059: The DoW—Loop Unrolled
Paul M. Dorfman, Lessia S. Shajenko
CS-060: MISSING VALUES: Everything You Ever Wanted to Know
Malachy J. Foley
CS-061: The Impossible — An Organized Statistical Programmer
Brian Spruell, Kevin Mcgowan
CS-062: You Want ME to use SAS® Enterprise Guide®??
Vince DelGobbo
Hands-on Workshops
HOW-063: How to Read, Write, and Manipulate SAS dates
Jenine Milum
HOW-064: SAS® Macro Programming Tips and Techniques
Kirk P. Lafler
HOW-065: Using SAS® to Parse External Data
Andrew T. Kuligowski
HOW-066: PROC SQL for DATA Step Die-Hards
Christianna S. Williams
HOW-067: PROC REPORT…Your How-to Guide for Producing Customized Summary Tables
Debbie Buck
HOW-068: A “SAS® Programmer’s” Guide to SAS® Enterprise Guide®
Marje Fecht, Rupinder Dhillon
HOW-069: The Plot Thickens from PLOT to GPLOT®
Wendi Wright
HOW-070: Using SAS Arrays to Manipulate Data
Ben T. Cochran
HOW-071: Tips and Tricks for Creating Multi-Sheet Microsoft Excel Workbooks the Easy Way with SAS®
Vince DelGobbo
Mining the Past, Seeing the Future
MPSF-072: Evaluating Predictive Models (Part 1):Computing and Interpreting the c Statistic
Sigurd W. Hermansen
MPSF-073: Model Validity Checks In Data Mining: A Luxury or A Necessity?
Michael Speed, Simon Sheather
MPSF-074: Making Sense of Census Data
Robert Matthews
MPSF-075: A Reintroduction to Spline Modeling for Non-Linear Trends
Derek Montrichard
MPSF-076: Tailoring the use of SAS® Enterprise Miner
Sascha Schubert
MPSF-077: NON LINEAR PROGRAMMING OF TIME SERIES DATA TO MINIMIZE EUTROPHICATION IN TRUCKEE RIVER, NEVADA
Anpalaki J. Ragavan
MPSF-078: PDA Data Collection: Data Collection issues…SAS® Data Step to the Rescue!
Mira Shapiro
MPSF-079: Evaluating Predictive Models (Part 2):Assessing Whether More Complex Models Predict Better
Sigurd W. Hermansen
MPSF-080: Teaching Data Mining: the University of Alabama and SAS®
Michael D. Conerly, J. Michael Hardin
MPSF-081: Biosurveillance and the Holy Grid — Does it Compute?
Russell Gann
Posters
PO-082: Rounding in SAS®: Preventing Numeric Representation Problems
Imelda Go
PO-083: Evaluating Sample Code for an Interview
Stephanie R. Thompson
PO-084: Health Status and Attitudes Towards Health in Medical Expenditure Panel Survey (MEPS) Sample Population
Pramit A. Nadpara
PO-085: Using SAS® Graphics to Explore Behavioral Health Cost Risk
Barbara Okerson
PO-086: Using SAS® to Analyze Longitudinal Study
Abbas S. Tavakoli, Kirby Jackson, Linda Moneyham, Carolyn Murdaugh
PO-087: Architecting a Regulatory Compliant Macro Library using SAS® Drug Development
Ginger Redner, Margaret M. Coughlin
PO-088: T.I.P.S. (Techniques and Information for Programming in SAS®)
Kathy Harkins, Carolyn Maass, Mary Anne Rutkowski
PO-089: ATTENUATE: A SAS® Macro for Computing Confidence Intervals for Disattenuated Correlation Coefficients
Jeffrey D. Kromrey, Robert H. Fay, Aarti P. Bellara
PO-090: Two SAS® macros for DIF Analysis
Shiqi Hao
PO-091: Parsimony vs. Complexity: A Comparison of Two-Level, Three-Level, and Cross-Classified Models Using Add Health and AHAA Data
Bethany A. Bell, Corina M. Owens, John M. Ferron, Jeffrey D. Kromrey
PO-092: Using the SAS/GRAPH® Annotate Facility to Create Timeline Plots
Erin L. Abner, Marta S. Mendiondo
PO-093: SS_SIM: A SAS® Macro for Evaluating the Statistical Properties of the Standard
Setting Process
James T. Coraggio, John M. Ferron, Jeffrey D. Kromrey
PO-170: Lessons Learned from Integrating SAS Applications
C. Jenny Shiao
Simple But Clever
SBC-114: Joins: How to Put it All Together
Janet Stuelpner
SBC-116: An innovative approach to the “other specify” recoding procedure in research survey
Ruben Chiflikyan, Barbara Bibb, Mai Nguyen
SBC-117: NOTEs in a SASLOG : Of LOST CARDs and MERGE Statements with Repeats of By Values
Andrew T. Kuligowski
SBC-119: Breaking Up Isn’t Hard To Do After All
Toby Dunn
SBC-120: Utilizing Hash Tables to Obtain Matched Post-Hoc Control Populations
Elayne Reiss, Jeffrey Reiss
SBC-121: Techniques for Developing Quality SAS® Macros
Ginger Redner, Liping Zhang, Carl Herremans
SBC-123: Data Manipulations Using Arrays and DO Loops
Patricia H. Hall, Jennifer Waller,
SBC-125: Quick ’n Dirty, Small, Useful Utility Macros
Harry J. Droogendyk
SBC-126: Which SAS AUTOs Macros Are Available to My SAS® Session?
Harry J. Droogendyk
SBC-127: Identifying and listing outliers without using PROC Format option Other=Invalid
Ruben Chiflikyan, Mila Chiflikyan, Donna Medeiros
SBC-128: Names, Names, Names — Make Me a List
Ian Whitlock
SBC-129: Tips and Tricks to Make SAS® Life Easier
Claudine Lougee
SBC-130: Using Unnamed Pipes to automate loading a sas data warehouse using only Base SAS®
Vicky Feldman, Kristine L. Dougherty
SBC-131: How to Create Variables Related to Age
Joyce Gui, Shaoan Yu
SBC-132: JavaObj, the newest production component object
Richard A. DeVenezia
SBC-133: Undocumented and Hard-to-find PROC SQL® Features
Kirk P. Lafler
SBC-134: An Optimal Way to Import Excel Worksheets into PC SAS®
Nathaniel Derby
SBC-135: Using Data to Write SAS® programs
Kevin McGowan, Brian Spruell
SBC-137: Parameter-Driven Data Validation and Transformation Or The Marriage of Microsoft Excel and SAS® Macro Variables to Solve ETL Problems
Hugh Shinn, Wanda J. Hopkins
SBC-138: Using the SAS® INPUT Statement for Not So Friendly File Formats
Inga B. Allred, Barbara Felts
Seeing is Believing
SIB-094: Flexible SAS®
Daniel Olguin
SIB-095: Degree Data for All: A Web Report Studio Reporting Solution
M. Paige Borden
SIB-096: Tag Clouds — A list of tokens, sized by relative frequency
Richard A. DeVenezia
SIB-097: Combining Text and Graphics with ODS Layout and ODS Region
Barbara Okerson
SIB-098: SAS® Graphics on ODS 9.2 Performance-Enhancing Steroids
Daniel P. O’Connor
SIB-099: Generating Fantastic Graphs in Ten Seconds or Less
Ben T. Cochran
SIB-101: An Added Dimension: Exploring OLAP Cubes with SAS® Enterprise Guide®
Rupinder Dhillon
SIB-103: Creating Your Own Worksheet Formats in exportToXL
Nathaniel Derby
SIB-104: You Use SAS®, Your Boss Uses EXCEL, Guess Where Your Results are Going to Appear! Digging Deeper into ODS to Put SAS Data into EXCEL
William E. Benjamin
SIB-105: Customized Excel Output Using the Excel Libname
Harry J. Droogendyk
SIB-106: Automation Of An Audit Waterfall Using SAS® Macros and ODS Tagsets.ExcelXP
Denise A. Kruse
SIB-107: Innovative Ways to Enhance Proc SQL Output
Kalyani D. Chaturvedula
SIB-108: New SQL Performance Optimizations to Enhance Your SAS® Client and Solution Access to the Database
Mike Whitcher
SIB-109: Tips to Customize SAS/Graph®… for Reluctant Beginners et al.
Claudine Lougee
SIB-110: Moving from Listing Reports to Visual Reports using SAS/GRAPH® Maps
Elizabeth Ceranowski
SIB-111: PROC REPORT in Color … What’s Your STYLE?
Wendy Boberg
SIB-112: Ride the Wave — Using Waterfall Graphs to Easily Depict Gaps between Starting and Ending Values
Rebecca Bremer Booth
SIB-113: SAS® Graphs in Small Multiples
Andrea Wainwright-Zimmerman
Statistics and Data Analysis
ST-139: Interpreting Three-way Interactions Using SAS®
Anh Le, Maribeth Johnson
ST-141: Complex Survey Data Analysis in SAS® and the Link between PROC SURVEYFREQ and SURVEYMEANS
Taylor H. Lewis
ST-142: Creating county-level estimates from National Weather Service data
Liang Wei, Laurie Barker
ST-143: Don’t Be Loopy: Re-Sampling and Simulation the SAS® Way
David L. Cassell
ST-144: Let Me Look At It! Graphic Presentation of Any Numeric Variable.
Anastasiya Osborne
ST-146: Time Series Analysis with SAS® and R
Samuel T. Croker
ST-147: Surviving Survival Analysis – An Applied Introduction
Christianna S. Williams
ST-148: Count Regression Models in SAS®
David Steenhard
ST-150: PROC SQL for Exact Testing Trend in Proportions
Jonghyeon Kim, Neal Oden, Sungyoung Auh
ST-151: Interactive Outlier Review and Regression Analysis in Stat Studio
Robert Seffrin
ST-152: Marketing Mix Modeling : Techniques and Challenges
Patralekha Bhattacharya
ST-154: Calculating point estimate and confidence interval of Hodges-Lehmann’s median differences using SAS® software
Lingling Han
ST-155: Stopping stepwise: Why stepwise and similar selection methods are bad, and what you should use
David L. Cassell
ST-156: Optimizing the Marketing Mix
Patralekha Bhattacharya
ST-158: Lithium Battery Analysis: Probability of Failure Assessment Using LR
Travis A. Moebes
ST-159: A SAS® Macro for Statistical Power Calculations in Meta-Analysis
Guy Cafri, Jeffrey D. Kromrey
ST-160: Reject Inference Methodologies in Credit Risk Modeling
Derek Montrichard
ST-161: Techniques for Evidence-Based Decision Making Using SAS®
Ian Stockwell
ST-162: Introduction to Bayesian Analysis Using SAS® Software
Maura Stokes
ST-163: SAS® Stat Studio: A Programming Environment for High-End Data Analysts
Rick Wicklin