Proceedings

Get Updates

Join our e-mail list:

MWSUG 2012 Paper Presentations

Paper presentations are the heart of a SAS users group meeting. MWSUG 2012 will feature over 100 paper presentations, posters, and hands-on workshops. Papers are organized into 11 academic sections and cover a variety of topics and experience levels.

Note: This list is subject to change. Last updated 11-Sep-2012.

Sections

Click on a section title to view abstracts for that section, or scroll down to view them all.



BI Applications/Architecture

Paper No. Author(s) Paper Title (click for abstract)
BI-01 Brian Varney Getting to Know an Undocumented SAS Environment
BI-04 Chandy Karnum Looking for the yellow brick road? A BI strategy roadmap discussion
BI-05 Chuck Kincaid Developing an Analytics Center of Excellence (Or The Care and Feeding of Magical Creatures)
BI-07 Rajesh Lal Project Automation and Tracking Using SAS
BI-08 Roger Muller
& Donald (DJ) Penix
SAS Enterprise Guide – Why and How You the Programmer Should Adopt It Now.
BI-09 Tom Miron Using Enterprise Guide Effectively
BI-10 Donald (DJ) Penix
& Roger Muller
SAS Enterprise Guide – Moving Beyond Your Initial Startup
BI-11 Kirk Paul Lafler Top Ten SAS® Performance Tuning Techniques
BI-12 Margaret Crevar Running SAS on the Grid
BI-13 Rajesh Lal
& Raghavender Ranga
How Readable and Comprehensible Is a SAS® Program? A Programmatic Approach to Getting an Insight into a Program
BI-14 Arlen Harmoning Human side of BI implementation
BI-15 Kirk Paul Lafler
& Charles Edwin Shipp
What’s Hot, What’s Not – Skills for SAS® Professionals
BI-17 Rex Pruitt Using SAS® to Audit Programming Code Versioning
BI-18 Ken Schmidt Autocall Macro Libraries
BI-19 Rafi Sheikh So you want to Install SAS?
BI-20 Rafi Sheikh SAS GRID Computing: EGO-Well what is it?
BI-21 Adam Diaz SAS Grid: Grid Enablement of SAS and Platform Suite for SAS Product Updates
BI-22 Adam Diaz SAS Grid: Grid Scheduling Policy and Resource Allocation
BI-23 Ben Cochran Creating and Using Prompts in Enterprise Guide


Coders Corner

Paper No. Author(s) Paper Title (click for abstract)
CC-01 Kirk Paul Lafler Simple Rules to Remember When Working with Indexes
CC-02 Richard Koopmann Building Macros and Tracking Their Use
CC-03 Pramod R Search Engine using SAS
CC-04 Andrew Kuligowski Converting a Binary String to a Decimal Numeric – An Exercise in Problem Solving


Customer Intelligence

Paper No. Author(s) Paper Title (click for abstract)
CI-01 Kirk Paul Lafler
& Charles Edwin Shipp
& Becky Harmon
Top Ten Sites for SAS® Users: A Review
CI-02 David Corliss Customer Sentiment Imputation Using Hash Tables
CI-03 Bruce Bedford Survival of the Milkman – How Modern Analytics is Helping an Old Fashioned Business Thrive
CI-04 Bruce Lund Direct Marketing Profit Model
CI-05 Arthur Carpenter Innovative Techniques: Doing More with Loops and Arrays
CI-06 Arthur Carpenter Programming With CLASS: Keeping Your Options Open
CI-07 Gary Cokins Applying Analytics to High-Performance Customer Profitability Models in Financial Services
CI-08 George Hurley A Brief Survey of Clustering and Segmentation for Customer Intelligence
CI-09 Rex Pruitt
& Amanda McMillan
Using Base SAS® and SAS® Enterprise Miner™ to Develop Customer Retention Modeling


Data Management/Data Mining

Paper No. Author(s) Paper Title (click for abstract)
DM-01 Patricia Hettinger New Vs. Old – Under the Hood with Procs CONTENTS and COMPARE
DM-02 Chris Schacherer The SAS Programmer's Guide to XML and Web Services
DM-04 Ian Andrews The Elephant in the Room: Hadoop & SAS Integration
DM-06 Chris Schacherer SAS® Data Management Techniques: Cleaning and transforming data for delivery of analytic datasets
DM-07 Tom Bugg Swimming With Sharks - Using Formats for Summary Data
DM-08 Alex Luttschyn SAS High Performance Computing and Greenplum
DM-09 Tera Olson A Basic Recipe for Building a Campaign Management System from Scratch: How Base SAS, SQL Server and Access can Blend Together
DM-10 Bill Donovan A CareerView Mirror: Another Perspective on Your Work and Career Planning
DM-11 LeRoy Bessler Why and How To Use SAS Macro Language: Easy Ways To Get More Value and Power from Your SAS Software Tools


Data Visualization and Graphics

Paper No. Author(s) Paper Title (click for abstract)
DV-01 Katherine Burgess
& Ashley Miller
FAQ: PROC TEMPLATE
DV-02 Zhiwu Li
& Ying Liu
Performing response surface analysis using the RSREG procedure
DV-03 Patricia Hettinger Type, Point and Click – A Practical Guide to SAS Enterprise Guide Prompts
DV-04 Girish Narayandas SAS ODS HTML + PROC Report = Fantastic Output
DV-05 Smita Sumant Flexible HTML Reporting Using Advanced Macro Programming and TableEditor Tagset
DV-06 Stephen Crosbie
& David Corliss
Are You Dense? Using Kernel Density Estimation (KDE) to Connect the Dots Amidst Uncertainty
DV-07 Deepak Asrani SAS® Output Delivery System ExcelXP Tagset: Customizing Cell Patterns, Borders, and Indention
DV-08 Natalie Parsons Van Gogh Your Data: Data Visualization Methods with SAS® Business Intelligence
DV-09 Sanjay Matange Introduction to Graph Template Language
DV-10 Sanjay Matange Quick Results with SAS ODS Graphics Designer
DV-11 Chuck Kincaid Using SAS® ODS Graphics
DV-12 Nicole Graham
& Scott Beyer
& Rusty Rierson
Use of SAS to determine broiler chick feed color preference in correlation with performance under different housing light colors.
DV-13 LeRoy Bessler Get The Best Out Of SAS ODS Graphics and the SG (Statistical Graphics) Procedures: Communication-Effective Charts, Things That SAS/GRAPH Cannot Do As Well, and Macro Tools To Save Time and Avoid Errors


Hands on Workshop (HOW)

Paper No. Author(s) Paper Title (click for abstract)
HW-01 Arthur Carpenter Doing More with the Display Manager: From Editor to ViewTable – Options and Tools You Should Know
HW-02 Arthur Carpenter Taking Full Advantage of sasCommunity.org: Your SAS® Site
HW-03 Peter Eberhardt The Armchair Quarterback: Writing SAS® Code for the Perfect Pivot (Table, That Is)
HW-04 Andrew Kuligowski Parsing Useful Data Out of Unusual Formats Using SAS®
HW-05 Andrew Kuligowski Using INFILE and INPUT Statements to Introduce External Data into SAS®
HW-06 Kirk Paul Lafler Base-SAS® PROCedures for Quick Results
HW-07 Kirk Paul Lafler Essential SAS® Coding Techniques for Gaining Efficiency
HW-08 Arthur Li Effectively Utilizing Loops and Arrays in the DATA Step


Healthcare/Pharma

Paper No. Author(s) Paper Title (click for abstract)
PH-01 Richann Watson Using a Picture Format to Create Visit Windows
PH-02 Raymond Harvey
& Dana Drzayich Jankus
& David Mosley
Random assignment of proxy event dates to unexposed individuals in observational studies: An automated technique using SAS.
PH-03 Lion Li
& Zheng Wang
& Yanhong Li
A Simple Solution for Generating Two Sets of Similar Reports
PH-04 Faye Yeh
& Melvin Munsaka
Programmed Assisted Patient Narratives (PANs) with New SAS ODS and Graphical Approaches
PH-05 Prasanna Murugesan
& Sushant Thakare
SAS® Macro tool to find source datasets used in programs
PH-06 Amie Bissonett Get SAS(R)sy with PROC SQL
PH-08 Michael Baldwin The Health Care Information Factory: An Overview of the SAS Enterprise Business Intelligence Environment at the Minnesota Department of Human Services
PH-09 Shannon Morrison, MS
& Matthew Karafa, PhD
Reproducible Research Two Ways: SASWeave vs. StatRep
PH-10 Akkarapol Sa-ngasoongsong
& Jongsawas Chongwatpol
An Analysis of Diabetes Risk Factors Using Data Mining Approach
PH-11 Stacey D. Phillips A Multifaceted Approach to Generating Kaplan-Meier and Waterfall Plots in Oncology Studies
PH-12 Barry deVille Error Reduction and Report Automation Approaches for Textually Dense Pharmaceutical Regulatory Conformance Incident Data
PH-13 Sanjay Matange Clinical Graphs Using SAS 9.2
PH-14 Alexander Pakalniskis
& Nilesh Bharadwaj
& Caren Jones
& Alein Chun
Using SAS Software to Aid in the ICD-10 Code Set Implementation


JMP

Paper No. Author(s) Paper Title (click for abstract)
JM-01 George Hurley JMP Spatial and Temporal Graphics: The Geocoded Moving Bubble Plot, Proc Geocode, and PowerPoint
JM-02 Charles E. Shipp
& Kirk Paul Lafler
Proficiency in JMP® Visualization
JM-03 Charles E. Shipp
& Kirk Paul Lafler
JMP Coding 101
JM-04 George Hurley JMP Pro Bootstrap Forest
JM-05 Chris Kirchberg Getting to the Good Part of Data Analysis: Data Access, Manipulation, and Customization Using JMP®
JM-06 Kirk Paul Lafler
& Charles Edwin Shipp
Google® Search Tips and Techniques for SAS® and JMP® Users


Poster

Paper No. Author(s) Paper Title (click for abstract)
PO-01 Nichole Graham
& Scott Beyer
& Rusty Rierson
Use of SAS to determine broiler chick feed color preference in correlation with performance under different housing light colors.
PO-02 Terrence J. Adam Comparative Medication Adherence Measures of Antihypertensive Therapy in Rural Ambulatory Clinics


SAS 101

Paper No. Author(s) Paper Title (click for abstract)
S1-01 Qiling Shi Check and Summarize SAS Log Files
S1-02 Peter Eberhardt Why the Bell Tolls 108 times? Stepping Through Time with SAS®
S1-03 Kirk Paul Lafler You Could Be a SAS® Nerd If . . .
S1-04 Kirk Paul Lafler Exploring the PROC SQL® _METHOD Option
S1-05 Peter Eberhardt Things Dr Johnson Did Not Tell Me: An Introduction to SAS® Dictionary Tables
S1-06 Scott Davis What to Do with a Regular Expression
S1-07 Arthur Tabachneck
& Matthew Kastin
& Xia Ke Shan
Sometimes One Needs an Option with Unusual Dates
S1-08 Ben First
& Andrew First
First Family Secret Santa
S1-09 Kirk Paul Lafler Add a Little Magic to Your Joins
S1-10 Jason Secosky Executing a PROC from a DATA Step
S1-11 James Lew
& Joshua Horstman
Avoiding Pitfalls when Merging Data
S1-12 Kirk Paul Lafler
& Toby Dunn
The Good, The Bad, and The Ugly
S1-13 Peter Eberhardt The SAS® DATA Step: Where Your Input Matters
S1-14 Eric Schreiber Making it add up; diagnosing merge issues using PROC SQL and simple arithmetic.
S1-15 Arthur Tabachneck
& Randy Herbison
& Ben Powell
& John King
& Richard DeVenezia
& Nate Derby
Copy and Paste Almost Anything
S1-16 Andrew Kuligowski The BEST. Message in the SASLOG
S1-17 Peter Eberhardt A Cup of Coffee and PROC FCMP: I Cannot Function Without Them
S1-18 Pramod R Understanding SAS Index
S1-20 Arthur Tabachneck
& Randy Herbison
& Andrew Clapson
& John King
& Roger DeAngelis
& Tom Abernathy
Automagically Copying and Pasting Variable Names
S1-21 Brian Varney Inventory Your Files Using SAS
S1-22 Arthur Tabachneck
& William Klein
Using SAS® to Build Web Pages Linking Photographs with Google Maps
S1-24 Peter Eberhardt The SAS® Hash Object: It’s Time To .find() Your Way Around
S1-25 Betsy Enstrom Setting the Table… of Contents: Using SAS ODS PDF Features to Organize, Link, and Navigate a Report
S1-26 Susan Bakken A SAS Solution to Create a Weekly Format
S1-27 Anthony Reeves Calling a Remote Macro Using %INCLUDE or a Stored Macro Facility
S1-28 Ben Cochran A SAS Program That Can Read a Directory's Contents


Statistics and Analysis

Paper No. Author(s) Paper Title (click for abstract)
SA-01 Doug Thompson Methods for Interaction Detection in Predictive Modeling Using SAS
SA-02 Yubo Gao Using SAS to Determine the Sample Size on the Cohen’s Positive Kappa Coefficient Problem
SA-03 Bruce Lund
& Steven Raimi
Collapsing Levels of Predictor Variables for Logistic Regression and Weight of Evidence Coding
SA-04 Michael Frick Getting the Code Right the First Time
SA-05 Michael Grierson Estimating the discrete probability distribution of the age characteristic of Veteran populations using SAS®, SAS/OR® and SAS Simulation Studio® for use in population projection models
SA-06 Anani Hoegnifioh SAS code to compute a set of new variables from Time Series variables
SA-07 Taylor Lewis Modeling Complex Survey Data
SA-08 Brian Van Dorn
& Saveth Ho
Are Sales Figures in Line With Expectations? Using PROC ARIMA in SAS to Forecast Company Revenue
SA-09 Robin High Models for Ordinal Response Data
SA-10 Matthew Russell Testing the Bayesian Suite of SAS® Procedures using Ecological Data and Comparing Simulations with WinBUGS
SA-11 Daniel Fuhrmann
& Michael Fendrich
& Lisa Berger
& Charles Plate
& Doug Lewis
& Joseph Jones
ROC analysis for the evaluation of ethyl glucuronide (EtG) as a long-term alcohol biomarker in hair and fingernails: evidence from a large college drinking study
SA-12 Deanna Schreiber-Gregory Current Health Trends and Risk Behavior Analysis in American Youth: Using a Large Sample
SA-13 Ed Blair Combined Forecasts: What to Do When One Model Isn't Good Enough
SA-14 Rick Wicklin Data Simulation for Evaluating Statistical Methods in SAS
SA-15 Kathleen Kiernan Tips, Tricks, and Strategies for Mixed Modeling with SAS/STAT® Procedures
SA-16 Anca Tilea Recursive %macro For Linear Regression Model Selection
SA-17 Neil Kamdar Creating a SAS Frequency Dataset of Valid Categorical Variables for Export to Microsoft Excel or Access
SA-19 Patrick Kelly
& Betsy Enstrom
The Avengers Assemble: Forecasting and Business Intelligence Team Up to Ease Daily Revenue Management




