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-003: Best Practices for SAS® BI Administrators: Using SAS Configuration Troubleshooter to Keep SAS Solutions and SAS BI Applications Running Smoothly
Tanya C. Kalich

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


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-056: “Development, Test, Production … Oh My!” Making It to the Land of Oz (also known as a satisfied IT Department) Using SAS®9 and Business Processes
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

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


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-157: SAS® Code for Variable Selection in Multiple Linear Regression Models Using Information Criteria Methods with Explicit Enumeration for a Large Number of Independent Regressors
Dennis J. Beal

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