Abstracts

BI Applications/Architecture

BI-01 : Getting to Know an Undocumented SAS Environment
Brian Varney, Experis
Monday, 8:00 AM - 8:20 AM, Location: Greenway F

For many companies, SAS has been around for decades and there may or may not be people still around that know the details about the SAS deployment. For a more complex SAS environment(such as SAS Enterprise Business Intelligence), it is harder to decipher how it was deployed. This paper intends to help communicate the steps on how to become familiar with the details of a SAS environment whether it is a basic SAS Foundation install or a multi-server SAS Enterprise Business Intelligence Environment. This paper intends to help a new SAS administrator or user become familiar with a SAS environment for which there is no or limited documentation.


BI-04 : Looking for the yellow brick road? A BI strategy roadmap discussion
Chandy Karnum, Ace Analytics
Monday, 10:00 AM - 10:50 AM, Location: Greenway F

Every organization within any data driven industry strive to maintain the best of breed BI tools and practices to stay abreast of changes in the market. Regardless of changes in customer behavior, economic trends and market regulations organizations have to stay nimble and remain competitive in the market. For example, during recent times the Health Insurance industry has come under drastic uncertainties created by the recession and the changes created by the health care reform law along with migrating to ICD-10 standards. In the health insurance market, adapting to these major market changes are similar to bracing for a “Tsunami” that will have far reaching effects across the organization affecting every aspect from the technology framework to culture and to peoples’ mindset. Organizations need to rethink how to adapt to these change by reevaluating the information technology around data warehousing, BI methodology and analysis method that will prevail in the future state. As an outcome the people and processes in an organization will somehow go through a transformational journey and discover their strengths and weakness. This a unique experience and every organization tends to have a different story that make one wonder if it is similar discovering and hiking the proverbial “yellow brick road.” In this paper, I will walk you through a stimulating discussion that lets you into the minds of thought leaders in organizations that work on solving towards a strategic vision of building the BI strategy roadmap. Organizations normally start by looking within to understand critical success factors in their existing information delivery and have concluded that central to the answer is that they recognize the value of their information assets and alter their strategic vision with new perspective. After all, BI strategy is a roadmap that enables businesses to measure their performance and seek out competitive advantages that help them succeed to the vagari


BI-05 : Developing an Analytics Center of Excellence (Or The Care and Feeding of Magical Creatures)
Chuck Kincaid, Experis Business Analytics
Monday, 4:30 PM - 4:50 PM, Location: Greenway F

Analytics is becoming a mission-critical venture for companies who want to be ahead of their competition. For those of us in the field it’s been a long-time coming and we’re excited to see the possibilities. But what does it take for companies to really succeed in analytics? We have a talent shortage of analytics professionals, a wealth of tools and technology, tons of buzz words, and organizations that know they want it, but don’t know what “it” is. Based on our experience and expertise, this paper will give the reader insight into some of the challenges of building an Analytics Center of Excellence and guidance in ways to overcome it. The paper will be accessible and valuable to any attendee in any industry. It will be of particular interest to anyone with the desire to promote analytics within their organization.


BI-07 : Project Automation and Tracking Using SAS
Rajesh Lal, Experis
Tuesday, 1:00 PM - 1:20 PM, Location: Greenway F

During the life cycle of a clinical trial study/project, there are various tasks that are done manually, ranging from project setup to tracking of project status, and project wind-up. Manual tasks are always time and effort intensive and prone to errors, especially when the number of programs and outputs to be created in the project is large and timelines are tight. By automation of some of these tasks, timely production and validation of standardized programs and outputs can be ensured. This paper describes the design of a utility that is implemented in SAS®, automates the project startup related activities, keeps track of validation comparison status, status from validation documents, re-validation requirements, version control status, SAS log check status, program readability status, overall validation status and performs project wind-up activities. The utility helps ensure that a project team always has an up-to-date picture of validation status during the life cycle of a project, is regulatory compliant for computer system validation and prepared for internal or external audits.


BI-08 : SAS Enterprise Guide – Why and How You the Programmer Should Adopt It Now.
Roger Muller, First Phase Consulting
Donald (DJ) Penix, Pinnacle Solutions
Monday, 3:30 PM - 4:20 PM, Location: Greenway F

SAS Enterprise Guide (EG) has matured into a developmental tool useful to all levels of SAS programmers. Whether you are a developer of traditional coded programs for batch processing or a developer of interactive end-user systems, you should advance on to Enterprise Guide as one of your development tools. This tutorial covers a wide range of introductory topics to get you productive quickly with SAS EG. The paper examines the use of SAS EG on the PC in combination with a Unix server which also has SAS. Both machines have also licensed a separate product -- SAS/Connect for use in analyzing data residing on other SAS servers. Following a quick overview of the key components of EG and the user interface, the tutorial will cover the newly enhanced SAS editor, the numerous outputs available from EG, and finally the structure of the EG project file including data, SAS programs, output, notes and more. Workflow will be shown both with and without the use of SAS/Connect to other computers. Strong differentiation will be made on the advanced capabilities of exploring SAS data sets in EG with the Query Builder as opposed to the Viewtable facility in PC SAS. Approaches to structuring SAS code that smoothly transitions to other environments will be covered.


BI-09 : Using Enterprise Guide Effectively
Tom Miron, System Seminar Consultants
Tuesday, 3:00 PM - 3:50 PM, Location: Greenway F

Enterprise Guide is not just a fancy program editor! EG offers a whole new window onto the power of SAS software. Enterprise Guide requires a different perspective on system design than the use of straight SAS coding. This paper discusses use of the Enterprise Guide environment and features of Enterprise Guide that can make your applications more user friendly and maintainable. We will look at client-server architecture issues, visual v. text layout, and EG best practices.


BI-10 : SAS Enterprise Guide – Moving Beyond Your Initial Startup
Donald (DJ) Penix, Pinnacle Solutions
Roger Muller, First Phase Consulting
Tuesday, 10:00 AM - 10:50 AM, Location: Greenway F

Once you have mastered the basics of SAS Enterprise Guide (EG), what do you do about all the other features/extras that may or may not be available to you depending upon your licensing, installation and development needs. You may be at a point where you think EG is just a drag-and-drop facility for some SAS Procedures, or you may think it is nothing more than a user-friendly overlay on top of interactive PC SAS. What else do you look for? What do you ask for? What do you forget about? This tutorial covers the reasons for and the use of some of the following: SAS Integrated Technologies, SAS Management Console, SAS Metadata Server, Stored Processes, Scheduler, Conditions, Prompts, the SAS Add-in for Microsoft Office and more. The approach will be one of: --show me what it is, --tell me why I want to use (or do not want to use it) and --give me simple example of how to use it.


BI-11 : Top Ten SAS® Performance Tuning Techniques
Kirk Paul Lafler, Software Intelligence Corporation
Monday, 8:30 AM - 9:20 AM, Location: Greenway F

The Base-SAS® software provides users with many choices for accessing, manipulating, analyzing, processing and producing data and results. Partly due to the power offered by the SAS software and the size of data sources, many application developers and end-users are in need of guidelines for more efficient use. This presentation highlights my personal top ten list of performance tuning and coding techniques for SAS users to apply in their applications. Attendees learn DATA and PROC step language statements and options that will help conserve CPU, I/O, data storage, and memory resources while accomplishing tasks involving processing, sorting, grouping, joining (merging), and summarizing data.


BI-12 : Running SAS on the Grid
Margaret Crevar, SAS Institute
Tuesday, 8:00 AM - 8:50 AM, Location: Greenway F

Have you ever wondered if you are really prepared to start the installation process of SAS software on your hardware? Perhaps you have read the System Requirements sheets for your SAS release and version, and the appropriate SAS platform administration guide for your operating system. Are there other crucial items to consider before the installation process that are targeted toward your company’s expected performance of SAS?


BI-13 : How Readable and Comprehensible Is a SAS® Program? A Programmatic Approach to Getting an Insight into a Program
Rajesh Lal, Experis
Raghavender Ranga, Vertex
Tuesday, 11:00 AM - 11:50 AM, Location: Greenway F

In any programming language, there are general guidelines for writing “better” programs. Well-written programs are easy to re-use, modify, and comprehend. SAS programmers commonly have guidelines for indentation, program headers, comments, dead code avoidance, efficient coding, etc. It would be great if we could gauge a SAS program’s quality by quantifying various factors and generalize for individual programming styles. This paper aims to quantify various qualitative characteristics of a SAS program using Perl regular expressions, and provide insight into a SAS program. This utility, when used across a large project, can serve as a tool to gauge the quality of programs and help the project lead take any corrective measures to ensure that SAS programs are well written, easily comprehensible, well documented and efficient.


BI-14 : Human side of BI implementation
Arlen Harmoning, Minnesota Management & Budget
Tuesday, 9:00 AM - 9:20 AM, Location: Greenway F

The proliferation and refinement of Business Intelligence (BI) software is reflective of the exponential growth occurring in the ‘Information Age’ and the ‘Digital Revolution’. However, the adoption rate of BI among global organizations and specifically the human users in those organizations has not met the expectations of the marketers of these BI tools and puzzled many who analyze and monitor the technology and business world. While the technology vendors have refined their tools, addressing ease of use, real time data, mobility and intuitive use; management science has focused on the implementation of these tools within a complete system. Organizational culture has not changed at the same rate as technology, and human behavior may be a contributing factor that needs to be considered for a successful implementation. In a ‘hind-sight’ case study reflection, personal observations are shared which validate current thinking about the slower than expected adoption of BI.


BI-15 : What’s Hot, What’s Not – Skills for SAS® Professionals
Kirk Paul Lafler, Software Intelligence Corporation
Charles Edwin Shipp, Consider Consulting, Inc.
Monday, 1:30 PM - 2:20 PM, Location: Greenway F

As a new generation of SAS® user emerges, current and prior generations of users have an extensive array of procedures, programming tools, approaches and techniques to choose from. This presentation identifies and explores the areas that are hot and not-so-hot in the world of the professional SAS user. Topics include Enterprise Guide, PROC SQL, JMP, PROC REPORT, Macro Language, ODS, DATA step programming techniques such as arrays and hashing, sasCommunity.org®, LexJansen.com, JMP®, and Output Delivery System (ODS).


BI-17 : Using SAS® to Audit Programming Code Versioning
Rex Pruitt, PREMIER Bankcard, LLC
Monday, 9:30 AM - 9:50 AM, Location: Greenway F

The solution presented will walk through the problem and how it was solved with an automated Base SAS® programming solution. Some featured techniques include SYSTASK Commands, Macro Processing, and Text Mining using SAS Functions.


BI-18 : Autocall Macro Libraries
Ken Schmidt, Truven Health Analytics
Tuesday, 1:30 PM - 1:50 PM, Location: Greenway F

The power of SAS Macros can speed up programming time, eliminate errors, as well as insure consistency of assumptions. The presentation will include how to set up a macro directory, how to assign macro names, and provide general descriptions of some of the most useful macros used in a library.


BI-19 : So you want to Install SAS?
Rafi Sheikh, Analytiks Int'l, Inc
Monday, 10:00 AM - 10:50 AM, Location: Greenway BC

Using SAS Office Analytics bundle as an example to demonstrate the importance of preparing for the SAS install. There are many nuances as well as requirements that need to be addressed before an install occurs. These requirement mainly are similar yet differ according to the target install Operating System, in other words, there are some differences in preparation routines for Windows and *Nix flavors. Our discussion focuses on these three topics: 1. Pre-install considerations such as sizing, Storage, proper credentials, third party requirements 2. Install steps and requirements, and 3. Post Install configuration In addition to the preparation this paper also discusses potential issues and pitfalls to watch out for as well as best practices


BI-20 : SAS GRID Computing: EGO-Well what is it?
Rafi Sheikh, Analytiks International, Inc
Monday, 8:00 AM - 8:20 AM, Location: Greenway BC

EGO, Enterprise Grid Orchestrator service is authored by Platform Computing and bundled with SAS Grid offering and is a mechanism by which Critical SAS services are monitored and their availability maintained. Some SAS services such as SAS Metadata, Object Spawners Web Applications, etc. are critical and crucial for a SAS platform operation. There are different techniques of providing fail over setup, such as hot-hot, cold-hot. Once a setup is completed that is another host or hosts are provided, configured, SAS EGO provides the mechanism to monitor, fail over, start fail over server, and as a load balancer. The paper introduces EGO, its purpose, best practices, and some setup scenarios.


BI-21 : SAS Grid: Grid Enablement of SAS and Platform Suite for SAS Product Updates
Adam Diaz, IBM Platform Computing
Monday, 11:00 AM - 11:50 AM, Location: Greenway F

SAS Grid: Grid Enablement of SAS and Platform Suite for SAS Product Updates


BI-22 : SAS Grid: Grid Scheduling Policy and Resource Allocation
Adam Diaz, IBM Platform Computing
Tuesday, 9:30 AM - 9:50 AM, Location: Greenway F

SAS Grid: Grid Scheduling Policy and Resource Allocation


BI-23 : Creating and Using Prompts in Enterprise Guide
Ben Cochran, The Bedford Group
Monday, 2:30 PM - 3:20 PM, Location: Greenway F

This paper takes a step by step approach to creating and using prompts in Enterprise Guide. First, creating simple prompts will be illustrated, then the discussion turns to creating cascading prompts. This paper also illustrates the creating of stored processes and how to utilize prompts in them as well.


Coders Corner

CC-01 : Simple Rules to Remember When Working with Indexes
Kirk Paul Lafler, Software Intelligence Corporation
Monday, 8:00 AM - 8:10 AM, Location: Skyway B

SAS users are always interested in learning techniques related to improving data access. One way of improving information retrieval is by defining an index consisting of one or more columns that are used to uniquely identify each row within a table. Functioning as a SAS object, an index can be defined as numeric, character, or a combination of both. This presentation emphasizes the rules associated with creating and using indexes to make information retrieval more efficient.


CC-02 : Building Macros and Tracking Their Use
Richard Koopmann, Capella University
Monday, 1:30 PM - 1:40 PM, Location: Skyway B

Many of the routine tasks we do in SAS can be converted into parameterized macros. Whether you are pulling standard data sets for ad hoc reports or some other low-level functionality, macros can help make repetitious tasks more palatable. Developing a common macro script structure and committing to it are just the first steps toward having a more concise code base. One immediate benefit of using macros is the ease of implementing code changes. Typically, estimating the impact of impending source changes is a distributed task—end-users are asked to identify potential breaks in their code base. If these users tend to work with different versions of code for different projects or requests, the number of SAS files to scour through quickly multiplies. With macros, there will be a small fraction of SAS files to evaluate. Further, when it comes time to implement the changes, working with a smaller number of macros will always be easier than working with a larger number of files. Macros have a tendency to proliferate in their own right, though this is hopefuly the result of identifying new opportunities for macros to replace longer pieces of code. With many macros being used throughout an organization, being able to track their use also becomes important. Tracking what macros are called when and by whom provides those responsible for maintaining the macros with vital informaiton which can be leveraged to gather targeted feedback regarding upgrades or help identify macros to be discontinued. This paper outlines framework for developing component macros that report back macro usage. While the framework was developed in a SAS 9.1/9.2 client-server environment (running under Windows XP, 32-bit), it should work under any client-server environment and could be modified to run under disparate clients sharing a common networked drive.


CC-03 : Search Engine using SAS
Pramod R, Target Corporation
Monday, 3:30 PM - 3:40 PM, Location: Skyway B

It is a world of search engines. We have Google, Yahoo and Bing as the major giants in the search engines. This paper attempts to have a SAS Enterprise Guide application which mimics the functionality of a search engine. The SAS procedure – proc http enables you to connect to the internet and access the web pages, APIs that are available on the internet servers. Google offers a free API for accessing its Custom Search engine which is accessed using the proc http. I first create a stored process in SAS Enterprise Guide 4.3 which has a text box to take in the search key words from the user. This is then captured in the prompt macro variable and passed on to the Google Custom Search API as a parameter along with the API key and other variables using the PROC HTTP or cURL tool in UNIX. The Google webservice throws out the result after processing the API which is then displayed in the SAS result in the Enterprise Guide output window. Products Used: SAS 9.2, SAS Enterprise Guide 4.3, Unix AIX with Curl installed. Expected background of the Audience: Anyone who has a good understanding of SAS and optionally good understanding of the basic web technology background like the webservices, API, etc


CC-04 : Converting a Binary String to a Decimal Numeric – An Exercise in Problem Solving
Andrew Kuligowski, consultant
Tuesday, 10:30 AM - 10:40 AM, Location: Skyway B

A recent situation required me to determine the decimal equivalent of a binary string of 1s and 0s. This paper will review the thought process that went into the creation of a quick and dirty macro to do the job, as well as walk through the code itself. This paper will also review whether or not the author really needed the tool, and if better / quicker alternatives might have been available.


Customer Intelligence

CI-01 : Top Ten Sites for SAS® Users: A Review
Kirk Paul Lafler, Software Intelligence Corporation
Charles Edwin Shipp, Consider Consulting, Inc.
Becky Harmon, Wells Fargo
Monday, 4:00 PM - 4:50 PM, Location: Greenway G

We review the top ten sites for SAS® users, beginning with support.sas.com and sas.com. We then expand to sasCommunity.org, jmp.com, and six other popular sites that assist users with SAS-related content. If you use a search engine like Google to search for SAS-related content and Web sites, you will get over 79 million hits. In this paper, we present the results from an unscientific, but interesting, survey and analysis we conducted about the sites visited by users who replied to our survey. From the more than 1,000 users who were asked to respond to our survey, we share many interesting insights, along with a list of the top ten sites users’ access for SAS-related content.


CI-02 : Customer Sentiment Imputation Using Hash Tables
David Corliss, Marketing Associates
Monday, 9:00 AM - 9:50 AM, Location: Greenway G

Hash tables provide a powerful methodology for leveraging bid data by formatting an n-dimensional array with a single, simple key. This advancement has empowered SAS programmers to compile exponentially more missing data points than ever before. A hash table can support storage and fast analytics for a group of people, keyed by an ID number, containing hundreds of fields of all types including variable-length fields, in which the majority of data in this vast array is empty. However, the hash structure also offers the key to this paradox, supporting n-dimensional analytics to calculate maximum likelihood estimates for missing values using the data that is available. An important application of this is in sentiment analysis, where text from customer contacts, tweets, social media sites and other sources can be compiled for a large group of people, expressing their likes or dislikes for particular products. Most people will not have an expressed sentiment for most products. In this case, information on each customer along with sentiments expressed for other products are used to estimate their sentiment for other products where their customer’s preference has not been made known.


CI-03 : Survival of the Milkman – How Modern Analytics is Helping an Old Fashioned Business Thrive
Bruce Bedford, Oberweis Dairy
Monday, 8:00 AM - 8:50 AM, Location: Greenway G

The attainment of customer loyalty is not the end-goal, but it does strongly correlate with building a profitable business. In our current hyper-competitive consumer environment business survival often depends on earning the loyalty of customers. The value of analytics to improve customer loyalty is now broadly recognized. In consumer businesses with multiple channels to market, the requirements to earn customer loyalty in one channel may be substantially different than those of another. Examples of two such consumer marketing channels are (a) bricks and mortar retail store fronts and (b) home delivery services supported by web-based product selection and ordering. Though each channel appeals to different customer segments, common to both is that customer loyalty is earned when the right mix of product selection, quality and service is reliably delivered at a competitive price. This paper presents two case studies in which the use of analytics led directly to improved profitability through increased loyalty. The first case illustrates how mixed model analytics was applied to longitudinal data to help a retail ice cream store chain redesign its in-store menu boards to improve profitability, while increasing speed of service. The second case illustrates how survival analysis was applied to a home delivery service business to drive customer loyalty through improved new customer acquisition program features. In particular, this paper shows how survival analysis provided insights that led to more than a 25% improvement in customer retention in a milk home delivery business.


CI-04 : Direct Marketing Profit Model
Bruce Lund, Marketing Associates, LLC
Monday, 11:00 AM - 11:50 AM, Location: Greenway G

Net Lift models provide probabilities (and ranks) for the "incrementality" of a prospect in a direct marketing or customer retention campaign. Typically, a Net Lift model would be applied to a campaign which included an offer of value to the prospect. An approach to Net Lift modeling is discussed in this paper. It involves three component models. The first component model compares the buyers in treated group vs. the buyers in control to give the probability a treated purchase is incremental. The second component is a traditional in-market model which is built on the full control group. The third component model gives the probability that a treated buyer will use the offer (versus buying without being aware of the offer). Costs and profits are externally provided. Then the three modeling components, costs, and profits are combined into a single formula in order to rank a prospect list in terms of expected profit per prospect. All data and models were processed using Base SAS® and SAS Stat. Base SAS and SAS Stat. Programmng skill: introductory. Assumes: Experience in using Logistic Regression (PROC LOGISTIC)


CI-05 : Innovative Techniques: Doing More with Loops and Arrays
Arthur Carpenter, CA Occidental Consultants
Tuesday, 1:00 PM - 1:50 PM, Location: Greenway BC

DO loops and ARRAY statements are common tools in the DATA step. Together they allow us to iteratively process large amounts of data with a minimum amount of code. You have used loops and arrays dozens of times, but do you use them effectively? Do you take advantage of their full potential? Do you understand what is really taking place when you include these statements in your program? Through a series of examples let’s look at some techniques that utilize DO loops and ARRAYs. As we discuss the techniques shown in the examples we will also examine the use of the loops and the arrays by highlighting some of the advanced capabilities of these statements. Included are examples of DO and ARRAY statement shortcuts and ‘extras’, the DOW loop, transposing data, processing across observations, key indexing, creating a stack, and others.


CI-06 : Programming With CLASS: Keeping Your Options Open
Arthur Carpenter, CALOXY
Monday, 2:00 PM - 2:50 PM, Location: Greenway G

Many SAS® procedures utilize classification variables when they are processing the data. These variables control how the procedure forms groupings, summarizations, and analysis elements. For statistics procedures they are often used in the formation of the statistical model that is being analyzed. Classification variables may be explicitly specified with a CLASS statement, or they may be specified implicitly from their usage in the procedure. Because classification variables have such a heavy influence on the outcome of so many procedures, it is essential that the analyst have a good understanding of how classification variables are applied. Certainly there are a number of options (system and procedural) that affect how classification variables behave. While you may be aware of some of these options, a great many are new, and some of these new options and techniques are especially powerful. You really need to be open to learning how to program with CLASS.


CI-07 : Applying Analytics to High-Performance Customer Profitability Models in Financial Services
Gary Cokins, SAS Institute
Monday, 10:00 AM - 10:50 AM, Location: Greenway G

Where financial services companies have looked at customers in the past, much of the literature focuses on the “apex” customers. These are the top 10–50 customers by value, whose importance to the business means that they demand an extraordinary service, often at the expense of profitability. Historically, it was difficult to build models of a scale that produce customer profitability, so models tended to stop at segment level. We have tended to rely on the traditional rather arbitrary groupings used within a business, and this can disguise important trends. Bringing together analytics and high performance in memory profitability models allow us to discover hidden patterns in behaviors that cross arbitrary boundaries in the financial services industry and refine our interpretation of intermittent risks.


CI-08 : A Brief Survey of Clustering and Segmentation for Customer Intelligence
George Hurley, The Hershey Company
Monday, 3:00 PM - 3:50 PM, Location: Greenway G

Clustering and segmentation is important in nearly all industries as it allows businesses to identify and categorize customers. Using this approach a business can market and develop products for a targeted segment(s). The methods of these targeted objectives are dependent on business need, industry and type; that is, one industry may use a direct mail campaign, while another uses an ad campaign to one segment, and develops a new product for another. Regardless of the business implementation, the underlying methodology of segmentation is fairly similar. In this paper, implementation and basic technical aspects of hierarchical clustering, k-means clustering, normal mixtures, and self-organizing maps will be discussed. These methods are all available in JMP Pro. In addition to comparing these methodologies, the paper will also discuss some common business uses of clustering.


CI-09 : Using Base SAS® and SAS® Enterprise Miner™ to Develop Customer Retention Modeling
Rex Pruitt, PREMIER Bankcard, LLC
Amanda McMillan, South Dakota State University
Monday, 1:00 PM - 1:50 PM, Location: Greenway G

In this paper I will describe how to develop the components necessary using SAS tools and business analytics to effectively identify a “Good Customer”. The resulting “Good Customer Score” is intended for use in modeling exercises designed to help improve the cost effectiveness and development of Acquisition, Rewards, Retention, and Recovery efforts at PREMIER. “Good Customer Score” has been added to PREMIER’s Data Warehouse and is being used to develop and implement specific targeted Retention and other strategies with an estimated $50+ Million in annual revenue lift identified thus far.


Data Management/Data Mining

DM-01 : New Vs. Old – Under the Hood with Procs CONTENTS and COMPARE
Patricia Hettinger, Citigroup
Tuesday, 8:00 AM - 8:20 AM, Location: Greenway D

There’s SuperCE for comparing text files on the mainframe. Diff and sdff are there for the UNIX environment. But what about SAS datasets? A straight text comparison doesn’t tell us nearly enough. This paper explores some options for the CONTENTS and the COMPARE procedures to make testing easier and the results more understandable. A brief primer on the physical nature of SAS datasets is also included.


DM-02 : The SAS Programmer's Guide to XML and Web Services
Chris Schacherer, Clinical Data Management Systems, LLC
Tuesday, 8:30 AM - 9:20 AM, Location: Greenway D

Extensible Markup Language (XML) provides a flexible means of organizing and transmitting data for consumption by both humans and computers. As such, it has come to be widely used in rendering data within web applications as well as for data transmission via the internet. Because of XML's growing role in data interchange, it is increasingly important for SAS programmers to become familiar with SAS technologies and techniques for creating XML output, importing data from XML files, and interacting with web services—which commonly use XML file structures for transmission of data requests and responses. The current work provides detailed examples of techniques you can use to perform these tasks using the XML Mapper®, XML libname engine, Output Delivery System®, FILENAME statement, and the SOAP functions available beginning in SAS 9.3.


DM-04 : The Elephant in the Room: Hadoop & SAS Integration
Ian Andrews, EMC/Greenplum
Tuesday, 9:30 AM - 10:20 AM, Location: Greenway D

Recent computing and business trends have triggered an explosion in the amount of unstructured data companies generate each day. That’s why Big Data analytics can give you a competitive advantage. By extracting the knowledge wrapped within unstructured and machine-generated data, your enterprise can make better decisions that drive revenue and reduce costs. Hadoop has rapidly emerged as the preferred solution for Big Data analytics across unstructured data. But thefast-changing Hadoop ecosystem can present challenges to any company that wants to standardize on core functionality and build repeatable processes. It is often up to you to determine which packages to use, provide version control, test for compatibility, and deploy functionality into production. This can lead to many time-consuming failed attempts—and, ultimately, a dead end. During this session you’ll learn about Greenplum Hadoop solutions, leveraging a product called Greenplum HD, and how it can enable you to take advantage of Big Data analytics without the overhead and complexity of a project built from scratch. You’ll also learn about how Greenplum HD and SAS software can work together to store and retrieve data as if they were native SAS datasets to create a unified analytical platform.


DM-06 : SAS® Data Management Techniques: Cleaning and transforming data for delivery of analytic datasets
Chris Schacherer, Clinical Data Management Systems, LLC
Tuesday, 1:00 PM - 1:50 PM, Location: Greenway D

The analytic capabilities of SAS® software are unparalleled. Similarly, the ability of the Output Delivery System® to produce an endless array of creative, high-quality reporting solutions is the envy of many analysts using competing tools. But beneath all of the glitz and glitter is the dirty work of cleaning and managing the data in order to turn it into reliable, valid information. The current work provides detailed examples of techniques used to help the SAS programmer (1) understand the dataset with which they are working, (2) interrogate data for potential threats to the veracity of subsequent analyses, (3) overcome common challenges in creating analytic datasets, and (4) consistently deliver high-quality analytic datasets.


DM-07 : Swimming With Sharks - Using Formats for Summary Data
Tom Bugg, Wells Fargo Home Mortgage
Tuesday, 2:00 PM - 2:50 PM, Location: Greenway D

Creating summary tables for later use can be done efficiently using formats to bucket continuous variables, without the added time and disk space associated with an extra step of creating grouping, or “bucket” variables. However, if we create datasets from these procedures for later use, we must use extreme caution. Even though there may be risk associated with creating and using summary data in this manner – it can be very worthwhile Skill Level - Beginner to advanced Products Used - Base SAS (9.1)


DM-08 : SAS High Performance Computing and Greenplum
Alex Luttschyn, EMC/Greenplum
Tuesday, 3:00 PM - 3:50 PM, Location: Greenway D

Analyzing Big Data is a complex, multifaceted endeavor, characterized by extreme data volumes, high velocity, and a broad variety of data generated by people, machines, and the Internet of Things. These characteristics break current models of data management, experimentation, and analysis. As a result, many attempts to analyze big data falter as they encounter: • Reduced ability to develop and test timely new models and analytical applications. • Reduced accuracy, caused by over-reliance on subsets rather than detailed data. • Increased resource contention between teams sharing an analytical infrastructure. • Reduced analyst productivity and increased backlog, caused by system delays. SAS users are not immune. In fact, due to their analytical maturity, many SAS users encounter these challenges early in their analysis and come to view them as the critical issues in delivering on the promise of big data analytics using SAS. For companies that are using SAS to embrace big data analytics, scaling the SAS infrastructure is critical to effectively deriving business value from big data. To meet the challenges of big data analytics, SAS and EMC Greenplum have joined forces to drive innovations that deliver big data agility to SAS users. SAS High Performance Computing offerings for Greenplum accelerates the performance and capacity of SAS, enabling users to embrace big data in their analytical applications while accelerating the pace of model development, testing, and execution. Having analytical agility enables developers to build increasingly accurate models that deliver business value from big data and lead to timely business decisions.


DM-09 : A Basic Recipe for Building a Campaign Management System from Scratch: How Base SAS, SQL Server and Access can Blend Together
Tera Olson, Aimia
Tuesday, 11:30 AM - 11:50 AM, Location: Greenway D

Designing and building a custom campaign management system can be a daunting task. The system we envisioned had to manage billions of rows of data, execute all of the components of a strategic marketing program, and provide a user-friendly interface for project management. During the build we learned that success depends on clear requirements for the design team, a thoughtful and organized system architecture, and efficient, tested and documented SAS code tying it all together. This paper provides information, both practical and technical, around building a campaign management system from scratch using Base SAS, Microsoft SQL Server and Microsoft Access. It addresses what worked well and lessons learned in hopes that others who are considering building such a system can benefit from the experience.


DM-10 : A CareerView Mirror: Another Perspective on Your Work and Career Planning
Bill Donovan, Ockham™ Source
Tuesday, 10:30 AM - 11:20 AM, Location: Greenway D

ABSTRACT Career planning in today’s tumultuous job marketplace requires a more rigorous and disciplined approach, which must begin with each individual tracking his or her particular skills and experiences. The ability to organize and inventory your entire career-related experiences is the foundation of a solid career plan. The catalog of your work assignments and functional responsibilities creates a reflection of your efforts in your career to-date. All of this helps to build your CareerView Mirror.


DM-11 : Why and How To Use SAS Macro Language: Easy Ways To Get More Value and Power from Your SAS Software Tools
LeRoy Bessler, Bessler Consulting and Research
Tuesday, 3:00 PM - 3:50 PM, Location: Greenway BC

SAS Macro Language and macro variables (a.k.a. symbolic variables) let your SAS program do things for you that would ordinarily require you to make manual changes to your code every time you run it (e.g., changing title text, changing data filters, graph controls, etc.) Whenever you change your code, not only does it take extra time, but also there is a risk of inadvertently introducing an error. SAS Macro Language makes code situation-adaptive. It can adapt to changes in data, run date, data date, data date range, etc. It is an essential tool for Software-Intelligent Application Development, which delivers Reliability, Reusability, Maintainability, Extendability, and Flexibility. Strong Smart Systems are an important asset for production programs that are run by automatic scheduling and must run hands-off every time. Code using macro language also saves time and reduces error risk for ad hoc work. Any supposedly one-time ad hoc code you build has the possibility of being needed again, very likely with minor variation, to satisfy a future request for analysis, report, or data. Programs that are basically similar, but with minor variations in purpose and output, differ only in macro invocation code, which is easy to find and understand, as compared to changes buried somewhere in a huge number of lines of SAS code. Come to this introductory tutorial to get started using a powerful feature of Base SAS software that you already have, and which can be used with all of your other SAS software products as well.


Data Visualization and Graphics

DV-01 : FAQ: PROC TEMPLATE
Katherine Burgess, Sanford Research
Ashley Miller, Sanford Research
Monday, 10:00 AM - 10:50 AM, Location: Greenway D

Proc Template can be a very useful tool in SAS. It provides many options for organizing and presenting your ODS output. We will provide a brief introduction to Proc Template and demonstrate its use through SAS Table and Style Templates. Step by step examples of both will be given focusing on basic modifications such as changing fonts, colors, and traffic lighting. Not only will we discuss how to edit and define your own template from a beginners perspective, we will also demonstrate how easy it is to save your template so that you can use it in future projects, and share your template across multiple users on a single network.


DV-02 : Performing response surface analysis using the RSREG procedure
Zhiwu Li, University of Kansas Medical Center
Ying Liu, University of Missouri, Kansas City
Monday, 1:00 PM - 1:20 PM, Location: Greenway D

Response surface methodology is a set of technology to present the cause and/or effect relationship between factor variables and response variable. The standard procedure of response surface contains four steps: (a) design the experiment, (b) estimate the coefficient of response surface, (c) do the lack-of fit test, and (d) investigate the region of interest. This paper describes the SAS RSREG procedure, which was designed to for standard response surface analysis. Application of the RSREG procedure includes estimating the coefficient of response surface, lack of fit test and canonical structure analysis and predicting the new response values. The primary goal of this paper is to present an overview of RSREG procedure and how its commands used in design and analyze response surface experiments. The second goal is to provide illustrative SAS codes in producing visual graphs to deeply understand the design and data set.


DV-03 : Type, Point and Click – A Practical Guide to SAS Enterprise Guide Prompts
Patricia Hettinger, Citigroup
Monday, 1:30 PM - 1:50 PM, Location: Greenway D

Your SAS Enterprise Guide project is set up. Processes have been created, linking code in the desired order. Now if only you didn’t have to keep changing your code every time your input file name changed or your date range or …. This paper gives an overview of the prompts available in SAS Enterprise 4.3 and ways to automate your project. We will also touch on the general nature of macro variables, and the various quoting and unquoting functions.


DV-04 : SAS ODS HTML + PROC Report = Fantastic Output
Girish Narayandas, OptumInsight Inc
Monday, 11:00 AM - 11:20 AM, Location: Greenway D

ODS (Output Delivery System) is a wonderful feature in SAS to create presentable reports. Using this feature in combination with the powerful PROC Report can give you a lot more control on the report structure, design and overall appearance. You can control column width, font style and size, add colors where desired, and include a picture or a logo, just to name a few. This paper is a compilation of few tips and tricks for producing a presentation worthy HTML output making use of some of the key features that are available in ODS HTML, PROC Report and SAS Macros to automate reports.


DV-05 : Flexible HTML Reporting Using Advanced Macro Programming and TableEditor Tagset
Smita Sumant, Wyndham Exchange and Rental
Monday, 11:30 AM - 11:50 AM, Location: Greenway D

SAS ODS techniques provide the ability to create HTML outputs and help minimize manual work. However,if you still miss dynamic and interactive Excel functionalities, we have a solution! Now, you can filter, sort and conditional format HTML output just like Microsoft Excel. This paper demonstrates how advanced macro programming techniques and user-defined tagset TableEditor were used to create interactive and efficient HTML reports at RCI, the global leader in timeshare exchange and part of the Wyndham Worldwide family of companies. Advanced macro programming is applied to organize HTML pages and to create a dynamic menu page with hyperlinks. User-defined tagset TableEditor is utilized along with SAS ODS techniques to create Excel like data grids and to perform conditional formatting. The primary goal of this paper is to elaborate these programming techniques in such a way that the readers can immediately implement these methods with minimal effort. This paper is divided into three main sections: 1. Business Need section talks about initial requirements and scope of the project 2. Proposed Solution section discusses challenges faced and how they were overcome using SAS tools. 3. Technical Detail section demonstrates step by step approach towards designing the reporting system along with sample SAS code used in the project


DV-06 : Are You Dense? Using Kernel Density Estimation (KDE) to Connect the Dots Amidst Uncertainty
Stephen Crosbie, Marketing Associates
David Corliss, Marketing Associates
Monday, 2:00 PM - 2:20 PM, Location: Greenway D

Data Visualization: Smoothing data for display using Kernel Density Estimation. Application of the KDE Procedure (provided with Base SAS®) with the Univar Statement provides smoothing for data in graphs. While PROC KDE provides a great resource for smoothing data, the bandwidth selection is fixed and does not account for uncertainty / variance measurements. This paper presents a macro for smoothing data that takes into account uncertainty at each observation point. The method can be used for data with normal and nearly-normal uncertainty distributions.


DV-07 : SAS® Output Delivery System ExcelXP Tagset: Customizing Cell Patterns, Borders, and Indention
Deepak Asrani, Medtronic, Inc
Monday, 2:30 PM - 2:50 PM, Location: Greenway D

The SAS® Output Delivery System ExcelXP tagset offers the most flexible way to write SAS output to Microsoft Excel. Standard customizable options in the ExcelXP tagset handle most of the Excel formatting very well. However, given the ever-growing formatting features in Excel, there is always a need to go beyond what is available. This paper describes how to do some of the Excel formatting that requires modification of the standard ExcelXP tagset. Specifically, this paper concentrates on customizing cell patterns, borders, and indention.


DV-08 : Van Gogh Your Data: Data Visualization Methods with SAS® Business Intelligence
Natalie Parsons, SAS Institute
Monday, 8:00 AM - 8:50 AM, Location: Greenway D

From the halls of academia to the walls of museums, data visualization is an art form with ever-increasing prominence. But, how do we take data visualization concepts from these expert designs and create real-world business solutions? Using methods from distinguished data visualization experts and SAS BI, this paper presents contemporary techniques to visualize your data and simplify over-complicated reports with ample examples for both novice and expert report writers. We explore the utility of simplicity in BI reports, design guidelines that capitalize on understandings of visual perception, and optimizations for report consumption on various display media. While these techniques are applicable across industries, we focus our examples on illustrations utilizing data fundamental to the education industry.


DV-09 : Introduction to Graph Template Language
Sanjay Matange, SAS Institute
Monday, 9:00 AM - 9:50 AM, Location: Greenway D

In SAS® 9.2, the Graph Template Language (GTL) for creation of custom statistical graphs goes into production. system is used by SAS/STAT®, SAS/ETS®, and SAS/QC® procedures to create the automated graphical output from the procedures within the Output Delivery System. Now, you can access this same system to create your own custom graphs or to customize the graphs created by the SAS® analytical procedures. This presentation will help you understand the basics of GTL, and how you can leverage its features to customize your graphs.


DV-10 : Quick Results with SAS ODS Graphics Designer
Sanjay Matange, SAS Institute
Tuesday, 10:30 AM - 12:00 PM, Location: Greenway G

You just got the study results and want to get some quick graphical views of the data before you begin the analysis. Do you need a crash course in the SG procedures (also known as ODS Graphics Procedures) just to get a simple histogram? What to do? The ODS Graphics Designer is the answer. With this application, you can create many graphs including histograms, box plots, scatter plot matrices, classification panels, and more using an interactive "drag-and-drop" process. You can render your graph in batch with new data and output the results to any open destination. You can view the generated GTL code as a leg up to GTL programming. You can do all this without cracking the book or breaking a sweat. This hands-on-workshop takes you step-by-step through the application's features.


DV-11 : Using SAS® ODS Graphics
Chuck Kincaid, Experis Business Analytics
Monday, 3:00 PM - 3:50 PM, Location: Greenway D

SAS® has a new set of graphics procedures called ODS Graphics. They are built upon the Graphics Template Language (GTL) in order to make the powerful GTL easily available to the user. SGPLOT and SGPANEL are two of the procedures that can be used to produce powerful graphics that used to require a lot of work. This upgrade is similar to the ease-of-use upgrade in output manipulation when ODS was first published. This presentation will teach the audience how to use PROC SGPLOT and SGPANEL and the new capabilities they provide beyond the standard plot. By using these new capabilities, any user can tell the story better.


DV-12 : Use of SAS to determine broiler chick feed color preference in correlation with performance under different housing light colors.
Nicole Graham, Kansas State University
Scott Beyer, Kansas State University
Rusty Rierson, Kansas State University
Monday, 3:00 PM - 3:20 PM, Location: Greenway HI

Rapid changes in lighting types designed to reduce energy usage have increased the options avaliable for animal producers. Recent research indicates a positive correlation in broiler growth and welfare regarding light preference. Consequently, results of recent findings have led to the investigation of feed and light color on overall performance and welfare. Specifically, fifty newly hatched Cobb 500 broiler chicks were housed in pens illuminated with red, blue, green, yellow, or a control white light. Under each light, broilers were offered red, blue, green, yellow, and a control brown colored feed. Feed was colored using commercial food coloring. Chick color preference was recorded after at least two attempts to obtain feed crumbs; an undecided was recorded for chicks that took longer than 5 minutes to try feed. First, SAS 9.0 was used to analyze data; then, frequency and logistics tests in combination with the goodness of fit chi-square test determined overall color preference for feed and housing combinations. Overall, research showed a significant difference in light and color prefrence between chicks. Housed under blue light, chicks displayed a significant preference for red feed. However, under red house lighting, chicks showed a preference for the control brown feed. Ultimately, statistical analysis showed that chicks do display a color preference for both housing and feed.


DV-13 : Get The Best Out Of SAS ODS Graphics and the SG (Statistical Graphics) Procedures: Communication-Effective Charts, Things That SAS/GRAPH Cannot Do As Well, and Macro Tools To Save Time and Avoid Errors
LeRoy Bessler, Bessler Consulting and Research
Monday, 4:00 PM - 4:50 PM, Location: Greenway D

ODS Graphics and the SG (Statistical Graphics) Procedures are now built into Version 9.3 of Base SAS, and entail no additional software licensing charge. However, this technology comes with options and features that require optimization by you to actually get communication-effective output if you want more than simply the default results that come with no added thought or effort. This paper prescribes principles of communication-effective graphic design, and shows you how to implement them. For certain charts, macros are provided to make getting desired results easy and quick. Less code means less opportunity for coding error. The paper also emphasizes and delivers widely usable solutions that were impossible or less well rendered with SAS/GRAPH. The new tools manifest some unexpected behaviors, which do not even announce themselves in the SAS log. The paper points these out, and explains how to cope with them. After thirty years of working to get the best out of SAS/GRAPH, and twenty-five years of sharing my SAS/GRAPH solutions with SAS users, I have become a convert to the new technology. Come learn how to get the best from it.


Hands on Workshop (HOW)

HW-01 : Doing More with the Display Manager: From Editor to ViewTable – Options and Tools You Should Know
Arthur Carpenter, CALOXY
Monday, 8:00 AM - 9:30 AM, Location: Greenway AJ

If you have used the interactive interface for SAS® you have most likely used the Display Manager. As it ships, the Display Manager is very powerful and yet fairly easy to use with a minimal learning curve for the new user. Because it is functional ‘right out of the box’, most users do very little to customize the interface. This is a shame, because the Display Manager contains a great many hidden opportunities to make it even more powerful, even easier to use, and customized for your way of using the interface. The Display Manager builds a variety of windows, screens, and dialogue boxes to facilitate communication between SAS, the Operating System, and the user. For each of the five primary windows and extending to the dozens of secondary windows there are options that control the content, display, and level of interaction. Options have defaults and a majority of these can be easily changed to suite your needs. You think that you know the Display Manager, but you will be amazed at what you have yet to learn. From simple tricks that will save you hours of work, to embedding tools and macros in the Enhanced Editor; there is so very much more that we can do in the Display Manager.


HW-02 : Taking Full Advantage of sasCommunity.org: Your SAS® Site
Arthur Carpenter, CALOXY
Monday, 10:00 AM - 11:30 AM, Location: Greenway AJ

sasCommunity.org is becoming a hub or clearinghouse for technical information related to the use of SAS software. The site is managed and run by SAS users for SAS users. It is free and open to all SAS users to browse. Any SAS user can contribute to the site - just create an ID in order to contribute new content or to expand upon existing content. sasCommunity.org is built on top of the same software as Wikipedia. So if you know how to use Wikipedia, you have a head start on using sasCommunity.org. This workshop will enable attendees to: • Learn how to make use of this site • Learn how to navigate the information contained on the site. • Learn how to discover the wealth of its hidden treasures. • Find out that there are a number of ways you can contribute, and discover how you too can quickly make a difference in this world-wide community of SAS users. • Learn how even small contributions can enhance the site for everyone. Join the thousands of other SAS users who are a part of the creation of a resource that is greater than the sum of its parts.


HW-03 : The Armchair Quarterback: Writing SAS® Code for the Perfect Pivot (Table, That Is)
Peter Eberhardt, Fernwood Consulting Group Inc
Monday, 1:00 PM - 2:30 PM, Location: Greenway AJ

“Can I have that in Excel?" This is a request that makes many of us shudder. Now your boss has discovered Excel pivot tables. Unfortunately, he has not discovered how to make them. So you get to extract the data, massage the data, put the data into Excel, and then spend hours rebuilding pivot tables every time the corporate data are refreshed. In this workshop, you learn to be the armchair quarterback and build pivot tables without leaving the comfort of your SAS® environment. In this workshop, you learn the basics of Excel pivot tables and, through a series of exercises, you learn how to augment basic pivot tables first in Excel, and then using SAS. No prior knowledge of Excel pivot tables is required.


HW-04 : Parsing Useful Data Out of Unusual Formats Using SAS®
Andrew Kuligowski, consultant
Monday, 3:00 PM - 4:30 PM, Location: Greenway AJ

Most “Introduction to Programming” courses will include a section on reading external data; the first assumption they make will be that the data are stored in some sort of documented and consistent format. Fortunately, in the “real world”, a lot of the data we deal with has the same basic assumption of occurring in a documented, consistent format – a lot of it, but not all of it. This presentation will address some techniques that can be used when we are not dealing with cleanly formatted data, when the data we want is in a less-than-ideal format, perhaps intermingled or seemingly buried with unnecessary clutter. It will discuss the principles of using SAS® to parse a file to extract useful data from a normally unusable source. This will be accomplished by citing examples of unusual data sources and the SAS Code used to parse it into a usable format.


HW-05 : Using INFILE and INPUT Statements to Introduce External Data into SAS®
Andrew Kuligowski, consultant
Tuesday, 8:00 AM - 9:30 AM, Location: Greenway AJ

SAS® has numerous capabilities to store, analyze, report, and present data. However, those features are useless unless that data is stored in, or can be accessed by, the SAS System. This presentation is designed to review the INFILE and INPUT statements. It has been set up as a series of examples, each building on the other, rather than a mere recitation of the options as documented in the manual. These examples will include various data sources, including DATALINES, sequential files, and CSV files.


HW-06 : Base-SAS® PROCedures for Quick Results
Kirk Paul Lafler, Software Intelligence Corporation
Tuesday, 10:00 AM - 11:30 AM, Location: Greenway AJ

As IT professionals, saving time is critical. Delivering timely and quality looking reports and information to management, end users, and customers is essential. The SAS System provides numerous "canned" PROCedures for generating quick results to take care of these needs ... and more. Attendees learn how basic SAS PROCedures such as PRINT and FORMS produce detail output; CHART, FREQ, MEANS, PLOT, SQL, and UNIVARIATE summarize and create graphical, tabular, and statistical output; and utility PROCedures to manage data libraries; Additional topics include techniques for informing the SAS System which data set to use as input to a procedure, how to subset data using a WHERE statement (or WHERE= data set option), and how to perform BY-group processing.


HW-07 : Essential SAS® Coding Techniques for Gaining Efficiency
Kirk Paul Lafler, Software Intelligence Corporation
Tuesday, 12:30 PM - 2:00 PM, Location: Greenway AJ

As SAS® software becomes increasingly more popular as the tool of choice by application developers and end-users, guidelines for its efficient use is critical. The Base-SAS software provides SAS users with a powerful programming language for accessing, analyzing, manipulating, and presenting data. This hands-on workshop illustrates many useful coding techniques for SAS users to apply in their programs and applications. Attendees learn DATA and PROC step language statements and options that help conserve CPU, I/O, data storage, and memory resources while accomplishing tasks involving processing, ordering, grouping, joining (merging), and summarizing data.


HW-08 : Effectively Utilizing Loops and Arrays in the DATA Step
Arthur Li, City of Hope
Tuesday, 2:15 PM - 3:45 PM, Location: Greenway AJ

There are two types of loops in the DATA step: implicit and explicit loops. The implicit loop refers to the DATA step repetitively reading data and creating observations, one at a time. The explicit loop, which utilizes the iterative DO, DO WHILE, or DO UNTIL statements, is used to repetitively execute certain SAS® statements within each iteration of the DATA step execution. Utilizing explicit loops is often used to simulate data and to perform a certain computation repetitively. However, when an explicit loop is used along with array processing, the applications are extended widely, which includes transposing data, performing computations across variables, etc. Being able to write a successful program that uses loops and arrays, one needs to know the contents in the program data vector (PDV) during the DATA step execution, which is the fundamental concept of DATA step programming. This workshop will cover the basic concepts of the PDV, which is often ignored by novice programmers, and then will illustrate how utilizing loops and arrays to transform lengthy code into more efficient programs.


Healthcare/Pharma

PH-01 : Using a Picture Format to Create Visit Windows
Richann Watson, PAREXEL
Monday, 8:30 AM - 8:50 AM, Location: Greenway BC

Defining weeks based on days can be cumbersome. However if you have an algorithm that will be consistent then a picture format might just save a lot of time and coding. A format is easier to maintain than a bunch of individual programs. If a change to the algorithm is required, the format can be updated instead of updating all the programs that would contain the SAS code.


PH-02 : Random assignment of proxy event dates to unexposed individuals in observational studies: An automated technique using SAS.
Raymond Harvey, UnitedHeatlhcare Medicare & Retirement
Dana Drzayich Jankus, UnitedHeatlhcare Medicare & Retirement
David Mosley, UnitedHeatlhcare Medicare & Retirement
Tuesday, 8:00 AM - 8:20 AM, Location: Greenway BC

Limited technical resources are available to automate the random assignment of proxy event dates to unexposed populations (i.e., controls) in observational studies. Exposed and unexposed individuals have distinct eligibility dates that identify the onset of risk for exposure to the event. In addition to this eligibility date, exposed individuals also have unique treatment start dates. The time difference between the eligibility date and the event date has a frequency distribution. Based on this distribution, each unexposed individual is randomly assigned to a time difference in order to create a proxy event date (eligibility date + time difference=proxy event date). The resulting distribution of the time difference among unexposed individuals will replicate the observed distribution of the time difference of the exposed. This paper presents code to automate the random assignment of a proxy event date to unexposed individuals using Base SAS and SAS/STAT.


PH-03 : A Simple Solution for Generating Two Sets of Similar Reports
Lion Li, Merck Serono (Beijing) Pharmaceutical R&D Co., Ltd
Zheng Wang, Merck Serono (Beijing) Pharmaceutical R&D Co., Ltd
Yanhong Li, Merck Serono (Beijing) Pharmaceutical R&D Co., Ltd
Monday, 11:30 AM - 11:50 AM, Location: Greenway BC

In preparing regulatory submissions for multi-regional clinical trials, we are often required to generate two sets of reports for one trial with one set of report including the whole ITT population (i.e., subjects from all countries involved) and another partial ITT population (i.e., subjects in the country with regulatory authority). The two reports contain all contents in the same layout, and the only difference is the population selection, which should be specified in titles to differentiate one from the other. To create two sets of reports, usually programmers need to prepare two sets of programs. Meanwhile, to insure the quality, double programming and electronic comparison of outputs are needed. But we are facing extremely tight timeline with a heavy workload of more than 300 TLFs. The process we developed has been demonstrated as an efficient way to produce double outputs in one program, with different population selection. Several macros have been developed to achieve our goal. 1.%GETDB: This macro reads raw data or derived data, changes the population, and saves raw data *B or derived data *B in temporary folders; 2.%RUNB: It creates a program *B from former program *A, and saves it provisionally. Then in batch mode, program *A and program *B are submitted in succession. Now two sets of outputs have been generated successfully. 3.%TITLESB: This macro is mainly used for creating appropriate titles in regard to displaying appropriate population selection. SAS 9.1.3 was used, and we expect to have audience with intermediate skill level.


PH-04 : Programmed Assisted Patient Narratives (PANs) with New SAS ODS and Graphical Approaches
Faye Yeh, Takeda Global Research and Development, Inc
Melvin Munsaka, Takeda Global Research and Development, Inc
Tuesday, 9:00 AM - 9:50 AM, Location: Greenway BC

When addressing safety issues of concern, it is often necessary to provide narratives on specific patients. Indeed, the ICH-E3 guideline calls for provision of narratives of deaths, other serious adverse events, and certain other significant adverse events judged to be of special interest. To facilitate for this, it is useful to provide programmed assisted narratives (PANs) in the form of targeted patient profiles. PANs are also useful for internal safety review, safety monitoring, and data integrity checks. They are basically by-patient numeric and text listings organized by domain and include targeted data needed for narratives. They allow for consolidation of information about the important domains in one place without having to look at multiple listings for the subject’s data. This may include patient identifier, demographic information, and other relevant information pertaining to the events of special interest, such as, concomitant and previous illnesses, details of timing and duration and relevant concomitant and previous medication. In order to get maximum benefit in writing the narratives and to quickly identify key characteristics of importance, it is useful to integrate numeric and text output in the PANs with graphs. The use of graphs allows for multidimensional data visualization and quick assessment of the relationship between data which may not be easy to pick out from text and listing format only. This paper will discuss the integration of numeric and text PANs with graphs using SAS. SAS code for integrating text and numeric output with graphs in the PANs will be illustrated.


PH-05 : SAS® Macro tool to find source datasets used in programs
Prasanna Murugesan, Quintiles Inc
Sushant Thakare, Quintiles Inc
Monday, 11:00 AM - 11:20 AM, Location: Greenway BC

Often as a SAS programmer, we need to know the source datasets used in a program. Traditionally, this has been achieved by opening individual programs in an editor and manually search source datasets used in the program. When the search involves multiple programs, it can be time consuming and prone to errors. The paper discusses about an automated process using SAS macro which searches through the multiple SAS programs. The search result will be stored in excel format with the source datasets used in all SAS programs located in the directory. Operting system: Windows XP SAS version used: SAS 9.2 Other tools used: Microsoft Excel 2007 SAS skill level: intermediate


PH-06 : Get SAS(R)sy with PROC SQL
Amie Bissonett, Pharmanet/i3
Monday, 9:00 AM - 9:20 AM, Location: Greenway BC

As a data analyst for genetic clinical research, I was often working with familial data connecting parents with their children and looking for trends. When I realized the complexity of this programming could be accomplished quite easily with the SQL Procedure, I started learning the syntax and I’ve been a PROC SQL fan ever since. I’ve been suggesting SQL solutions to colleagues for their programming tasks for years and now I’m writing a paper to share the power of PROC SQL with you. This paper will give you some simple PROC SQL steps to get you started and some more complex steps to show you a few of the ways that PROC SQL can make your programs simpler and more efficient.


PH-08 : The Health Care Information Factory: An Overview of the SAS Enterprise Business Intelligence Environment at the Minnesota Department of Human Services
Michael Baldwin, MN ITS
Tuesday, 10:00 AM - 10:20 AM, Location: Greenway BC

In these times of tight budgets and rapid increases in health care costs, agencies who administer health care programs are under increasing pressure to monitor, analyze and report on health care data. The Minnesota Department of Human Services (MN DHS), which oversees the state’s Medicaid program, is answerable in this respect to many different stake holders, including federal and state authorities. Turning volumes of raw health care data into salient, actionable information can be a formidable task; the SAS Enterprise Business Intelligence Platform makes this task easier by providing an integrated solution for both data analysis and information dissemination. This paper shows how MN DHS uses the SAS EBI Platform to address health care reporting and analysis needs.


PH-09 : Reproducible Research Two Ways: SASWeave vs. StatRep
Shannon Morrison, MS, Cleveland Clinic
Matthew Karafa, PhD, Cleveland Clinic
Tuesday, 10:30 AM - 10:50 AM, Location: Greenway BC

SASWeave and StatRep support reproducible research, allowing users to maintain a single file containing both the SAS® source code and the report from that source code. The user need only alter a single file when there is a change, which cuts down on code error. Users must learn LATEX code and revise the way in which programs are submitted to SAS. Example code generates tables for an ongoing Food & Drug Administration (FDA) regulated clinical trial using TEST DATA ONLY. StatRep was developed by the SAS Advanced Analytics Division and can be downloaded directly from support.sas.com/StatRepPackage. StatRep uses the LATEX typesetting system to automatically submit the SAS program and generate any output or report, as well as a separate .log file and .lst folder. SASWeave can be downloaded from http://www.divms.uiowa.edu/~rlenth/SASweave/ and is not directly supported by the SAS Institute. SASWeave also uses LATEX, however, the result is one .tex file containing the SAS code, output and graphics, along with any notes from the user. Results can be passed into pdflatex, creating a formatted document. In both packages the user actually prepares a LATEX file that is compiled in LATEX, rather than entering code into SAS and running a program from there. This presentation and the accompanying paper will discuss similarities, differences, advantages and disadvantages of each, including handling of macros, report compiling and production of memos in both packages.


PH-10 : An Analysis of Diabetes Risk Factors Using Data Mining Approach
Akkarapol Sa-ngasoongsong, Oklahoma State University
Jongsawas Chongwatpol, Oklahoma State University
Monday, 9:30 AM - 9:50 AM, Location: Greenway BC

Preventing the disease of diabetes is an ongoing area of interest to the healthcare community. Although many studies employ several data mining techniques to assess the leading causes of diabetes, only small sets of clinical risk factors are considered. Consequently, not only many potentially important variables such as pre-diabetes health conditions are neglected in their analysis, but the results produced by such techniques may not represent relevant risk factors and pattern recognition of diabetes appropriately. In this study, we categorize our analysis into three different focuses based on the patients’ healthcare costs. We then examine whether more complex analytical models sing several data mining techniques in SAS® Enterprise Miner™ 7.1 can better predict and explain the causes of increasing diabetes in adult patients in each cost category. The preliminary analysis shows that high blood pressure, age, cholesterol, adult BMI, total income, sex , heart attack, marital status, dental checkup, and asthma diagnosis are among the key risk factors.


PH-11 : A Multifaceted Approach to Generating Kaplan-Meier and Waterfall Plots in Oncology Studies
Stacey D. Phillips, Pharmanet/i3
Tuesday, 8:30 AM - 8:50 AM, Location: Greenway BC

The new Statistical Graphics (SG) procedures and Graph Template Language (GTL) available in SAS® 9.2 have greatly increased the flexibility and ease with which graphs and figures are generated from SAS. This paper will demonstrate multiple methods of generating the commonly utilized Kaplan-Meier curve and waterfall plot from oncology data. Examples and discussion will range from traditional SAS/GRAPH® procedures such as PROC GPLOT to Statistical Graphics (PROC SGPLOT) and the Output Delivery System (ODS) with GTL.


PH-12 : Error Reduction and Report Automation Approaches for Textually Dense Pharmaceutical Regulatory Conformance Incident Data
Barry deVille, SAS Institute
Tuesday, 11:00 AM - 11:50 AM, Location: Greenway BC

The Periodic Safety Update Report (PSUR) is a significant feature of the post-trial, in-market monitoring of drug efficacy. The manufacturer’s response to a drug-use incident is comprehensive: new literature must be searched; a wide range of interactions with other agents must be examined; and, finally, a complete clearance must be claimed. This response is a huge information-processing burden due to the many factors at play and because so much of the information (starting with the original exception report, including numerical data) is delivered in unstructured textual format. This presentation discusses a proof of concept carried out on behalf of a major pharmaceutical manufacturer that deployed a variety of text content identification and manipulation techniques to eliminate manual error and automate the report production.


PH-13 : Clinical Graphs Using SAS 9.2
Sanjay Matange, SAS Institute
Monday, 1:00 PM - 5:00 PM, Location: Greenway BC

Do you wish you could create modern clinical graphs using SAS? Have you heard that it is difficult to create such graphs using SAS? If the answer is yes to any of these questions, this course is for you. This half-day course will cover, in detail, how to create the graphs used in Health and Life Sciences industry, including graphs commonly used for analysis of safety data for clinical trials. In this course, we will build many such graphs from scratch using the most appropriate graph tools from the ODS Graphics tool set, including SG Procedures and GTL. Course outline: •Brief review of ODS Graphics, SG Procedures and GTL. •Create the following graphs using ODS graphics: o Distribution of ASAT by Time and Treatment o Distribution of LFT Values by Treatment o Matrix Display of Maximum LFT Values o LFT Patient Profile o Hazard Function of Adverse Event o Adverse Events Timeline o Medications over time o Lab results panels over time o Symptoms over Time by Severity o Top Twenty Adverse Events by Treatment o Liver Function Test Panel o LFT by Trial Day for At Risk Patients o Survival distribution by Time and Illness o Growth v/s BMI Chart o And more


PH-14 : Using SAS Software to Aid in the ICD-10 Code Set Implementation
Alexander Pakalniskis, Cedars-Sinai Medical Center
Nilesh Bharadwaj, Cedars-Sinai Medical Center
Caren Jones, Cedars-Sinai Medical Center
Alein Chun, Cedars-Sinai Medical Center
Tuesday, 2:00 PM - 2:50 PM, Location: Greenway BC

Created by the Data Quality Management Unit (DQMU) of the Cedars-Sinai Medical Center (CSMC) Resource and Outcomes Management (ROM) Department, the ICD-9 to ICD-10 Conversion Utilities (IICU) support the controlled implementation of the Department of Health and Human Services (HHS) mandate to replace ICD-9-CM/PCS codes with ICD-10-CM/PCS codes. Designed to identify all programs and owners affected by this impending data change, the tools help ensure ongoing report quality, reduce the time and effort required for change implementation, and provide transparency for project management.


JMP

JM-01 : JMP Spatial and Temporal Graphics: The Geocoded Moving Bubble Plot, Proc Geocode, and PowerPoint
George Hurley, The Hershey Company
Tuesday, 8:00 AM - 8:50 AM, Location: Greenway G

Some of the primary accolades of JMP are the graphics features, which allow for easily created graphics with minimal coding. This paper will focus on how to create bubble plots in a map environment. These plots will include a temporal dimension, classification dimension, and a magnitude dimension, creating a 5-dimensional plot on a single surface. In addition to creating the plot, the pre-work of using proc geocode to generate map-type data and the post-work of saving the plot as a Flash movie and including it in PowerPoint will also be discussed.


JM-02 : Proficiency in JMP® Visualization
Charles E. Shipp, Consider Consulting, Inc.
Kirk Paul Lafler, Software Intelligence Corporation
Tuesday, 9:00 AM - 9:50 AM, Location: Greenway G

Proficiency in JMP® Visualization Charles Edwin Shipp, Consider Consulting Corporation, San Pedro, California Kirk Paul Lafler, Software Intelligence Corporation, Spring Valley, California ABSTRACT The premier tool for robust statistical graphics is JMP. It combines easy navigation, advanced algorithms, and graphical output you can trust. After a brief introduction of JMP navigation and resources within the JMP software, we take a tour of classical and modern advanced graphical capability of JMP. In the SAS MWSUG presentation we introduce case studies that show the power of JMP using graphics and analysis. To conclude, we cover directions in training and JMP user exchange. The presentation is for all attendees.


JM-03 : JMP Coding 101
Charles E. Shipp, Consider Consulting, Inc.
Kirk Paul Lafler, Software Intelligence Corporation
Tuesday, 2:00 PM - 2:20 PM, Location: Greenway G

JMP Coding 101 by Charlie Shipp, Consider Consulting, Inc. and Kirk Lafler, Software Intelligence Corporation ABSTRACT Yes! We also code with JMP scripts. JMP is from SAS Institute for statistical graphics and robust analysis. JMP is a powerful data discovery tool that is used interactively on your personal computer. We illustrate finding cause and effect in Veterans Hospital cancer patient data and show the code that JMP creates as we interact. We discuss briefly the derivation of the density ellipse and its value to show data position, extent, and correlation in apparent cause and effect. The presentation is for all attendees.


JM-04 : JMP Pro Bootstrap Forest
George Hurley, The Hershey Company
Tuesday, 10:00 AM - 10:20 AM, Location: Greenway G

JMP Pro includes a number of analytical features that are very powerful, including a technique called “Bootstrap Forest”. The Bootstrap Forest uses many decision tree type classification models, based on data and variable subsets to determine an optimal model. Through this bootstrapping methodology, a superior model can typically be generated relative to typical decision tree partitioning methods. Generally speaking, most applications of classification that would use a typical decision tree can use the bootstrap forest method; hence there is wide applicability of this method across industries. This paper will focus on how to use JMP Pro to perform this analysis, as well as some potential applications of it. The paper is not intended to be a theoretical explanation of this method.


JM-05 : Getting to the Good Part of Data Analysis: Data Access, Manipulation, and Customization Using JMP®
Chris Kirchberg, SAS Institute
Tuesday, 1:00 PM - 1:50 PM, Location: Greenway G

Effective data analysis requires easy access to your data no matter what format it comes in. JMP can handle a wide variety of formats. Once the data is in JMP, you can choose from a variety of options to reshape the data with just a few clicks. Finally, customize your data with labels, colors, and data roles so that graphs and charts automatically look the way you want them to. This paper walks through two or three story lines that demonstrate how JMP can easily import, reshape, and customize data (even large datasets) in ways that allow your data to be displayed in vibrant visualizations that will wow your audience.


JM-06 : Google® Search Tips and Techniques for SAS® and JMP® Users
Kirk Paul Lafler, Software Intelligence Corporation
Charles Edwin Shipp, Consider Consulting, Inc.
Tuesday, 2:30 PM - 3:20 PM, Location: Greenway G

Google (www.google.com) is the worlds most popular and widely-used search engine. As the premier search tool on the Internet today, SAS® and JMP® users frequently need to identify and locate SAS and JMP content wherever and in whatever form it resides. This paper provides insights into how Google works and illustrates numerous search tips and techniques for searching articles of interest, including reference works, information tools, directories, PDFs, images, current news stories, user groups, and much more to get the best search results quickly and easily.


Poster

PO-01 : Use of SAS to determine broiler chick feed color preference in correlation with performance under different housing light colors.
Nichole Graham, Kansas State University
Scott Beyer, Kansas State University
Rusty Rierson, Kansas State University
Location: Greenway Promenade

Rapid changes in lighting types designed to reduce energy usage have increased the options avaliable for animal producers. Recent research indicates a positive correlation in broiler growth and welfare regarding light preference. Consequently, results of recent findings have led to the investigation of feed and light color on overall performance and welfare. Specifically, fifty newly hatched Cobb 500 broiler chicks were housed in pens illuminated with red, blue, green, yellow, or a control white light. Under each light, broilers were offered red, blue, green, yellow, and a control brown colored feed. Feed was colored using commercial food coloring. Chick color preference was recorded after at least two attempts to obtain feed crumbs; an undecided was recorded for chicks that took longer than 5 minutes to try feed. First, SAS 9.0 was used to analyze data; then, frequency and logistics tests in combination with the goodness of fit chi-square test determined overall color preference for feed and housing combinations. Overall, research showed a significant difference in light and color prefrence between chicks. Housed under blue light, chicks displayed a significant preference for red feed. However, under red house lighting, chicks showed a preference for the control brown feed. Ultimately, statistical analysis showed that chicks do display a color preference for both housing and feed.


PO-02 : Comparative Medication Adherence Measures of Antihypertensive Therapy in Rural Ambulatory Clinics
Terrence J. Adam, University of Minnesota
Location: Greenway Promenade

The assessment of medication adherence provides invaluable insight on the understanding of drug utilization patterns of medication consumers and provides needed estimates of the magnitudes of pharmacological exposure. Unfortunately, the ability to directly measure actual patient adherence is difficult since there are limited available laboratory biomarkers of drug use and patient usage varies widely. To provide a means to estimate the use of medications by patients, a number of methods have been developed to indirectly assess medication adherence. In order to assess the medication adherence of antihypertensive medications in a study of electronic prescribing, three methods of medication adherence assessment were developed and implemented in SAS 9.2 using the Windows operating system. The methods which were implemented included the medication possession ratio (MPR), the proportion of days covered (PDC), and the continuous single interval measure of medication acquisition (CSA). Each method was adopted and implemented from the available literature and implemented in SAS. The data source for the study was an Agency for Healthcare Research and Quality (AHRQ) sponsored study of electronic prescribing completed in rural ambulatory clinics in South Dakota, Minnesota and Iowa and implemented in the Avera Health System. Antihypertensive were the focus of the study since measures of the medication effect (blood pressure) was readily available to provide a physiological measure of the medication effect. Data from over 40,000 prescriptions were obtained from nine rural clinic sites for the evaluation. Each measure of medication adherence was implemented in SAS to provide comparison measures.


SAS 101

S1-01 : Check and Summarize SAS Log Files
Qiling Shi
Monday, 8:00 AM - 8:20 AM, Location: Greenway HI

Data validation is a very important task, while validating the SAS programs is equally important to a Quality Assurance (QA) analyst. The exact positions of message such as ERRORs, WARNINGs and specific NOTEs in SAS LOG will give QA analysts a quick access to the points of possible mistakes. Checking for errors in a large SAS log file can be tedious and also easy for QA analysts to miss a lot of useful information. This paper contains a simple but very effective SAS program which can be used to check and summarize SAS log files quickly.


S1-02 : Why the Bell Tolls 108 times? Stepping Through Time with SAS®
Peter Eberhardt, Fernwood Consulting Group Inc.
Monday, 8:30 AM - 9:20 AM, Location: Greenway HI

For many SAS programmers, new or even advanced, the use of SAS date and datetime variables is often very confusing. This paper addresses the problems that the most of programmers have. It starts by looking at the basic underlying difference between the data representation and the visual representation of date, datetime and time variables. From there it discusses how to change data representations into visual representations through the use of SAS formats. Since date manipulation is core to many business process, paper also discusses date arithmetic first by demonstrating the use of simple arithmetic to increment dates; then by moving on to SAS functions which create, extract and manipulate SAS date and datetime variables. Finally, paper demonstrates the use of the %sysfunc macro function and the %let statement to present date, datetime and time variables. This paper is introductory and focuses on new SAS programmers, however, some advanced topics are also covered.


S1-03 : You Could Be a SAS® Nerd If . . .
Kirk Paul Lafler, Software Intelligence Corporation
Monday, 9:30 AM - 9:50 AM, Location: Greenway HI

Are you a SAS® nerd? The Wiktionary (a wiki-based Open Content dictionary) definition of “nerd” is a person who has good technical or scientific skills, but is generally introspective or introverted. Another definition is a person who is intelligent but socially and physically awkward. Obviously there are many other definitions for “nerd”, many of which are associated with derogatory terms or stereotypes. This presentation intentionally focuses not on the negative descriptions, but on the positive aspects and traits many SAS users possess. So let’s see how nerdy you actually are using the mostly unscientific, but fun, “Nerd” detector.


S1-04 : Exploring the PROC SQL® _METHOD Option
Kirk Paul Lafler, Software Intelligence Corporation
Monday, 10:00 AM - 10:20 AM, Location: Greenway HI

The SQL Procedure contains powerful options for users to take advantage of. This presentation explores the fully supported _METHOD option as an applications development and tuning tool. Attendees learn how to use this powerful option to better understand and control how a query processes.


S1-05 : Things Dr Johnson Did Not Tell Me: An Introduction to SAS® Dictionary Tables
Peter Eberhardt, Fernwood Consulting Group Inc.
Monday, 11:00 AM - 11:50 AM, Location: Greenway HI

SAS maintains a wealth of information about the active SAS session, including information on libraries, tables, files and system options; this information is contained in the Dictionary Tables. Understanding and using these tables will help you build interactive and dynamic applications. Unfortunately, Dictionary Tables are often considered an ‘Advanced’ topic to SAS programmers. This paper This paper will help novice and intermediate SAS programmers get started with their mastery of the Dictionary tables.


S1-06 : What to Do with a Regular Expression
Scott Davis, Experis
Monday, 1:00 PM - 1:20 PM, Location: Greenway HI

As many know, SAS has provided support for regular expressions for some time now. There are numerous papers that expose the basic concepts as well as some more advanced implementations of regular expressions. The intent of this paper is to bridge the gap between the very beginning and the advanced. In the past you might have solved a programming problem with a combination of SUBSTR/SCAN and other functions. Now a regular expression may be used to greatly reduce the amount of code needed to accomplish the same task. Think of this paper as a recipe or guide book that can be referenced for some real-life examples that will hopefully get you thinking about ways to create your own regular expressions.


S1-07 : Sometimes One Needs an Option with Unusual Dates
Arthur Tabachneck, myQNA, Inc.
Matthew Kastin, I-Behavior, Inc.
Xia Ke Shan, Chinese Financial Electrical Company
Monday, 1:30 PM - 1:50 PM, Location: Greenway HI

Do you have date range analytical needs that you haven’t been able to solve with the SAS® interval and holiday functions? You have if those needs involved analyzing a date range that didn’t start at the beginning, end or middle of a given month, involved holidays other than the US and Canadian holidays that are incorporated in the holiday function, or if you had to analyze data related to virtually any annual sporting event. This paper shows how the intervalds option, introduced in SAS 9.2 phase 2, can be used to meet such needs and includes code for addressing fiscal years in Great Britain, Chinese, Hebrew and Islamic holidays, and for analyzing the various rounds of the NCAA March Madness basketball tournament.


S1-08 : First Family Secret Santa
Ben First, US Bank
Andrew First, Wells Fargo
Monday, 2:00 PM - 2:20 PM, Location: Greenway HI

SAS has been part of our family for thirty years. We have seen our dad use SAS to solve common everyday problems. Because of it's infinite flexibility it is the go to software when trying to automate complex tasks. So when the idea of automating a Secret Santa process came up, SAS was the logical choice. This paper discusses a robust algorithm that was developed using data step programming to ensure participants ended up with a random giver. In addition there is functionality to prevent couples from getting each other. It then discusses how Call Execute can be used as an alternative to macro programming. Call Execute is used to dynamically generate email code that is data driven. Many of the coding techniques discussed are general enough that they can be added to a SAS coder’s everyday toolbox. Please join us exploring how SAS can be used to automate a common holiday tradition.


S1-09 : Add a Little Magic to Your Joins
Kirk Paul Lafler, Software Intelligence Corporation
Tuesday, 3:30 PM - 3:50 PM, Location: Greenway G

To achieve the best possible performance when joining two or more tables in the SQL procedure, a few considerations should be kept in mind. This presentation explores options that can be used to influence the type of join algorithm selected (i.e., step-loop, sort-merge, index, and hash) by the optimizer. Attendees learn how to add a little magic with MAGIC102, IDXWHERE=Yes, and BUFFERSIZE= options to influence the SQL optimizer to achieve the best possible performance when joining tables.


S1-10 : Executing a PROC from a DATA Step
Jason Secosky, SAS Institute
Tuesday, 10:30 AM - 11:20 AM, Location: Greenway HI

All programs are built by creatively piecing together simpler parts into a larger whole. In SAS®, the SAS macro facility provides an ability to group and piece together analytic blocks. However, writing complex programs using the SAS macro facility can be difficult and cumbersome. An easier way is to combine two new functions, RUN_MACRO and DOSUB, with DATA step code. RUN_MACRO and DOSUB enable DATA step code to immediately execute a macro and act on the result, something that was not possible before SAS® 9.2. This paper presents examples of using these two new functions from DATA step to code programs that are easier to read, write, and maintain.


S1-11 : Avoiding Pitfalls when Merging Data
James Lew, First Phase Consulting, Inc.
Joshua Horstman, Nested Loop Consulting LLC
Monday, 4:30 PM - 4:50 PM, Location: Greenway HI

The merge is one of the SAS programmer’s most commonly used tools. However, it can be fraught with pitfalls to the unwary user. In this paper, we look under the hood of the data step, examine how the program data vector works, and see how this knowledge can help us avoid common missteps when performing merges. We illustrate these principles through simple examples and discuss best coding practices for merging.


S1-12 : The Good, The Bad, and The Ugly
Kirk Paul Lafler, Software Intelligence Corporation
Toby Dunn, AMEDDC&S (CASS)
Tuesday, 8:00 AM - 8:50 AM, Location: Greenway HI

The SAS® System has all the tools users need to read data from a variety of external sources. This has been, perhaps, one of the most important and powerful features since its introduction in the mid-1970s. The cornerstone of this power begins with the INFILE and INPUT statements, the use of a single- and double-trailing @ sign, and the ability to read data using a predictable form or pattern. This paper will provide insights into the INFILE statement, the various styles of INPUT statements, and provide numerous examples of how data can be read into SAS with the DATA step.


S1-13 : The SAS® DATA Step: Where Your Input Matters
Peter Eberhardt, Fernwood Consulting Group Inc.
Tuesday, 9:00 AM - 9:50 AM, Location: Greenway HI

Before the warehouse is stocked, before the stats are computed and the reports run, before all the fun things we do with SAS® can be done, the data need to be read into SAS. A simple statement, INPUT, and its close cousins FILENAME and INFILE, do a lot. This paper will show you how to define your input file and how to read through it, whether you have a simple flat file or a more complex formatted file.


S1-14 : Making it add up; diagnosing merge issues using PROC SQL and simple arithmetic.
Eric Schreiber, PRA
Tuesday, 10:00 AM - 10:20 AM, Location: Greenway HI

Data set merges are an everyday part of working in SAS. Often times these merges are simple and easy, especially while merging subsets from a singular source. Merging datasets from different sources can be a bit trickier, however. One missing letter can be the difference between a clean merge and accidentally removing valuable data. Picking through the non-matching data character by character can be a long and tedious process but there are ways to programmatically find these differences, one of which will be explained in this paper.


S1-15 : Copy and Paste Almost Anything
Arthur Tabachneck, myQNA, Inc.
Randy Herbison, Westat
Ben Powell, Genworth Financial
John King, Ouachita Clinical Data Services, Inc.
Richard DeVenezia, Independent Consultant
Nate Derby, Stakana Analytics
Monday, 3:30 PM - 4:20 PM, Location: Greenway HI

Every day, data appear on computer screens in the form of spreadsheets, wiki pages, HTML, PDF, Word documents or any of the methods that are used to display data forms and tables. And, with any of those formats you can typically highlight and copy only the data you desire to your computer's clipboard. However, because there currently isn't a PROC IMPORT dbms=clipbrd option, how can you paste such data into a SAS® dataset? The present paper provides code that we believe can be used to accomplish most such tasks and, at the same time, provides examples of features that we think should be available in PROC IMPORT for all DBMS options.


S1-16 : The BEST. Message in the SASLOG
Andrew Kuligowski, consultant
Tuesday, 11:30 AM - 11:50 AM, Location: Greenway HI

Your SAS_ routine has completed. It is apparently a success – no bad return codes, no ERROR or WARNING messages in the SASLOG, and a nice thick report filled with what appear to be valid results. Then, you notice something at the end of the SASLOG that warns you that, somewhere in your output, one or more numbers are NOT being printed with the formats you requested. NOTE: At least one W.D format was too small for the number to be printed. The decimal may be shifted by the "BEST" format. This presentation will review an ad hoc that can be used to quickly identify numbers that are too large for your selected format – certainly much quicker and effectively than attempting to eyeball a massive report!


S1-17 : A Cup of Coffee and PROC FCMP: I Cannot Function Without Them
Peter Eberhardt, Fernwood Consulting Group Inc.
Tuesday, 1:00 PM - 1:50 PM, Location: Greenway HI

How much grief have you put yourself through trying to create macro functions to encapsulate business logic? How many times have you uttered "If only I could call this DATA step as a function"? If any of these statements describe you, then the new features of PROC FCMP are for you. If none of these statements describe you, then you really need the new features of PROC FCMP. This paper will get you started with everything you need to write, test, and distribute your own "data step" functions with the new (SAS® 9.2) PROC FCMP. This paper is intended for beginner to intermediate programmers, although anyone wanting to learn about PROC FCMP can benefit.


S1-18 : Understanding SAS Index
Pramod R, Target Corporation
Tuesday, 2:00 PM - 2:20 PM, Location: Greenway HI

Ever imagined how it would be if the dictionary was not alphabetically arranged? Ever imagined how it would be to search a book in a library if it was not ordered by the topics? Ever tried searching a person’s house in a locality without knowing the street number? All these are the examples of real life indexes which we have used/ come across. SAS allows us to index the datasets which will help us retrieve and manipulate the data easily. Typical usage of Indexes would be while joining two tables based on one or more key variables, querying a dataset based on a filter and doing some of the by-group processing. In this paper, I have tried to introduce the concept of Indexing in SAS and have also tried to explain the basic working model of an index (b-tree) with a simple example. This paper also covers the basic syntax, and various methods to create and manipulate indexes in SAS. In the end, I’ve tried to show the advantages of using the index through simple examples and compared the performance of the codes before using the index versus those after using the indexes.


S1-20 : Automagically Copying and Pasting Variable Names
Arthur Tabachneck, myQNA, Inc.
Randy Herbison, Westat
Andrew Clapson, Independent Consultant
John King, Ouachita Clinical Data Services, Inc.
Roger DeAngelis, CompuCraft Inc
Tom Abernathy, Pfizer, Inc.
Monday, 2:30 PM - 2:50 PM, Location: Greenway HI

Have you ever wished that, with one click, you could copy any table's variable names (or labels) so that you could paste them into your editor or possibly a Word file, PowerPoint or spreadsheet? You can and, with just base SAS®, there are some little known but easy to use methods available for automating many of your (or your user’s) common tasks.


S1-21 : Inventory Your Files Using SAS
Brian Varney, Experis
Monday, 10:30 AM - 10:50 AM, Location: Greenway HI

Whether you are attempting to figure out what you have when preparing for a migration or you just want to find out which files or directories are taking up all of your space, SAS is a great tool to inventory and report on the files on your desktop or server. This paper intends to present SAS code to inventory and generate reports on the files on your desktop or server.


S1-22 : Using SAS® to Build Web Pages Linking Photographs with Google Maps
Arthur Tabachneck, myQNA, Inc.
William Klein, Independent Consultant
Tuesday, 3:00 PM - 3:20 PM, Location: Greenway HI

Many of us at least occasionally take a picture with either a digital camera or cell phone. And some of us, be it for work, a SAS user group, or for personal use, end up posting some of our pictures on a web page. JPG files can contain a lot more information than just the pictures one sees, including such data as when and where pictures were taken, titles, picture heights and widths, and many of our camera’s settings. This paper includes all of the base SAS code needed to create web pages that show one’s pictures, in date taken order, with links that, when clicked, will cause Google Earth to show you to where the pictures were taken


S1-24 : The SAS® Hash Object: It’s Time To .find() Your Way Around
Peter Eberhardt, Fernwood Consulting Group Inc.
Tuesday, 2:00 PM - 2:50 PM, Location: Greenway F

“This is the way I have always done it and it works fine for me.” Have you heard yourself or others say this when someone suggests a new technique to help solve a problem? Most of us have a set of tricks and techniques from which we draw when starting a new project. Over time we might overlook newer techniques because our old toolkit works just fine. Sometimes we actively avoid new techniques because our initial foray leaves us daunted by the steep learning curve to mastery. For me, the PRX functions and the SAS® hash object fell into this category. In this presentation, we address possible objections to learning to use the SAS hash object. We start with the fundamentals of the setting up the hash object and work through a variety of practical examples to help you master this powerful technique.


S1-25 : Setting the Table… of Contents: Using SAS ODS PDF Features to Organize, Link, and Navigate a Report
Betsy Enstrom, IDeaS - A SAS Company
Monday, 1:00 PM - 1:20 PM, Location: Greenway F

Today, very few reports are actually printed this corresponds to the growing dependence on electronic browsing, researching, and reporting. When documents are viewed electronically, they are often viewed out of order. This creates a need for well-organized reports that are easily navigated by means such as table of contents, hyperlinks, and bookmarks rather than relying on the standard page up and down. This is done with the clever combination and use of several ODS PDF options such as ANCHOR, PROCLABEL, PDFTOC combined with the COMPUTE block in the REPORT procedure. You can set the table of contents with hyperlinks and make use of the bookmark structure already in PDFs. This saves readers time and frustration while navigating your report.


S1-26 : A SAS Solution to Create a Weekly Format
Susan Bakken, Aimia
Tuesday, 2:30 PM - 2:50 PM, Location: Greenway HI

As programmers, we are frequently asked to report by periods that do not necessarily correspond to weeks on the calendar – for example, a client may want to see sales by week since the day a product was released. This paper presents simple, easy-to-use, self-contained SAS code that utilizes date functions, macro variables, a DO/UNTIL loop, and PROC format to create formatted values for any weekly periods needed, based on dates specified by the user.


S1-27 : Calling a Remote Macro Using %INCLUDE or a Stored Macro Facility
Anthony Reeves, research analyst, Wisconsin Department of Health Services
Tuesday, 8:00 AM - 8:20 AM, Location: Greenway E

Many of us find SAS® macros intimidating. They often bring to mind images of doubled ampersands and percent signs spinning off in nested iterations that are intricate as the julias in a Mandelbrot image. However, macros can be quite useful. In particular, when a segment of code is likely to be broadly shared but must be routinely updated in a manner that is uniform and accurate, it can be useful to have a remote macro that many SAS® programmers can access but only one or a few can edit. This paper creates an example of such a macro. It then describes two complimentary methods of programming it so that it can be invoked by programmers from remote locations. The first uses %INCLUDE coding to identify the remote SAS® program file containing the macro. The second creates a stored macro facility to call the same macro. My goal will be to be to stress the advantages of each approach at different points in the process of developing and using such a macro. My intended audience is programmers who are allergic to heavy macro use.


S1-28 : A SAS Program That Can Read a Directory's Contents
Ben Cochran, The Bedford Group
Monday, 1:30 PM - 1:50 PM, Location: Greenway E

This paper presents a program that does several things. First it reads a directory and gathers its contents (Excel spreadsheets) into a SAS Data set. Next, a macro program is created to read a spreadsheet and create a SAS data set from its contents. Finally, a CALL Execute routine is used to pass the contents of a SAS data set into the macro program as parameters.


Statistics and Analysis

SA-01 : Methods for Interaction Detection in Predictive Modeling Using SAS
Doug Thompson, Blue Cross Blue Shield of IL, NM, OK & TX
Monday, 8:00 AM - 8:50 AM, Location: Greenway E

Analysts typically consider combinations of variables (“interactions”) when building a predictive model. If the target is Y and there is an interaction between two predictors X1 and X2, it means that the relationship between X1 and Y differs depending on the value of X2. SAS provides several easy-to-use methods to detect interactions. One method is to consider all possible n-way interactions using multiplicative interaction terms. For example, this can be done in the MODEL statement of PROC LOGISTIC using “|” between potentially interactive variables and “@n” to specify the number of variables that can be involved in an interaction (e.g., “@2” refers to 2-way interactions). Another recommended approach is to use decision trees to identify interactions; SAS Enterprise Miner enables interaction detection using this method. This paper presents a case study illustrating the use of different methods for interaction detection (i.e., all possible n-way interactions, interactions detected via decision trees, and a combination of the two) when building a predictive model in SAS.


SA-02 : Using SAS to Determine the Sample Size on the Cohen’s Positive Kappa Coefficient Problem
Yubo Gao, University of Iowa
Tuesday, 10:00 AM - 10:20 AM, Location: Greenway E

The determination of sample size is a very important early step when conducting study. This paper considers the Kappa coefficient _based sample size determination in epidemiology. Historically, the Kappa coefficient is used to express the degree of agreement between two raters when the same two raters rate each of a sample of n subjects independently, with the ratings being on a categorical scale consisting of 2 or more categories. In the context of epidemiology, the Kappa coefficient is similarly applied to indicate the degree of the agreement between two diagnostic tests for detecting a certain infectious disease when neither of the two tests can be regarded as a gold standard. This paper addresses the minimum required sample size in such case when the Kappa coefficient is desired to be no less than a certain positive proportion or number, and presents the SAS code for the calculation, based on three parameters, namely, the co-positive proportion (p11) of, and the positive proportions of, the two diagnostic tests (p1. and p.1). An example is illustrated. Key Words: SAS 9.2 Base, Windows XP, Intermediate level.


SA-03 : Collapsing Levels of Predictor Variables for Logistic Regression and Weight of Evidence Coding
Bruce Lund, Marketing Associates, LLC
Steven Raimi, Marketing Associates, LLC
Tuesday, 2:00 PM - 2:50 PM, Location: Greenway E

In binary logistic regression is it routine to collapse the levels of a predictor variable to achieve parsimony while maintaining predictive power. This paper gives a method and SAS® macro for collapsing nominal or numeric predictors. If numeric, the order can be maintained during collapsing. At each step the method maximizes log-likelihood and gives the model “c” (concordance). SAS code is given to convert the collapsed levels of the predictor to weight-of-evidence coding. This methodology of collapsing of levels applies also to the multinomial target. Products: Base SAS, SAS Stat Level: Intermediate


SA-04 : Getting the Code Right the First Time
Michael Frick, Aerotek
Tuesday, 1:00 PM - 1:50 PM, Location: Greenway E

Writing code to support data analysis has a unique set of problems and is a vastly different task than writing traditional software. More often than not, it is throwaway code whose ultimate direction is not always known at the start of the project – intermediate results drive further investigative steps. Additionally, there is often a time-sensitivity to these types of projects. This limits the usefulness of traditional requirements gathering and technical specification writing. Even so, writing code to support analytics can be tricky and one must stick to simple, repeatable techniques to confidently write code that works the first time, every time. In this paper, I will describe a process of work developed over the last 30 years aimed at eliminating both coding and data interpretation errors as they occur. The methods are not rocket science, but rather rely on straight-forward techniques and “data diligence”. The paper is focused on four major themes: 1. A description and examples of a technique I call “iterative programming”, which breaks the code development process up into small chunks that are fully developed and tested before going on to the next “chunk”. 2. A description and example of simples, repeatable coding techniques that have stood the test of time. 3. Data filtering is king. Check and recheck – know your row counts, your data, and your filters. Treat the data filtering trail as a police detective treats his evidence trail. 4. SAS is the perfect environment to implement Steps 1 – 3.


SA-05 : Estimating the discrete probability distribution of the age characteristic of Veteran populations using SAS®, SAS/OR® and SAS Simulation Studio® for use in population projection models
Michael Grierson, The Department of Veterans Affairs
Monday, 2:30 PM - 2:50 PM, Location: Greenway E

This paper examines discrete probability distributions of the age characteristic of the Veteran population in the US. The basis of the examination is the American Community Survey (ACS) and the Social Security Administrations (SSA) period life table for males in 2007. The ACS is stratified to efficiently represent population elements including the population of Veterans. The current population discrete probability distribution for age is examined as a starting point. The survey also supports examining the expected future age of Veteran discrete probability distributions. Implications of various population age distributions for future Veterans Administration cost and capacity planning will be briefly mentioned. The paper will show how to use an efficiently designed stratified survey (the 1 year ACS) to support a simulation that moves that population into the future and provides a basis for estimating future population age distributions and their consequent impact on organization cost and budget planning. Combining the processing of stratified survey data with Operations Research tools (like the discrete event simulator) and supporting subsequent analysis of results is a combined capability that is not matched elsewhere.


SA-06 : SAS code to compute a set of new variables from Time Series variables
Anani Hoegnifioh, US Cellular
Tuesday, 10:30 AM - 10:50 AM, Location: Greenway E

This study is intended to assist analysts in generating maximum number of variables using simple arithmetic operators (addition, difference, minimum, maximum, counts, and division) and one or more historical data sets. These data sets might include monthly amount paid, daily number of received customer service calls, weekly worked hours on a project, or annual total sale of a specific product. During a statistical modeling process, analysts are often confronted with the task of computing derived variables using the existing available variables. The advantage of this methodology is that the new variables may be analytically useful than the original ones. This paper provides a way to compute all the possible variables using a set of historical data such as daily, weekly, monthly, or yearly information using the simple arithmetic operators (addition, difference, minimum, maximum, counts, and division) between two or more period of an observed time-series variable and aggregate them into a derived variable. An arithmetic formula was developed to evaluate the number of possible new variables from two parameters (number of observed periods and type of operators). The code includes many SAS features that are very useful tools for SAS programmers to incorporate in their future codes such as %SYSFUNC, SQL, %INCLUDE, CALL SYMPUT, %MACRO, DICTIONARY.XXXX (where XXXX can be TABLE, COLUMN), procedures (SORT, CONTENTS), and data steps (MERGE, _NULL_) and many more. The code was originaly written in SAS 9.2 but can run with any version of SAS with minor adjustment such as REMERGE option in PROC SQL.


SA-07 : Modeling Complex Survey Data
Taylor Lewis, University of Maryland, College Park
Monday, 9:00 AM - 9:50 AM, Location: Greenway E

Using PROC REG or PROC LOGISTIC to model data emanating from a complex sample survey may lead one to erroneous inferences. Instead, the survey’s design features should be incorporated by employing one of the PROCs prefixed by SURVEY, such as PROC SURVEYREG or PROC SURVEYLOGISTIC. After a brief discussion of the features constituting a “complex” survey, the syntax and output of these procedures is demonstrated and contrasted to their non-SURVEY counterparts. Examples are drawn from real, publicly-available survey data sets. Where appropriate, this paper highlights certain theoretical and conceptual subtleties to modeling data from a finite population as opposed to the more familiar simple random sample setting.


SA-08 : Are Sales Figures in Line With Expectations? Using PROC ARIMA in SAS to Forecast Company Revenue
Brian Van Dorn, Deluxe Corporation
Saveth Ho, Deluxe Corporation
Tuesday, 9:30 AM - 9:50 AM, Location: Greenway E

The distribution of corporate sales, like many types of financial data, tends to be serially correlated, with revenue in one time period related to revenue in the past. This allows sales revenue to be described by an ARIMA time series model. These models use autoregressive and moving average components that relate current observations to prior observations, and also contain seasonal components that utilize the similarity of values to those obtained at the same time point in prior years. Special indicator variables can account singular events such as holiday weeks, major market campaigns or price increases. The ARIMA procedure in SAS/ETS allows for the identification and estimation of these time series models, with many diagnostics available for describing the serial correlation and for selecting an appropriate model. In addition, values can then be forecast for subsequent time periods, along with their corresponding confidence intervals. These intervals can then be compared to actual observed values to determine if the values obtained are within an expected range, or instead suggest that an outside factor is at work that may shift the distribution of revenue. The process is suited for statisticians with a working knowledge of time series data, or by those interested in accounting for serial correlation in standard regression models. This process will be illustrated by modeling weekly business to business corporate revenue experienced by the Deluxe Corporation’s Small Business division. The forecasts derived from these models could aid business decisions by providing a context for actual revenue when compared with expectations.


SA-09 : Models for Ordinal Response Data
Robin High, University of Nebraska Medical Center
Monday, 2:00 PM - 2:20 PM, Location: Greenway E

Ordinal responses are commonly collected in medical studies, yet the types of analyses for available for these data with SAS procedures are not yet well known. Interpretation of ordinal logistic regression output requires detailed consideration of how data are coded and what options or formats are invoked. Although the cumulative and generalized logit models can easily be run with procedures such as LOGISTIC, CATMOD, GENMOD, or GLIMMIX, several types of more specialized models can also be developed through programming statements entered in the NLMIXED procedure. This talk provides a survey of the various models for ordinal data that NLMIXED can run such as partial proportional odds models, adjacent logits, and the stereotype model. Odds ratios from these models require programming statements that are written for the capability to interpret the results and how to test the goodness of fit. Comparisons with odds ratios computed from the more common ordinal response models will also be given. This talk assumes a background with categorical data analysis, in particular computing odds ratios with binary data.


SA-10 : Testing the Bayesian Suite of SAS® Procedures using Ecological Data and Comparing Simulations with WinBUGS
Matthew Russell, University of Minnesota
Monday, 1:00 PM - 1:20 PM, Location: Greenway E

There has been an increase in use in recent years of Bayesian modeling procedures in the fields of ecology and forestry. This paper uses a dataset of snags (standing dead trees) compiled across a range of forest types to test the PHREG, GENMOD, and MCMC procedures in SAS which perform Bayesian analyses. Snags are an important component of ecological processes as they provide wildlife habitat, contribute to biodiversity, and provide a mix of forest structure. Strengths of the Bayesian procedures in SAS, such as the ability to simulate large datasets, the capability of printing graphics of model output, and ease of use in fitted mixed-models that incorporate random effects are highlighted. Comparisons in model output and processing time using the MCMC procedure are made with the R2WinBugs calling WinBUGS using R statistical software.


SA-11 : ROC analysis for the evaluation of ethyl glucuronide (EtG) as a long-term alcohol biomarker in hair and fingernails: evidence from a large college drinking study
Daniel Fuhrmann, University of Wisconsin-Milwaukee
Michael Fendrich, University of Wisconsin-Milwaukee
Lisa Berger, University of Wisconsin-Milwaukee
Charles Plate, United States Drug Testing Laboratories
Doug Lewis, United States Drug Testing Laboratories
Joseph Jones, United States Drug Testing Laboratories
Monday, 10:30 AM - 10:50 AM, Location: Greenway E

Background: Ethyl glucuronide (EtG) in hair has recently been shown to be an effective biomarker with high sensitivity and specificity in the diagnosis of long-term heavy drinking. However, cosmetic treatments can destroy the presence of biomarkers in hair and individuals with very short hair often cannot provide enough hair for testing. The present study, therefore, examined the association of EtG in both fingernails and hair with different measures of alcohol use. Keywords: Sensitivity, specificity, ROC analysis, biomarkers, comparison of AUCs and entire ROC curves SAS Products used: SAS/STAT 9.3 Operating System: Windows 7 (64-bit) Skill level and target audience: Intermediate knowledge of logistic regression and ROC analysis; Medical researchers and biostatisticians might be most interested in this topic, but the explanation of the topic should also benefit analysts or researchers using logistic regression for prediction.


SA-12 : Current Health Trends and Risk Behavior Analysis in American Youth: Using a Large Sample
Deanna Schreiber-Gregory, North Dakota State University
Monday, 10:00 AM - 10:20 AM, Location: Greenway E

The current study looks at recent health trends and behavior analyses of youth in America. Data used in this analysis was provided by the Center for Disease Control and Prevention and gathered using the Youth Risk Behavior Surveillance System (YRBSS). This study outlines demographic differences in risk behaviors, health issues, and reported mental states. Interactions between risk behaviors and reported mental states were also analyzed. Results included reporting differences between the years of 1991 and 2009. All results are discussed in relation to current youth health trend issues. Data was analyzed using SAS 9.2. This paper is intended for any level of SAS user, introductory statistics will be used. This paper is also written to an audience with a background in psychology and/or statistics.


SA-13 : Combined Forecasts: What to Do When One Model Isn't Good Enough
Ed Blair, SAS Institute
Tuesday, 8:30 AM - 9:20 AM, Location: Greenway E

SAS® High-Performance Forecasting 4.1 offers a new, innovative process for automatically combining large-scale forecasts. Forecast combination, the subject of many academic papers in statistical and forecasting journals, is a known technique for improving forecast accuracy and reducing the variability of the resulting forecasts. By integrating these academic ideas into a single software system, SAS High-Performance Forecasting 4.1 surpasses the individual ideas and any existing software system that incorporates them. This paper describes how these ideas have been integrated and includes examples that demonstrate the use and benefits of this new forecast combination process.


SA-14 : Data Simulation for Evaluating Statistical Methods in SAS
Rick Wicklin, SAS Institute
Monday, 3:00 PM - 4:50 PM, Location: Greenway E

To assess statistical techniques, you often need to create data with known properties, both random and nonrandom. This workshop presents techniques for using the DATA step and SAS/IML® software to simulate data. You will learn to simulate: • Data from common univariate and multivariate distributions, including skewed and heavy-tailed distributions • Data from a mixture of distributions • Data with known properties such as a specific covariance structure or a known regression structure You will learn to use simulated data to evaluate: • The performance of algorithms • The robustness of statistics • The coverage probabilities of approximate confidence intervals This workshop is intended for researchers and practicing statisticians.


SA-15 : Tips, Tricks, and Strategies for Mixed Modeling with SAS/STAT® Procedures
Kathleen Kiernan, SAS Institute
Monday, 11:00 AM - 11:50 AM, Location: Greenway E

Inherently, mixed modeling with SAS/STAT procedures, such as GLIMMIX, MIXED, and NLMIXED, is computationally intensive. Therefore, considerable memory and CPU time can be required. As a result, the default algorithms in these procedures might fail to converge for some data sets and models. This paper provides recommendations for circumventing memory problems and reducing execution times for your mixed modeling analyses. This paper also shows how the new HPMIXED procedure can be beneficial for certain situations, as with large sparse mixed models. Lastly, the discussion focuses on the best way to interpret and address common notes, warnings, and error messages that can occur with mixed models.


SA-16 : Recursive %macro For Linear Regression Model Selection
Anca Tilea, University of Michigan
Tuesday, 11:00 AM - 11:20 AM, Location: Greenway E

“Beauty is in the eye of the beholder”, the saying goes. Similar with model selection methods, “Selection method is in the eye [hand] of the statistician”. There are as many methods as statisticians. Some methods are preferred and some methods are simply tedious, but lead to a “best” model. I recently had to perform model selection for a regression analysis, using the Adjusted-R2 statistic to get the BestSubsets models. In the first step, starting with all possible covariates as potential candidates, I was going to use a PROC REG, with selection = adjrsq. In the second step, I was patiently going to run through all the BestSubsets models and flag the ones that had all covariates significant in the model (say, a = 0.05). Thirdly, I would “compile” all the covariates that contributed to all-significant models, and re-run the PROC REG, since we know that starting with all possible covariates in the model will shrink the sample size significantly. Re-run step 2 if the number of covariates is still large, otherwise select the covariates with significant p-value, and finalize your model. Running the model using selection = BestSubsets is manageable, but the prospect of manually run each model, after checking the output file for significant p-values and repeat the process, seemed a bit disheartening. Fortunately, there are programmatic tools waiting to be employed for an extremely quick result. This is when a couple of ODS OUTPUT datasets and a couple of PROC SQL came in very handy.


SA-17 : Creating a SAS Frequency Dataset of Valid Categorical Variables for Export to Microsoft Excel or Access
Neil Kamdar, University of Michigan
Tuesday, 11:30 AM - 11:50 AM, Location: Greenway E

This paper describes a project that required the creation of a data dictionary with frequencies of categorical variables with appropriate formats to be stored for a variety of SAS Medicare Claims datasets. The implementation of CALL SYMPUT, PROC SQL, and the VNAME function are utilized to ensure lists of frequencies of categorical variables can be collapsed into a single dataset for exportation to Microsoft Excel, Access, or other data processing and reporting software packages. After multiple macro calls and PROC APPEND with the FORCE option, final recommendations on made for post-macro post-processing to ensure readability of the dataset with associated formats is feasible. All analysis and programming was conducted on SAS Version 9.2 on a Windows XP Professional Workstation.


SA-19 : The Avengers Assemble: Forecasting and Business Intelligence Team Up to Ease Daily Revenue Management
Patrick Kelly, Blue Cross Blue Shield of Tennessee
Betsy Enstrom, IDeaS - A SAS Company
Tuesday, 3:00 PM - 3:50 PM, Location: Greenway E

An egregious amount of process automation and business intelligence is needed in forecasting and revenue management. With the scale of large data and forecasting needs constantly increasing, combining insightful data manipulations, business intelligence techniques, and the illustrious SAS High Performance Forecasting is a necessity. They provide an innovative process for both aptitude and forecasting in revenue management as it pertains to the hospitality industry. An experienced SAS programmer with access to the HPF procedure will find this paper useful to illustrate how to build an insightful and sophisticated daily strategy report complete with forecasts and well organized, pertinent daily metrics.