Proceedings

Get Updates

Join our e-mail list:

MWSUG 2014 Paper Presentations

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

You can also view all papers in our convenient Interactive Schedule Grid

Note: Content and schedule are subject to change. Last updated 30-Sep-2014.

Sections

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



Advanced Analytics

Paper No. Author(s) Paper Title (click for abstract)
AA-02 Doug Thompson Comparing regression, propensity matching and coarsened exact matching in healthcare observational studies using SAS: An example from the Medical Expenditure Panel Survey (MEPS)
AA-03 Peter Flom Should more of your PROC REGs be QUANTREGs and ROBUSTREGs?
AA-04 Brandy Sinco
& Edith Kieffer
& Michael Spencer
Using the Delta Method with Proc Mixed to generate means and confidence intervals from a Linear Mixed Model on the original scale, when the analysis is done on the log scale
AA-05 Matthew Bates Creating Code writing algorithms for producing n-lagged variables
AA-07 Amy Gravely
& Barbara Clothier
& Sean Nugent
Creating an Easy to Use, Dynamic, Flexible Summary Table Macro with P-Values in SAS for Research Studies
AA-08 Jeffrey Meyers Kaplan-Meier Survival Plotting Macro %NEWSURV
AA-09 Bruce Lund Selection and Transformation of Continuous Predictors for Logistic Regression
AA-10 Delali Agbenyegah Tell Me What You Want: Conjoint Analysis Made Simple Using SAS
AA-11 Bradford Eichhorn Common Method Variance Techniques
AA-13 Jinqiao Li
& Yi Cao
& Yanping Shen
A SAS® Macro Using Parallel Genetic Algorithm to Automate Variable Selection
AA-14 Jie Liao Understanding Change through Different Methodological Lens


BI / Customer Intelligence

Paper No. Author(s) Paper Title (click for abstract)
BI-01 Mike Frick An Object Oriented Framework for Simulations in base SAS®
BI-02 Rachel Rabaey Efficiencies using SAS and Netezza
BI-03 Nina Werner Understanding Double Ampersand [&&] SAS® Macro Variables
BI-04 Bruce Lund Preparing Interaction Variables for Logistic Regression
BI-05 Roger Muller Managing the Organization of SAS® Format and Macro Code Libraries in Multiple Complex Environments
BI-06 Ryan Burton Analyzing Collection Effectiveness using Incremental Response Modeling
BI-07 A. Rocio Lopez Reporting The Facts: The ODSmemo macro suite for making RTF memos within SAS®
BI-08 Peter Eberhardt Investigating the Irregular: Using Perl Regular Expressions
BI-09 Lori Sissing %LET me help you improve your reporting with the help of SAS macros
BI-10 Bradley Blackmore
& Gowri Madhavan
Secret Sauce for reporting health care data using SAS and SQL Server Business Intelligence
BI-11 Li Zhang Use of Social Media Data to Predict Retail Sales Performance
BI-12 Kent Phelps
& Ronda Phelps
& Kirk Paul Lafler
The Joinless Join; Expand the Power of SAS® Enterprise Guide® in a New Way
BI-13 Kent Phelps
& Ronda Phelps
& Kirk Paul Lafler
SAS® Commands PIPE and CALL EXECUTE; Dynamically Advancing from Strangers to Your Newest BFF (Best Friends Forever)
BI-14 Tho Nguyen
& John Cunningham
SAS(R)In-Memory Analytics: Beyond Foundation SAS
BI-15 Tho Nguyen
& Paul Segal
& John Cunningham
Conquering Big Data Analytics with SAS, Teradata and Hadoop
BI-16 Paul Segal
& Tho Nguyen
SAS(R) In-Database Analytics for Teradata: Stop the Data Movement
BI-17 Tho Nguyen
& John Cunningham
Parallel Data Preparation with the DS2 Programming Language


Beyond the Basics

Paper No. Author(s) Paper Title (click for abstract)
BB-01 Richann Watson
& Karl Miller
'V' for & Variable Information Functions to the Rescue
BB-03 Kirk Paul Lafler Five Little Known, But Highly Valuable and Widely Usable, PROC SQL Programming Techniques
BB-04 Ron Fehd List Processing Macro Call-Macro
BB-05 Katrina Drager File Finder: Conditionally Processing Files From a Directory Using SAS®
BB-06 Art Carpenter DATA Step Merging Techniques: From Basic to Innovative
BB-07 Art Carpenter Using Arrays to Quickly Perform Fuzzy Merges Look-ups: Case Studies in Efficiency
BB-08 Josh Horstman Five Ways to Flip-Flop Your Data
BB-09 Benjamin Elbert All Your Scripts Are Belong To Us: Extending SAS with Server-Side Scripts
BB-10 Rajesh Lal DS2: The New and Improved DATA Step in SAS®
BB-11 Joe Matise
& Marcus Maher
Documentation Driven Programming: How orienting your projects around their data leads to quicker development and better results
BB-12 Brandon Crosser From Wide to Tall: A Proc SQL Approach to Transposing
BB-13 Soma Ghosh Some useful SQL Procedures in SAS® - Applications in complex scenarios
BB-14 Peter Eberhardt I Object: SAS® Does Objects with DS2
BB-15 Ben Cochran So You Want to Be SAS Certified
BB-16 Chris Schacherer Introduction to SAS Hash Objects
BB-17 Troy Hughes If You Can Predict It, You Can Prevent It: Deploying Quality Assurance Event Handling, Exception Handling, and Error Handling Methods in Base SAS
BB-18 Troy Hughes Will You Smell Smoke When Your Data Are on Fire? The SAS Smoke Detector: Installing an Automated Quality Control Dashboard for Transactional Data
BB-19 Zhongping Zhai Get Control of Your Input: Refer to Multiple Data Files Efficiently


Data Visualization and Graphics

Paper No. Author(s) Paper Title (click for abstract)
DV-01 Kathryn Schurr
& Ruth Kurtycz
Categorical AND Continuous - The Best of Both Worlds
DV-03 Soma Ghosh SAS® Graphs with multiple Y axes - with some useful tips and tricks
DV-04 Joe Matise Labelling without the Hassle: How to Produce Labeled Stacked Bar Charts Using SGPLOT and GTL Without Annotate
DV-05 Louise Hadden Extreme SAS® reporting II: Data Compendium and 5 Star Ratings Revisited
DV-06 Matthew Shevrin
& Thomas Lehmann
How to Create a UNIX Space Management Report Using SAS®
DV-07 Louise Hadden Where in the World are SAS/Graph® Maps? An Exploration of the Old and New SAS® Mapping Capacities
DV-08 Daniel Fuhrmann
& Michael Fendrich
& Lisa Berger
Visualization of Self-Reported Alcohol Use Data: A Timeline Followback Dashboard using Heatmaps, Time Series Plots, and HTML Hover-Text
DV-09 Naushad Pasha Puliyambalath Interactive HTML Reporting Using D3
DV-10 Ted Conway Pin the SAS Tail on the Excel Donkey: Automatically Sizing & Positioning SAS Graphics for Excel


Hands-On Workshops

Paper No. Author(s) Paper Title (click for abstract)
HW-01 Marje Fecht SAS® Enterprise Guide® 5.1 and 6.1: A Powerful Environment for Programmers, Too!
HW-02 Ben Cochran Creating and Using Prompts in Enterprise Guide
HW-03 Kirk Paul Lafler
& Mira Shapiro
Point-and-Click Programming Using SAS® Enterprise Guide®
HW-05 Charlie Shipp
& Kirk Paul Lafler
SAS®, Excel®, and JMP® Connectivity
HW-06 Art Carpenter Programming With CLASS: Keeping Your Options Open
HW-07 Chuck Kincaid ODS Graphics
HW-08 Arthur Li Understanding How the DATA Step Works
HW-09 Kirk Paul Lafler Basic SAS® PROCedures for Quick Results
HW-10 Peter Eberhardt A Hands-on Introduction to SAS® Dictionary Tables
HW-11 Peter Eberhardt The Armchair Quarterback: Writing SAS® Code for the Perfect Pivot (Table, That Is)
HW-12 Andrew Kuligowski Dealing with Non-Traditional Data Formats - An Update on Writing a Data Parser Using SAS®


JMP

Paper No. Author(s) Paper Title (click for abstract)
JM-01 Charlie Shipp JMP® Visual Statistics
JM-02 Charlie Shipp
& Kirk Paul Lafler
Design of Experiments (DOE) Using JMP®
JM-03 Charlie Shipp JMP®, and JMP® Training: a panel discussion
JM-04 Peter Wiebe
& Kevin True
& Mark Anawis
An effective JSL architecture to develop, test, and maintain applications in JMP software
JM-05 Erich Gundlach Taming the Unruly Control Chart: Control Charting Unstable Processes
JM-06 Anish Koppula
& Erich Gundlach
Design of Experiments for Digital Marketing Using JMP®
JM-07 Erich Gundlach Avoiding Long Work Weeks by Maximizing Your Productivity in JMP
JM-08 Philip Brown
& Wayne Levin
JMP® and SAS®: One Completes The Other


Pharmaceutical Applications

Paper No. Author(s) Paper Title (click for abstract)
PH-01 Hardik Panchal Jack of all Listings, A New Approach for Review of Clinical Data
PH-02 Heather Eng
& Jason Lyons
& Theresa Sax
A Comprehensive Automated Data Management System for Clinical Trials
PH-03 Shannon Morrison Case Study: Generating Clinical Trial Summary Plots from an ORACLE database using the SAS® Macro Language
PH-04 Jennifer Popovic Programming in a Distributed Data Network Environment: A Perspective from the Mini-Sentinel Pilot Project
PH-06 Amber Schmitz
& Jessica Navratil-Strawn
Reducing the Bias: Practical Application of Propensity Score Matching in Healthcare Program Evaluation
PH-07 Xueying(Carol) Li
& Amy Mcqueen
& Anjali Deshpande
Examining the Factor Structure of the Revised Illness Perception Questionnaires (IPQ-R) among Underserved Type II Diabetic Patients
PH-08 Deanna Schreiber-Gregory How To Use Latent Analyses of Survey Data in a Logistic Regression Model


Posters

Paper No. Author(s) Paper Title (click for abstract)
PO-01 Charlie Shipp
& Kirk Paul Lafler
Design of Experiments (DOE) Using JMP®
PO-02 Michael Senderak ANCOVA (Analysis of Covariance): A Visual and Intuitive Understanding
PO-03 Yubo Gao Using the time-closest non-missing value to replace the missing value
PO-04 Stephen Sloan Using SAS PROC SQL to create a Build Combinations Tool to Support Modularity
PO-05 Robert Downer PREDICTION IMPROVEMENT FROM GEOSTATISTICAL METHODOLOGY IN REGRESSION MODELING FOR CENSUS TRACT HOUSING DATA.
PO-06 David Izrael
& Michael Costa
& Fizza Gillani
Universal SAS-Macro to Parse Any Schema of Ryan White Services (RSR) XML data.
PO-07 Kevin Putschko PROC ARBOR: Coding Decision Trees in SAS
PO-08 Aaron Clark Measuring Product-level Promotional Effectiveness in Midwest Supercenters using Multiple Linear Regression
PO-09 Carleen Dykstra
& Emma Mead
Show it with Shewhart: Determining if a Process is in Statistical Control
PO-10 Lauren Cook
& Chih-Ping Chou
& Nicole Gatto
& Jaimie Davis
& Donna Spruijt-Metz
Modifying a structural equation model of child dietary intake using the Lagrange Multiplier test in SAS® PROC CALIS
PO-11 Dachao Liu The Basics of PROC FCMP


Rapid Fire

Paper No. Author(s) Paper Title (click for abstract)
RF-02 Patricia Hettinger SAS AND RELATIONAL DATABASES: WHAT YOU SHOULD KNOW BEFORE YOU CODE
RF-03 Britney Gilbert WHERE, Oh, WHERE Art Thou? A Cautionary Tale for Using WHERE Statements and WHERE= Options
RF-04 Ron Fehd Using Cardinality Ratio for Fast Data Review
RF-05 Roger Muller File Management and Backup Considerations When Using SAS® Enterprise Guide (EG) Software
RF-06 Britney Gilbert
& Josh Horstman
Captain's LOG: Taking Command of SAS® Logarithm Functions
RF-07 Erica Goodrich
& Daniel Sturgeon
Color Me Impressed: Creating Colorful PROC REPORT Output
RF-08 Daniel Sturgeon
& Erica Goodrich
Burst Reporting With the Help of PROC SQL
RF-09 Jay Iyengar Can you decipher the code? If you change the code, maybe you can break it.
RF-10 Paul Genovesi Learning SAS's Perl Regular Expression Matching the Easy Way: By Doing
RF-11 Jennifer Yen A Simplified Approach to Add Shading to your Graph using GTL
RF-12 Girish Narayandas USING SAS HASH OBJECTS TO CUT DOWN PROCESSING TIME
RF-13 Jennifer Tsai The Use of Proc FCMP to Manage Your Functions


SAS 101

Paper No. Author(s) Paper Title (click for abstract)
SA-01 Kirk Paul Lafler SAS® Debugging 101
SA-02 Ira Shapiro SAS 101 For Newbies--Not to Little, Not Too Much--Just Right
SA-03 Nina Werner SAS® PASSTHRU to Microsoft SQL Server using ODBC
SA-04 Marje Fecht Quick Hits - My Favorite SAS® Tricks
SA-05 Jay Iyengar Navigating the Data Universe Aboard the Starship Enterprise Guide
SA-06 Andrew Kuligowski
& Swati Agarwal
Working with Character Data
SA-07 Peter Eberhardt
& Audrey Yeo
How Do I & ? Some Beginners FAQs
SA-08 Christianna Williams PROC SQL for DATA Step Die-hards
SA-09 Art Carpenter Before You Get Started: A Macro Language Preview in Three Parts
SA-10 Christianna Williams FORMATs Top Ten
SA-11 Eric Barnitt A Hands On Tutorial For Automating a Tedious Process
SA-12 Shruthi Amruthnath Report Customization Using PROC REPORT Procedure
SA-13 Girish Narayandas SAS ODS + PROC Report = Fantastic Output
SA-14 Ben Cochran An Introduction to the Mighty DATASETS Procedure
SA-15 Audrey Yeo SAS®: Data Manipulation Tools
SA-16 Josh Horstman
& Britney Gilbert
Ignorance is Not Bliss: Pearls of Wisdom for the Novice SAS Programmer
SA-17 Kirk Paul Lafler Top Ten SAS® Performance Tuning Techniques


SAS Presents

Paper No. Author(s) Paper Title (click for abstract)
SS-01 Edith Jeffreys Helpful Hints for Transitioning to SAS 9.4
SS-02 Dan Heath Putting on the Ritz: New Ways to Style Your ODS Graphics to the Max
SS-03 Scott Huntley PDF vs HTML: Can't We All Just Get Along?
SS-04 Vince Delgobbo Some Techniques for Integrating SAS® Output with Microsoft Excel Using Base SAS®
SS-05 Maura Stokes Introduction to the MCMC Procedure in SAS/STAT Software
SS-06 Michelle Buchecker Data Manipulation and Reports using SAS Enterprise Guide (aka: SAS Enterprise Guide for Everyone)
SS-07 Sanjay Matange Up Your Game with Graph Template Language Layouts
SS-08 Cynthia Zender Sailing Over the ACROSS Hurdle in PROC REPORT
SS-09 Edward Jones Text Analytics in High Performance SAS® and SAS® Enterprise Miner®




Abstracts

Advanced Analytics

AA-02 : Comparing regression, propensity matching and coarsened exact matching in healthcare observational studies using SAS: An example from the Medical Expenditure Panel Survey (MEPS)
Doug Thompson
Monday, 8:00 AM - 8:50 AM, Location: Comiskey

Healthcare expenditures in the United States have increased at an unsustainable rate, reaching 18% of GDP in 2011. There is a need to find ways to reduce healthcare spend while maintaining healthcare quality. Numerous interventions to reduce healthcare spend have been proposed and implemented. It is crucial to accurately evaluate which interventions are most effective. The gold standard method for evaluation is the randomized controlled trial (RCT), but this is sometimes unfeasible. Observational studies are an alternative when RCTs are not feasible. One aspect of observational studies is to balance the groups being compared (e.g., an intervention group and a comparison group) with respect to measured baseline characteristics, using methods such as regression or matching. After balancing on baseline characteristics, post-intervention outcome measures are compared between the groups. This presentation compares three methods to balance groups on baseline characteristics (regression, propensity matching, and coarsened exact matching). The methods are illustrated in the context of a study comparing healthcare costs in private gatekeeper insurance plans (which typically involve care coordination through a primary care physician) with other private insurance plans, using data from the Medical Expenditure Panel Survey (MEPs). Differences between the methods are summarized and SAS code to implement the methods is described.


AA-03 : Should more of your PROC REGs be QUANTREGs and ROBUSTREGs?
Peter Flom, Peter Flom Consulting
Monday, 9:00 AM - 9:50 AM, Location: Comiskey

Ordinary least squares (OLS) regression is one of the most commonly used statistical procedures and is available through PROC REG, GLM, MIXED and GLIMMIX. However, this model makes strong assumptions and only models the mean of the dependent variable. This paper presents methods in SAS (PROC QUANTREG and ROBUSTREG) that loosen these assumptions and look at more aspects of the dependent variable. These methods are used much less often, but should be used more. Users should have some familiarity with OLS regression and be interested in learning about different methods. The emphasis is on practical applications, mathematics is minimized. This paper uses SAS/STAT with any operating system.


AA-04 : Using the Delta Method with Proc Mixed to generate means and confidence intervals from a Linear Mixed Model on the original scale, when the analysis is done on the log scale
Brandy Sinco, University of Michigan
Edith Kieffer, University of Michigan
Michael Spencer, University of Michigan
Monday, 10:00 AM - 10:50 AM, Location: Comiskey

Background. SAS Proc Mixed does not provide an option to report log-transformed analyses on the original scale. Objective. Implement the delta method to report the means and confidence intervals of difference scores from log-transformed longitudinal data, so that results can be reported on the original scale of the outcome. Demonstrate how this methodology can be implemented on output from lmm (linear mixed models) from SAS Proc Mixed. Compare results from the delta method to reporting percent change, another common approach to difference scores from log-transformed data. Methods. We focused on a lmm for data with two treatment groups and two time points. By using the delta method and the exponential function as the inverse, a formula was derived to obtain estimates for the differences between the means between two time points, along with confidence intervals. As a demonstration, the delta method was applied to nutrition outcome data from the Healthy Moms study, a randomized clinical trial that showed improved dietary outcomes among 275 Latina women. Results. Using the delta method, the total fat outcome can be reported as decreasing between baseline and follow-up by -12.4g (-17.8g, -7.1g) within the treatment group, with an intervention effect of -9.1g (-17.0g, -1.2g) relative to the control group. Without the delta method, the results would be -16.7% (-23.0%, -10.0%) within the treatment group, with an intervention effect of -12.9% (-22.0%, -2.7%). Conclusion. The delta method provides a vehicle for reporting intervention effects in units that are more meaningful in public health and clinical practice.


AA-05 : Creating Code writing algorithms for producing n-lagged variables
Matthew Bates, J.P.Morgan Chase
Monday, 11:00 AM - 11:25 AM, Location: Comiskey

As a predictive modeler with time-series data there is a continuous search for new and better techniques to produce more precise forecasts. One of these techniques is to include lagged values as predictors in a model which leads to a technical coding question. How does one produce an n-number (large number of) of lagged variables without having to type every single lagged instance?


AA-07 : Creating an Easy to Use, Dynamic, Flexible Summary Table Macro with P-Values in SAS for Research Studies
Amy Gravely, Center for Chronic Disease Outcomes Research, A VA HSR&D Center of Innovation, Minneapolis VA Medical Center
Barbara Clothier, Center for Chronic Disease Outcomes Research, A VA HSR&D Center of Innovation, Minneapolis VA Medical Center
Sean Nugent, Center for Chronic Disease Outcomes Research, A VA HSR&D Center of Innovation, Minneapolis VA Medical Center
Monday, 1:00 PM - 1:25 PM, Location: Comiskey

SAS Macros are useful and can save time with routine, repetitive tasks such as creating customized tables in situations when the exact same table is needed repeatedly, but the data changes. However, often flexibility is desired so that the same macro can be used to create similar but not identical tables for different research studies, within the same study or to allow one to quickly accommodate requested changes. This paper presents an easy to use, flexible, dynamic summary table macro that includes p-values. This macro incorporates flexible features that the user specifies through macro parameters: the number and type of row variables, the number of columns, the type of tests one would like p-values from, and the spacing of the table. Currently chi-squared tests, Fisher's exact tests, ANOVA F-tests and t-tests are available and any combination of these can be used. The macro also has dynamic features. The macro automatically provides the column totals, the number of missing values, and assigns SAS formats to the column variable based on the dataset. The macro will also automatically pull in the correct p-value for t-tests depending on whether or not the variances are equal. It is also extremely easy to use. The user simply enters 21 parameter values and a nice looking rtf summary table is produced. Not only can the macro be used immediately for many different types of situations and saves time, but it is also written in a modular format so that one can easily add to it. Users must know the general idea of a SAS macro and how to run one.


AA-08 : Kaplan-Meier Survival Plotting Macro %NEWSURV
Jeffrey Meyers, Mayo Clinic
Monday, 1:30 PM - 2:20 PM, Location: Comiskey

The research areas of pharmaceuticals and oncology clinical trials greatly depend on time-to-event endpoints such as overall survival and progression-free survival. One of the best graphical displays of these analyses is the Kaplan-Meier curve, which can be simple to generate with the LIFETEST procedure but difficult to customize. Journal articles generally prefer that statistics such as median time-to-event, number of patients, and time-point event-free rate estimates be displayed within the graphic itself, and this was previously difficult to do without an external program such as Microsoft Excel. The macro NEWSURV takes advantage of the Graph Template Language (GTL) that was added with the SG graphics engine to create this level of customizability without the need for backend manipulation. Taking this one step further, the macro was improved to be able to generate a lattice of multiple unique Kaplan-Meier curves for side by side comparisons or condensing figures for publications. The following is a paper describing the functionality of the macro and a description of how the key elements of the macro work.


AA-09 : Selection and Transformation of Continuous Predictors for Logistic Regression
Bruce Lund, Marketing Associates
Monday, 2:30 PM - 2:55 PM, Location: Comiskey

This paper discusses the selection and transformation of continuous predictor variables for the fitting of binary logistic models. The paper has two parts: (1) A procedure and associated SAS® macro is presented which can screen hundreds of predictor variables and 10 transformations of these variables to determine their predictive power for a logistic regression. The SAS macro passes the training data set twice to prepare the transformations and one more time through PROC TTEST. (2) SAS macros are discussed which conduct the FSP (function selection procedure) for logistic regression by P. Royston and W. Sauerbrei. SAS software used: Base SAS and SAS/STAT. Intended audience: intermediate SAS users with interest in binary response modeling.


AA-10 : Tell Me What You Want: Conjoint Analysis Made Simple Using SAS
Delali Agbenyegah, Alliance Data Systems
Monday, 3:00 PM - 3:50 PM, Location: Comiskey

The measurement of factors influencing consumer purchasing decisions is of interest to all manufacturers of goods, retailers selling these goods, and consumers buying these goods. In the past decade, conjoint analysis has become one of the commonly used statistical techniques for analyzing the decisions or trade-offs consumers make when they purchase products. Although recent years have seen increased use of conjoint analysis and conjoint software, there is limited work that has spelled out a systematic procedure on how to do a conjoint analysis or use conjoint software. The goals of this paper are as follow: 1) Review basic conjoint analysis concepts,2) Describe the mathematical and statistical framework on which conjoint analysis is built; 3) Introduce The TRANSREG and PHREG procedures, their syntaxes, and the output they generate using simplified real life data examples. This paper concludes by highlighting some of the substantives issues related to the application of conjoint analysis in a business environment and the available auto call macros in SAS/STAT®,SAS/IML® and SAS/QC® to handle more complex conjoint designs and analyses. The paper will benefit the basic SAS user, Statisticians and research analysts in every industry, especially in marketing and advertisement.


AA-11 : Common Method Variance Techniques
Bradford Eichhorn, Cleveland State University
Tuesday, 8:00 AM - 8:50 AM, Location: Comiskey

Empirical research often utilizes survey tools such as Survey Monkey, Survey Gizmo, and Key Survey. Using a single survey respondent as the source for both the independent and dependent data in one instrument introduces the possibility of bias because of using a single method of data collection - therefore the term Common Method Bias (with Common Method Variance being the observation of such a bias). The impact of this bias was beginning to be understood in the 1950s and is important because it introduces error in the measures (Campbell and Fiske, 1959). Journals understand the need for implementing survey instruments yet are more frequently requiring researchers to demonstrate both proactive instrument design efforts and post-survey analyses of the amount of common method variance (Conway and Lance, 2010). This paper introduces this common issue in empirical (survey) research, briefly lists techniques available to reduce this source of bias during the experiment's design, and provides the analytical procedures to estimate the common method variance using three different techniques: Hartman Single Factor, Common Latent Variable, and Common Marker Variable. We show how researchers can utilize PROC FACTOR and PROC CALIS in SAS 9.2 to analyze their experiment's common method variance.


AA-13 : A SAS® Macro Using Parallel Genetic Algorithm to Automate Variable Selection
Jinqiao Li, Alliance Data
Yi Cao, Alliance Data
Yanping Shen, Alliance Data
Tuesday, 9:00 AM - 9:50 AM, Location: Comiskey

Variable selection for generalized linear models has been a challenge in statistical software in that current packages are either limited to a small scope of models or searching algorithm still focus on forward/backward/stepwise which biases parameter estimation ([1]). The proposed macro VarSel_PGA was built upon such need. It utilizes the Genetic Algorithm (GA) as the searching algorithm. In contrast to traditional forward, backward and stepwise selection schemes, GA directs users to an optimal path to the final set of variables. When combined with PROC GENMOD, variable selection can be applied to any model in the GENMOD procedure. To enhance the performance, we also incorporate p-value acceleration and parallelism. P-value acceleration technique facilitate algorithm to eliminate super uninformative variables in the early stage of iterations thus expedites the convergence. Parallelism is used to aggregate the results from multiple paths of GA such that the consolidated result is more stable. In terms of fitness criteria, VarSel_PGA is very user-specific in that it depends on user-defined selection criteria (AIC, BIC) which tailors the final selection to users' specific business needs. In the paper, we will demonstrate this powerful macro for Logistic model, Gamma Generalized Linear Model. Last but not least, GA based variable selection is highly expandable so we will focus on extending this macro beyond the scope of models in GENMOD as our future development direction.


AA-14 : Understanding Change through Different Methodological Lens
Jie Liao, Alliance Data Systems, Inc.
Monday, 4:00 PM - 4:25 PM, Location: Comiskey

The search for the best methods to study change using longitudinal data has been a major concern for analysts in most industries, in particularly the retail industry. This article offers different examples of available techniques to analyze the process of change. First, the article offers examples of how conventional models based on generalized linear models (GLM) can be fitted to longitudinal data using a variety of different procedures, from paired t-test to repeated-measures analysis of variance (rANOVA). Second, the article will discuss similarities and differences between these techniques. The general purpose of this article is to provide a demonstration that the study of change can be analyzed through different methodological lens. The most immediate goal is to help analysts implement these techniques as a useful way to examine change in their area of interest.


BI / Customer Intelligence

BI-01 : An Object Oriented Framework for Simulations in base SAS®
Mike Frick, General Motors - Retired
Tuesday, 2:00 PM - 2:50 PM, Location: Gold Coast

Have you ever wished you could have the power of SAS at your fingertips while coding an object-oriented simulation in a language like C++? Well if you have version 9.3 of SAS and are willing to take on some of the bookkeeping responsibilities normally handled by the complier, you can have the next best thing all while operating completely within base SAS. In this work, I develop an object-oriented framework for simulating the performance of traffic light signals using several features recently added to SAS. Each class of objects in the framework has its own dedicated subroutine (compiled using PROC FCMP) which consists of a hash table to store data associated with each instance of an object and the common code required to operate on the data. Further, each class of objects has an associated SAS macro that can be called to create a new instance of the object. The result is a set of off-the-shelf objects that can quickly be mixed and matched to form an infinite number of different simulations.


BI-02 : Efficiencies using SAS and Netezza
Rachel Rabaey, OLSON 1to1
Tuesday, 9:30 AM - 9:55 AM, Location: Gold Coast

IBM's Netezza data warehouse is specifically optimized for large amounts of data and high performance analytics. As SAS users, utilizing these features requires some knowledge and a few changes to codes. This paper will cover efficiencies such as Bulk Load and Bulk Unload, usage of temporary tables and how to utilize pass-through SQL to move data processing to a place where run times can be reduced by 50% or more.


BI-03 : Understanding Double Ampersand [&&] SAS® Macro Variables
Nina Werner, Werner Systems
Tuesday, 9:00 AM - 9:25 AM, Location: Gold Coast

Compound-named macro variables can be created from SAS dataset variables and resolved within a %DO ... %END loop in a macro program. This is intermediate-level content in a presentation for SAS macro beginners.


BI-04 : Preparing Interaction Variables for Logistic Regression
Bruce Lund, Marketing Associates
Tuesday, 10:00 AM - 10:50 AM, Location: Gold Coast

Interactions between two (or more) variables often add predictive power to a binary logistic regression model beyond what the original variables offer alone. In the simplest case, if X1 and X2 are zero-one valued variables, then their interaction variable is X1_X2 = X1*X2. However, X1_X2, in combination with X1 and X2, use 3 degrees of freedom. A nominal variable XC with four levels can be defined from X1 and X2 with values XC = compress(X1 || X2). Perhaps a collapsing of the four levels of XC to three values (having 2 d.f.) would provide nearly as much predictive power as the saturated model X1, X2, X1_X2 while providing more predictive power than X1, X2 alone. In this paper this question is answered for interactions of nominal or ordered X1 and X2, each with 2 or more levels. First, the user creates XC. Then a best-collapse algorithm optimally collapses the levels of XC until a stopping point is reached that provides a trade-off between degrees of freedom and predictive power. SAS software used: Base SAS and SAS/STAT. Intended audience: intermediate SAS user with interest in Customer Relationship Management (CRM)


BI-05 : Managing the Organization of SAS® Format and Macro Code Libraries in Multiple Complex Environments
Roger Muller, Data To Events, Inc
Tuesday, 1:30 PM - 1:55 PM, Location: Gold Coast

The capabilities of SAS® have been extended by the use of macros and custom formats. SAS macro code libraries and custom format libraries can be stored in various locations, some of which may or may not always be easily and efficiently accessed from other operating environments. Code can be in various states of development ranging from global organization-wide approved libraries to very elementary just-getting-started code. Formalized yet flexible file structures for storing code are needed. SAS user environments range from standalone systems such as PC SAS or SAS on a server/mainframe to much more complex installations using multiple platforms. Strictest attention must be paid to (1) file location for macros and formats and (2) management of the lack of cross-platform portability of formats. Macros are relatively easy to run from their native locations. This paper covers methods of doing this with emphasis on: (a) the option sasautos to define the location and the search order for identifying macros being called, and (b) even more importantlythe little-known SAS option MAUTOLOCDISPLAY to identify the location of the macro actually called in the saslog. Format libraries are more difficult to manage and cannot be created and run in a different operating system than that in which they were created. This paper discusses the export, copying and importing of format libraries to provide cross-platform capability. A SAS macro used to identify the source of a format being used is presented (%findfmt from support.sas.com). .


BI-06 : Analyzing Collection Effectiveness using Incremental Response Modeling
Ryan Burton, CAPITAL Services
Tuesday, 1:00 PM - 1:25 PM, Location: Gold Coast

Incremental response modeling is commonly used to optimize direct marking campaigns. Traditionally marking campaigns are optimized by targeting customers most likely to respond without considering the incremental effect the campaign had. Incremental response modeling targets those most likely to respond favorably to the campaign using a randomly split control and test group. SAS Enterprise Miner now includes an incremental response modeling node in production status with version 12.1 or greater. This paper is divided into three sections including the applications and benefits of incremental response modeling, basic theory behind SAS's incremental response modeling node, and a case study analyzing collection effectiveness with incremental response modeling. Some applications of incremental response modeling are optimizing marketing actions, personalized medicine, and collection efforts. Generally incremental response modeling can be applied to maximize a desired response by applying a treatment to a scored population. By only applying the treatment to the most positively influential population, costs of the treatment can be minimized while returns maximized. An incremental response modeling application in collection effectiveness showed collection costs can be decreased and revenue increased. By segmenting on independent variables like risk score and account age, a population was identified that was negatively influenced by early collection efforts. By focusing collection calls on customer segments positively influenced, collection effectiveness is maximized. The intended audience for this paper is anyone interested in maximizing the positive effect of a customer treatment that has a basic understanding of predictive modeling.


BI-07 : Reporting The Facts: The ODSmemo macro suite for making RTF memos within SAS®
A. Rocio Lopez, Cleveland Clinic
Monday, 4:00 PM - 4:25 PM, Location: Gold Coast

A lot of time and effort is spent on organizing tables and graphics into an easily read and informative report that can be sent to clients. The capability to send formatted text as well as high quality tables and graphics from SAS to Microsoft Word via the ODS rich text format (RTF) destination allows for easy creation of reproducible statistical reports. This paper will present the ODSMemo Macro Suite, a set of SAS macros that permits the user to quickly generate a report.


BI-08 : Investigating the Irregular: Using Perl Regular Expressions
Peter Eberhardt, Fernwood Consulting Group Inc
Monday, 2:00 PM - 2:50 PM, Location: Gold Coast

A true detective needs the help of a small army of assistants to track down and apprehend the bad guys. Likewise, a good SAS® programmer will use a small army of functions to find and fix bad data. In this paper we will show how the small army of regular expressions in SAS can help you. The paper will first explain how regular expressions work, then show how examples of how they work


BI-09 : %LET me help you improve your reporting with the help of SAS macros
Lori Sissing, CAPITAL Services
Monday, 1:30 PM - 1:55 PM, Location: Gold Coast

Building and maintaining reports can be tedious. Reports often need to be run daily, weekly, or monthly and for multiple portfolios or departments. Many times dates or other elements need to be updated in multiple places throughout the program. Ensuring all necessary elements are changed each time the report is updated can take time and an element can easily be missed resulting in inaccurate output. This paper describes how using macros and macro variables can decrease programming and updating complexity while saving time. The examples described will give readers a template for improving their own reports.


BI-10 : Secret Sauce for reporting health care data using SAS and SQL Server Business Intelligence
Bradley Blackmore, Cincinnati Children's Hospital Medical Center, Cincinnati, Ohio
Gowri Madhavan
Monday, 3:00 PM - 3:50 PM, Location: Gold Coast

When thinking about quality improvement in health care, it is technology that facilitates the work. Without a reliable mechanism of capturing, analyzing and reporting measures, quality improvement cannot exist. What if you had a tool that could streamline this process? A tool that could fetch the data you need from multiple sources automatically based on rules and criteria that can change at the pace of healthcare. A tool that can produce SAS-ready SQL, raw datasets, or complex charts quickly. A tool like this does not exist today; at least not from any vendors we've explored. Instead, we have architected a solution internally that is capable of doing all of this. With SQL Server Business Intelligence tools we have developed a flexible and dynamic data warehouse that can extract data out of EPIC and dynamically apply context and business rules at touch points along the way. The data is stored in a way that makes aggregate charts and graphs easy to create and lightning fast. Moreover, the detail records are just a click away. Using SQL Reporting Services as a front-end, analysts are able to produce line graphs and Pareto charts on the fly, while extracting SAS datasets ready for more advanced work. This paper describes the architecture of such a solution and how it can be used to automate measures for community health. One such measure includes the monthly number of patient visits to non-urgent care units stratified by communities and clinics; a growing area for improvement work in healthcare.


BI-11 : Use of Social Media Data to Predict Retail Sales Performance
Li Zhang, Alliance Data Systems, Inc.
Tuesday, 8:00 AM - 8:50 AM, Location: Gold Coast

Big data in terms of unstructured social media data is making a big impact in the retail sector. Although recent years have seen increased use of social media data to inform business in the form of qualitative inputs, there is limited work that has spelled out a systematic procedure of using social media data in quantitative analysis. This paper will attempt to fill this gap by showing the practical aspects and theoretical concerns of building analytical models using both structured and unstructured data. The goals of this paper are modest. First, it provides a brief overview of big data, social media data and sentiment analysis. Second, it offers a classification method that converts and quantifies social media text data into discrete customer sentiment data. Third, this paper describes several statistical models to examine the role of customer sentiment in the prediction of retail sales performance. In addition to the sentiment variables, demographic and econometrics variables are used to account further for variations in retail sales performance. SAS PROC AUTOREG for traditional time series analysis is illustrated throughout this paper. Finally, this paper concludes by highlighting some substantive issues related to using social media data to augment business decisions.


BI-12 : The Joinless Join; Expand the Power of SAS® Enterprise Guide® in a New Way
Kent Phelps, The SASketeers
Ronda Phelps, The SASketeers
Kirk Paul Lafler, Software Intelligence Corporation
Monday, 1:00 PM - 1:25 PM, Location: Gold Coast

SAS Enterprise Guide can easily combine data from tables or data sets by using a Graphical User Interface (GUI) PROC SQL Join to match on like columns or by using a Base SAS® Program Node DATA Step Merge to match on the same variable name. However, what do you do when tables or data sets do not contain like columns or the same variable name and a Join or Merge cannot be used? We invite you to attend our presentation on the Joinless Join where we teach you how to expand the power of SAS Enterprise Guide in a new way. We will empower you to creatively overcome the limits of a standard Join or Merge. You will learn when to utilize and how to design a Joinless Join based upon dependencies, indirect relationships, or no relationships at all between the tables or data sets. Come experience the power and the versatility of the Joinless Join to greatly expand your data transformation and analysis toolkit. We look forward to introducing you to the surprising paradox of the Joinless Join.


BI-13 : SAS® Commands PIPE and CALL EXECUTE; Dynamically Advancing from Strangers to Your Newest BFF (Best Friends Forever)
Kent Phelps, The SASketeers
Ronda Phelps, The SASketeers
Kirk Paul Lafler, Software Intelligence Corporation
Monday, 11:00 AM - 11:25 AM, Location: Gold Coast

Communication is the basic foundation of all relationships, including our relationship with SAS and the Server/PC/Mainframe (S/P/M). There are times when we need to communicate with the S/P/M through the UNIX, Windows, or z/OS Operating System (OS). To communicate with the S/P/M we will ideally design our SAS programs to request, receive, and utilize data to automatically create and execute Dynamic Code. Our presentation highlights the powerful partnership which occurs when the PIPE and CALL EXECUTE commands are combined with Dynamic Code and creatively used together within SAS Enterprise Guide® Base SAS® Program Nodes. You will have the opportunity to learn how 1,259 time-consuming Manual Steps are amazingly replaced with only 3 time-saving Dynamic Automated Steps. We invite you to attend our session where we detail the UNIX syntax for the PIPE and CALL EXECUTE commands and the Dynamic Code. We look forward to introducing you to your newest BFF (Best Friends Forever) in SAS. (Please see the Appendices to review starting point information regarding the syntax for Windows and z/OS, an alternative for the PIPE command, and the code that created the data sets for our project example.)


BI-14 : SAS(R)In-Memory Analytics: Beyond Foundation SAS
Tho Nguyen, Teradata
John Cunningham, Colleague
Monday, 9:30 AM - 9:55 AM, Location: Gold Coast

In-memory analytics help to analyze large volumes of data in-memory with SAS® High-Performance Analytics (HPA) products and SAS(r) Visual Analytics. This latest innovation provides an entirely new approach to tackle big data by using an in-memory analytics engine to deliver super-fast responses to complex analytical problems. It is a set of products beyond SAS Foundation technologies to explore and develop data models using all of your data. Jointly developed with SAS, the Teradata Appliance for SAS eliminates the need to copy data to a separate appliance with dedicated SAS nodes for in-memory processing. This paper explains the in-memory analytics architecture and how the Teradata Appliance for SAS extends the analytic capabilities of the Teradata environment.


BI-15 : Conquering Big Data Analytics with SAS, Teradata and Hadoop
Tho Nguyen, Teradata
Paul Segal, Colleague
John Cunningham, Colleague
Monday, 10:00 AM - 10:50 AM, Location: Gold Coast

Organizations using SAS are collecting more structured and unstructured data than ever before, presenting great opportunities and unique challenges. There has never been a bigger need for proactive and agile strategies to overcome these challenges. SAS and Teradata have joined forces to revolutionize your business by providing enterprise analytics in a harmonious data management platform with Hadoop to deliver critical strategic insights. This paper will explore how Teradata and SAS are delivering solutions integrating from Base SAS(r) to SAS High-Performance Analytics (HPA) to SAS(r) Visual Analytics and share some of the best practices to break through your big data challenges and quickly uncover hidden opportunities.


BI-16 : SAS(R) In-Database Analytics for Teradata: Stop the Data Movement
Paul Segal, Teradata
Tho Nguyen, Teradata
Monday, 8:00 AM - 8:50 AM, Location: Gold Coast

In-database analytics refer to the integration of advanced analytics into the data warehousing functionality. Many analytical computing solutions and large databases use this technology because it provides significant performance improvements over the traditional methods. Thus, in-database analytics have been adopted by many SAS business analysts who have been able to realize the benefits of streamlined processing and increased performance. With SAS(r) in-database analytics for Teradata, SAS users have the ability to develop complex data models and score the model in the data warehouse. By doing so, it removes the need to either move or extract the data to a SAS environment or convert the analytical code to something that could be executed on the data platform. In this session, you will learn what is SAS in-database analytics for Teradata and what are some of the best practices adopted by our customers using Base SAS, SAS STAT and SAS Enterprise Miner.


BI-17 : Parallel Data Preparation with the DS2 Programming Language
Tho Nguyen, Teradata
John Cunningham, Teradata
Monday, 9:00 AM - 9:25 AM, Location: Gold Coast

A time consuming part of statistical analysis is building an analytic data set for statistical procedures. Whether it is recoding input values, transforming variables, or combining data from multiple data sources, the work to create an analytic data set can take time. The DS2 programming language in SAS 9.4 simplifies and speeds data preparation with user-defined methods, storing methods and attributes in shareable packages, and threaded execution on multi-core SMP and MPP machines.


Beyond the Basics

BB-01 : 'V' for & Variable Information Functions to the Rescue
Richann Watson, Experis
Karl Miller, InVentiv Health clinical
Monday, 11:30 AM - 11:55 AM, Location: Crystal A

There are times when we need to use the attributes of a variable within a data set. Normally, this can be done with a simple CONTENTS procedure. The information can be viewed prior to programming and then hardcoded within the program or it can be saved to a data set that can be joined back to the main data set. If the attributes are hardcoded then what happens if the data set changes structure, then the program would need to be updated accordingly. If the information from PROC CONTENTS is saved and then joined with the main data set, then this would need to be done for all data sets that need to be processed. This is where knowing your 'V' functions can come in handy. The 'V' functions can be used to return the label, format, length, name, type and/or value of a variable or a string within the data step. These functions can come quite in handy when you need to create summary statistics and if you need to perform an algorithm on a variable with a specific naming convention.


BB-03 : Five Little Known, But Highly Valuable and Widely Usable, PROC SQL Programming Techniques
Kirk Paul Lafler, Software Intelligence Corporation
Tuesday, 8:00 AM - 8:50 AM, Location: Crystal A

The SQL Procedure contains a number of powerful and elegant language features for SQL users. This presentation highlights five little known, but highly valuable and widely usable, topics that will help users harness the power of the SQL procedure. Topics include using PROC SQL to perform FIRST., LAST. and Between in BY-group processing; constructing and searching the contents of a value-list macro variable for a specific value; data validation operations; data summary operations to process down rows and across columns; and using the MSGLEVEL= system option and _METHOD SQL option to capture and gain greater insight into the processes during query evaluation, the algorithm selected and used by the optimizer when processing a query, testing and debugging operations, and other processes.


BB-04 : List Processing Macro Call-Macro
Ron Fehd, Stakana Analytics
Monday, 11:00 AM - 11:25 AM, Location: Crystal A

This paper provides an explanation of the general-purpose list processing routine Call-Macro. The parameters of this macro are a data set name and a macro name. It reads each row of the date set and generates a call to the macro named in its parameter. The purpose of this paper is to show how to use the macro function sysfunc with the SCL data set functions that open a data set, read and process each variable in an observation, and then close the data set.


BB-05 : File Finder: Conditionally Processing Files From a Directory Using SAS®
Katrina Drager, OptumInsight
Monday, 1:00 PM - 1:50 PM, Location: Crystal A

File processing for incoming files could be a lot easier and less labor intensive. What is needed is automated processing of the files without manually looking for files and running code separately for each import. The code presented here is a method to set people free from looking for files. This program is generic and runs off a configuration file, which provides some basic information about the files for the program to execute import process code for each file individually based on the existence of the file. It is setup to be date agnostic and relatively free of the errors experienced when importing files from sources which change filenames because it is driven by a keyword (At least one item in the filename should be consistent and not redundant between source files found in the directory). It can be executed daily, weekly, monthly, or whenever needed once the files anticipated have been setup in the configuration file and a few simple steps are followed to make sure that directories are regularly cleaned out so they are ready for new files. This paper is intended for intermediate to advanced SAS® users. This approach was implemented on a SAS Grid Enabled Server but will work on a non-Grid Unix Implementation, with modification the approach is applicable in SAS® 9.3 or above (It will likely work in earlier versions but is untested). Concepts Used: Macro Language, Unix PIPE, PROC SQL, Conditional Processing, Email coded into SAS® Program, and PROC EXPORT.


BB-06 : DATA Step Merging Techniques: From Basic to Innovative
Art Carpenter, CA Occidental Consultants
Monday, 9:00 AM - 9:50 AM, Location: Crystal A

Merging or joining data sets is an integral part of the data consolidation process. Within SAS® there are numerous methods and techniques that can be used to combine two or more data sets. We commonly think that within the DATA step the MERGE statement is the only way to join these data sets, while in fact, the MERGE is only one of numerous techniques available to us to perform this process. Each of these techniques has advantages and some have disadvantages. The informed programmer needs to have a grasp of each of these techniques if the correct technique is to be applied. This paper covers basic merging concepts and options within the DATA step, as well as, a number of techniques that go beyond the traditional MERGE statement. These include fuzzy merges, double SET statements, and the use of key indexing. The discussion will include the relative efficiencies of these techniques, especially when working with large data sets.


BB-07 : Using Arrays to Quickly Perform Fuzzy Merges Look-ups: Case Studies in Efficiency
Art Carpenter, CA Occidental Consultants
Monday, 10:00 AM - 10:50 AM, Location: Crystal A

Merging two data sets when a primary key is not available can be difficult. The MERGE statement cannot be used when BY values do not align, and data set expansion to force BY value alignment can be resource intensive. The use of DATA step arrays, as well as other techniques, can greatly simplify the code and significantly improve performance. This paper walks through two different types of examples where these techniques were successfully employed. The advantages will be discussed as will the syntax and techniques that were applied. The discussion will allow the reader to further extrapolate to other applications.


BB-08 : Five Ways to Flip-Flop Your Data
Josh Horstman, Nested Loop Consulting
Monday, 3:00 PM - 3:50 PM, Location: Crystal A

Data are often stored in highly normalized ("tall and skinny") structures that are not convenient for analysis. The SAS® programmer frequently needs to transform the data to arrange relevant variables together in a single row. Sometimes this is a simple matter of using the TRANSPOSE procedure to flip the values of a single variable into separate variables. However, when there are multiple variables to be transposed to a single row, it may require multiple transpositions to obtain the desired result. This paper describes five different ways to achieve this "flip-flop", explains how each method works, and compares the usefulness of each method in various situations. Emphasis is given to achieving a data-driven solution that minimizes hard-coding based on prior knowledge of the possible values each variable may have and improves maintainability and reusability of the code. The intended audience is novice and intermediate SAS programmers who have a basic understanding of the data step and the TRANSPOSE procedure.


BB-09 : All Your Scripts Are Belong To Us: Extending SAS with Server-Side Scripts
Benjamin Elbert, Alliance Data
Monday, 2:00 PM - 2:50 PM, Location: Crystal A

Even if one has previously developed code (in a language that must not be named) or has determined that some data acquisition procedures are easier solved outside SAS, SAS need not be left on the sideline to watch. By leveraging built-in SAS functionality such as URL calls, XML processing, and the beloved Macro Language, we demonstrate how SAS can acquire data produced by server-side scripts. By interacting with some simple scripts, we will demonstrate how automated tools can remain automated and not require one to leave the comfort of their SAS environment. For the adventurous SAS programmer, the techniques described in this paper easily extend to cases where we wish to call C, Perl, Python, or other scripts on a server to accomplish a multitude of tasks without the hassle of converting code or switching between environments, which is especially beneficial in an enterprise scenario where resource constraints may stipulate that developed processes be left as is.


BB-10 : DS2: The New and Improved DATA Step in SAS®
Rajesh Lal, Experis US Inc.
Monday, 4:00 PM - 4:25 PM, Location: Crystal A

The DATA step is a fundamental building block of Base SAS language or any SAS program. It is characterized by implicit loop of SET statement, reading and writing dataset observations, implicit global variable declaration and access to a huge library of SAS functions and ability to use inbuilt or user-defined formats. DS2 is a SAS proprietary programming language that is used for data manipulation and data modeling applications. It shares the core features of the DATA step and extends far beyond that. It includes several features that are not available in the DATA step like: variable scoping, user-defined methods, ANSI SQL data types, user-defined packages, and programming structure elements. This paper discusses the features, basic components, usage and examples of DS2.


BB-11 : Documentation Driven Programming: How orienting your projects around their data leads to quicker development and better results
Joe Matise, NORC
Marcus Maher
Tuesday, 11:00 AM - 11:50 AM, Location: Crystal A

In this paper we show a modular, data-driven method of programming using a data dictionary based approach. Constructing a data dictionary in a consistent, tabular fashion, one can write an application that reads in data, adds formats and labels, performs data cleaning, and produces reports without almost any additional coding. This leads to efficiency gains, accuracy gains, and more clear code. We explain the fundamentals of a data dictionary that can be used for this purpose, with examples for different specific purposes, and show one implementation of a simple system. We invite the reader to adapt the base concept to their specific needs, and suggest a few things to consider when adapting this to more specific purposes. The process applies to Base SAS version 9, and examples will be presented assuming the presence of Access to PC Files, although the concept does not require it. Users will be expected to have an intermediate skill level with working with SAS files, and some understanding of macros and automated code generation (using PROC SQL Select Into or similar).


BB-12 : From Wide to Tall: A Proc SQL Approach to Transposing
Brandon Crosser
Tuesday, 9:00 AM - 9:25 AM, Location: Crystal A

In many Extract, Transform, and Load (ETL) situations a large scale conversion is needed from a wide table structure to a tall table structure. This often occurs in transformation from a denormalized to normalized architecture. This paper presents techniques to gain efficiency in doing such loading with particular attention to reading and writing between SQL Server database tables. The techniques described within ensure that the process is table-driven and extensible with minimal code edits. A contrast of the technique with a Proc Transpose approach will be presented.


BB-13 : Some useful SQL Procedures in SAS® - Applications in complex scenarios
Soma Ghosh, UnitedHealth Group
Tuesday, 9:30 AM - 9:55 AM, Location: Crystal A

SQL Procedure (PROC SQL) is a very powerful feature provided by Base SAS. Apart from any DBMS or RDBMS, with SAS we see this implementation of Structured Query Language. For new SAS users, who have prior experience with SQL, it is very easy to migrate to SAS based projects by using PROC SQL. PROC SQL can be used as an alternative to DATA steps. This can be used to import data from SAS Datasets and any other external Database Systems. With PROC SQL we can create Tables, Views, and Indexes. In addition to this, it supports CURD (Create, Read, Update and Delete) features PROC SQL makes some of the things really easy to implement, like: ordering, grouping with having clause in a query, using aggregate functions, merging tables using joins, working on multiple query results using Union All, using Oracle Analytical functions with pass through queries. PROC SQL can * Create different types of reports * Summarize the statistical data * Import data from tables or views * Merge data from tables or views * Create tables, views, and indexes * Create & Update SAS datasets * Delete & Drop SAS datasets * Insert, Update, Delete and import data from DBMS/RDBMS tables


BB-14 : I Object: SAS® Does Objects with DS2
Peter Eberhardt, Fernwood Consulting Group Inc
Monday, 8:00 AM - 8:25 AM, Location: Crystal A

The DATA step has served SAS® programmers well over the years, and although it is powerful, it has not fundamentally changed. With DS2, SAS has introduced a significant alternative to the DATA step by introducing an object-oriented programming environment. In this paper, we share our experiences with getting started with DS2 and learning to use it to access, manage, and share data in a scalable, threaded, and standards-based way.


BB-15 : So You Want to Be SAS Certified
Ben Cochran, The Bedford Group
Tuesday, 10:00 AM - 10:50 AM, Location: Crystal A

Many SAS programmers want to sharpen their SAS image by pursuing SAS Certification. This presentation introduces all the ways a user can pursue this goal. It explains each Certification exam, discusses the content, and how to prepare for Certification. In the last section of the paper, the author will share some example questions found on the Certification exam and explain the answers to each question.


BB-16 : Introduction to SAS Hash Objects
Chris Schacherer
Tuesday, 1:00 PM - 1:50 PM, Location: Crystal A

The SAS hash object is an incredibly powerful technique for integrating data from two or more datasets based on a common key. The current work describes the basic methodology for defining, populating, and utilizing a hash object to perform lookups within the DATA step and provides examples of situations in which the performance of SAS programs is improved by their use. Common problems encountered when using hash objects are explained, and tools and techniques for optimizing hash objects within your SAS program are demonstrated.


BB-17 : If You Can Predict It, You Can Prevent It: Deploying Quality Assurance Event Handling, Exception Handling, and Error Handling Methods in Base SAS
Troy Hughes, No Affiliation
Tuesday, 2:30 PM - 3:20 PM, Location: Crystal A

A familiar adage in firefighting and in all realms of accident prevention is the belief that: If you can predict it, you can prevent it. If you can predict that a fire may, however unlikely, someday rage through a structure, it's prudent to install smoke detectors to aid in its discovery. Fire codes in fact have grown to incorporate increasingly more restrictions and regulations as more is understood about the nature of fire and as construction materials, practices, and preferences continue to evolve. Operational SAS processes too should evolve over time to respond to unwanted events, both those caused from erroneous or unexpected data and from environmental or process failure. Event handling describes the identification of actions or occurrences and the subsequent transfer of program or process control through predetermined channels. It typically includes and differentiates between exception handling, the resolution of predictable, undesirable events, and error handling, which spawns graceful process termination when failure is detected. By identifying undesirable events, such as user data containing erroneous outliers, event handling scripts can delete or change a value, exclude a record, alert a user or administrator, or follow other pre-defined steps. And, by identifying catastrophic events, such as the unavailability of a data set or a corrupt file, error handling can terminate a program while providing meaningful environmental and other data to interested parties. Thus, as operational processes mature, event handling processes also should mature to ensure robust, reliable execution. This paper introduces exception handling and error handling processes in Base SAS and includes examples 25 common coding scenarios that can benefit from even handling.


BB-18 : Will You Smell Smoke When Your Data Are on Fire? The SAS Smoke Detector: Installing an Automated Quality Control Dashboard for Transactional Data
Troy Hughes, No Affiliation
Monday, 8:30 AM - 8:55 AM, Location: Crystal A

Wherever third party data must be relied upon, data consistency must be monitored and maintained; schemas can change, outliers occur, and threats to validity abound. In a transactional extract transform load (ETL) infrastructure, data are transformed from raw to refined formats as updates are received, processed, and incorporated. Quality control, thus, requires the prompt comparison of the transactional cohort or data stream to historical data to ensure data are of an expected quality and quantity. A single outlier, an accidentally locked data set, or even subtle modifications to a data schemafor example, a character field whose format unexpectedly changes overnight from 30 to 25 characterscan cause a robust ETL infrastructure to grind to a halt or produce invalid results. And, while a mature infrastructure should incorporate adequate event handling to inform data managers and developers immediately of threats to validity, a sanity check at ETL termination also should be considered a necessity. Like a smoke detector, this quality control is not intended to discover the source of the fire, but rather to sound an alarm to developers that data have been modified, locked, deleted, or otherwise corrupted. This paper describes the development and implementation of an automated, scalable process coded in Base SAS that monitors the data quality, quantity, and availability of persistent libraries, data sets, and fields for both raw and finished transactional data. The drill-down HTML interface displays color-coded warnings and errors in near-real-time, trends historical transactional updates and errors, and dramatically increases the fidelity of data and the responsiveness of developers to identify and rectify threats to data validity.


BB-19 : Get Control of Your Input: Refer to Multiple Data Files Efficiently
Zhongping Zhai, Reserve Consulting
Tuesday, 2:00 PM - 2:25 PM, Location: Crystal A

Input files for a SAS program may be specified by complex business rules. The way that files are referred and metadata (e.g. file size, number of columns, etc.) are retrieved affects efficiency of the SAS application. SAS provides several facilities (statements, functions and procedures) that enable interaction with operating system and its own metadata management information. This paper compares methods of locating multiple files and several ways of getting metadata. With discussions on applicability of those methods, this paper aims to provide a guideline for SAS developers at all levels to efficiently deal with complex data sourcing requirement. All example codes are tested on SAS 9.3 Base.


Data Visualization and Graphics

DV-01 : Categorical AND Continuous - The Best of Both Worlds
Kathryn Schurr, Spectrum Health
Ruth Kurtycz, Spectrum Health
Monday, 9:00 AM - 9:50 AM, Location: Buckingham

Visually representing data such as blood pressure has presented a challenge for health professionals. Do we treat blood pressure as a continuous or categorical variable when interpreting this type of data? As continuous data can be shown graphically, minute changes allow decision makers to identify positive or negative trends over time; while categorical data can efficiently identify abnormal levels that facilitates prompt assignment of treatment. Although each type of graphic has its uses, there have been no visual representation that simultaneously displays blood pressure's unique categorical and continuous nature. We have devised a scatter-band plot to show categorical movements, while still maintaining the integrity the continuous variable. This graphic allows us to observe the trends of the data through the scatterplot, while colored bands broadcast the category of each data point. To utilize the method discussed here, users should have a basic understanding of PROC SGPLOT and access to SAS v9.3.


DV-03 : SAS® Graphs with multiple Y axes - with some useful tips and tricks
Soma Ghosh, UnitedHealth Group
Monday, 10:00 AM - 10:25 AM, Location: Buckingham

SAS/Graph is a very powerful feature that helps programmers, analysts to provide a very high standard view of data. Without having this feature, report writers had to use some other applications to create graph manually every time, with every new datasets. But this helps to automate the design view of many analytical data available in SAS. Program need to created only once and graphs will be created automatically for all similar datasets. This paper will explain how to create graph with double values in the Y axis and also combining Bar & Line graph together in one Chart. This paper will show the use of GPLOT & GCHART, PROC GREPLAY to merge two different graphs together and saving file in jpeg format. Also, this paper includes the usage of attributes like color, style, font with graphs.


DV-04 : Labelling without the Hassle: How to Produce Labeled Stacked Bar Charts Using SGPLOT and GTL Without Annotate
Joe Matise, NORC
Monday, 10:30 AM - 10:55 AM, Location: Buckingham

SGPlot and GTL are two powerful weapons in a SAS developer's arsenal in producing high quality graphics. However, there are many times where you try to produce a graph and find that an option isn't available for exactly what you want to do. Stacked bar charts, and similarly 100% stacked bar charts, are a popular method for displaying data with multiple logical groupings. SAS has made producing these charts easy in PROC SGPLOT with the addition of the grouptype=stacked option; adding labels to the charts, however, is a more difficult task, as bar charts only support a single label per bar. While the annotation facility is one possible method for accomplishing this task, users may find it difficult to use for a variety of reasons. In the case of the clustered stacked bar chart, they may find it nearly impossible. We present two different methods for producing these charts, one using GTL and one using SGPLOT, which do not require the use of the annotation facility, and are extremely flexible. We also direct the reader to additional resources, where similar approaches to other graphical problems often are possible. This paper assumes the reader has familiarity with the basics of SAS ODS Graphics (SGPlot in particular). Additionally, some sections assume familiarity with the Graph Template Language which underlies much of the SAS ODS Graphics system. The concepts presented require SAS 9.3 or newer to implement.


DV-05 : Extreme SAS® reporting II: Data Compendium and 5 Star Ratings Revisited
Louise Hadden, Abt Associates Inc.
Monday, 11:00 AM - 11:50 AM, Location: Buckingham

Each month, our project team delivers updated 5-Star ratings for 15,700+ nursing homes across the United States to Centers for Medicare & Medicaid Services. There is a wealth of data (and processing) behind the ratings, and this data is longitudinal in nature. A prior paper in this series, "Programming the Provider Previews: Extreme SAS Reporting" discussed one aspect of the processing involved in maintaining the Nursing Home Compare website. This paper will discuss two other aspects of our processing: creating an annual data Compendium, and extending the 5-star processing to accommodate several different output formats for different purposes. Products used include Base SAS, SAS/STAT, SG Procedures, and SAS/Graph. New annotate facilities in both SAS/Graph and the SG Procedures will be discussed. This paper and presentation will be of most interest to SAS programmers with medium to advanced SAS skills.


DV-06 : How to Create a UNIX Space Management Report Using SAS®
Matthew Shevrin, Truven Health Analytics
Thomas Lehmann, Truven Health Analytics
Monday, 3:00 PM - 3:25 PM, Location: Buckingham

Storage space on a UNIX platform is a costly - and finite - resource to maintain, even under ideal conditions. By regularly monitoring and promptly responding to space limitations that may occur during production, an organization can mitigate the risk of wasted expense, time and effort caused by this problem. SAS® programmers at Truven Health Analytics have designed a reporting tool to measure space usage by a number of distinct factors over time. Using tabular and graphical output, it provides a full picture of what often contributes to critical reductions of available hardware space. It enables managers and users to respond appropriately and effectively whenever this occurs. It also helps identify ways to encourage more efficient practices, thereby minimizing the likelihood of this from occurring in the future. Operating System: RHEL 5.4 (Red Hat Enterprise Linux), Oracle Sun Fire X4600 M2 SAS 9.3 TS1M1 Skill level: Intermediate


DV-07 : Where in the World are SAS/Graph® Maps? An Exploration of the Old and New SAS® Mapping Capacities
Louise Hadden, Abt Associates Inc.
Monday, 1:00 PM - 1:50 PM, Location: Buckingham

SAS® has an amazing arsenal of tools to use and display geographic information that is relatively unknown and underutilized. This presentation will highlight both new and existing capacities for creating stunning, informative maps as well as using geographic data in other ways. SAS provided map data files, functions, format libraries and other geographic data files will be explored in detail. Custom mapping of geographic areas will be discussed. Maps produced will include use of both the annotate facility (including some new functions) and PROC GREPLAY. Products used are Base SAS and SAS/Graph. SAS programmers of any skill level will benefit from this presentation.


DV-08 : Visualization of Self-Reported Alcohol Use Data: A Timeline Followback Dashboard using Heatmaps, Time Series Plots, and HTML Hover-Text
Daniel Fuhrmann, University of Wisconsin - Milwaukee
Michael Fendrich, University of Wisconsin-Milwaukee
Lisa Berger, University of Wisconsin-Milwaukee
Monday, 2:00 PM - 2:50 PM, Location: Buckingham

In research studies of substance use, a widely employed computerized technique for assessing self-reported alcohol consumption is the Timeline Followback (TLFB) interview. The TLFB data for the present study were collected from a random sample of 606 undergraduate students from a large, public urban university. Study participants reported their daily alcohol use measured in US standard drinks for a pre-specified time horizon (90 calendar days prior to the interview date). In order to increase the accuracy of the reports, TLFB assessors provided the participants with reference guides on the definition of a US standard drink, encouraged them to think about any established drinking behavior patterns, and offered TLFB calendars listing local events and participant personal events as anchors to aid with recall. Typically, summary measures of alcohol use - such as total number of drinks, average drinks per drinking day, etc. - are constructed from these kinds of data. The purpose of this paper is to demonstrate a novel way to visualize the interplay between reported alcohol use and social context. With the goal of data exploration in mind, we construct a dashboard using SAS/GRAPH® procedures that displays (1) the individual-level drinking trajectories over time (by calendar day) with each day color-coded based on drinking level and reported personal or social events; (2) time series plots, box plots, and frequency tables to summarize drinking and event data across participants; (3) standard descriptive statistics across time for each participant (Sobell & Sobell's Drinking Picture); and (4) a global study summary table.


DV-09 : Interactive HTML Reporting Using D3
Naushad Pasha Puliyambalath, Nationwide Insurance
Monday, 3:30 PM - 3:55 PM, Location: Buckingham

Data visualization and reporting tools using JavaScript has been flourishing recently. Of notable importance is D3 (Data-Driven Documents http://d3js.org/). In this paper we will see how to create dynamic HTML reports from SAS by making use of D3. More precisely, we will create a SAS program which upon execution will create an HTML file with an interactive dashboard containing a bar chart, a pie chart, and a table.


DV-10 : Pin the SAS Tail on the Excel Donkey: Automatically Sizing & Positioning SAS Graphics for Excel
Ted Conway, Self
Monday, 4:00 PM - 4:25 PM, Location: Buckingham

Okay, you've read all the books, manuals, and papers and can produce SAS/GRAPH and ODS Graphics with the best of them. But how do you handle the 'Final Mile' problem - getting your SAS-generated images sized just right and positioned just so in Excel? This paper presents a method of doing so that employs SAS Integration Technologies and Excel VBA to produce SAS graphics and automatically embed them in Excel worksheets. This technique may be of interest to all skill levels. It uses Base SAS, SAS/GRAPH, SAS ODS Graphics, the SAS Macro Facility, SAS Integration Technologies, Microsoft Excel, and Visual Basic for Applications (VBA) on the PC platform.


Hands-On Workshops

HW-01 : SAS® Enterprise Guide® 5.1 and 6.1: A Powerful Environment for Programmers, Too!
Marje Fecht, Prowerk Consulting
Monday, 9:30 AM - 11:30 AM, Location: SAS Train-1

Have you been programming in SAS for a while and just aren't sure how SAS Enterprise Guide can help you? This presentation demonstrates how SAS programmers can use SAS Enterprise Guide 5.1 or 6.1 as their primary interface to SAS, while maintaining the flexibility of writing their own customized code. We explore: * navigating and customizing the SAS Enterprise Guide environment * using SAS Enterprise Guide to access existing programs and enhance processing * exploiting the enhanced development environment including syntax completion and built-in function help * using SAS® Code Analyzer, Report Builder, and Document Builder * adding Project Parameters to generalize the usability of programs and processes * leveraging built-in capabilities available in SAS Enterprise Guide to further enhance the information you deliver. Our audience is SAS users who understand the basics of SAS programming and want to learn how to use SAS Enterprise Guide. This paper is also appropriate for users of earlier versions of SAS Enterprise Guide who want to try the enhanced features available in SAS Enterprise Guide 5.1 and 6.1.


HW-02 : Creating and Using Prompts in Enterprise Guide
Ben Cochran, The Bedford Group
Monday, 1:00 PM - 2:30 PM, Location: SAS Train-1

Several years ago, Enterprise Guide was given the ability to create prompts. The developers at have continually enhanced this process over the last several releases of Enterprise Guide (EG) and today the user can create quite a wide range of prompts to be deployed in the EG environment. This paper takes a look at some of the prompts that can be created.


HW-03 : Point-and-Click Programming Using SAS® Enterprise Guide®
Kirk Paul Lafler, Software Intelligence Corporation
Mira Shapiro, Analytic Designers LLC
Monday, 2:30 PM - 4:00 PM, Location: SAS Train-1

SAS® Enterprise Guide® empowers organizations, programmers, business analysts, statisticians and end-users with all the capabilities that SAS has to offer. This hands-on workshop presents the built-in wizards for performing reporting and analytical tasks, access to multi-platform enterprise data sources, the delivery of data and results to a variety of mediums and outlets, data manipulations without the need to learn complex coding constructs, and support for data management and documentation requirements. Attendees learn how to use the graphical user interface (GUI) to access tab-delimited and Excel input files; subset and summarize data; join (or merge) two tables together; flexibly export results to HTML, PDF and Excel; and visually manage projects using flowcharts and diagrams.


HW-05 : SAS®, Excel®, and JMP® Connectivity
Charlie Shipp, Consider Consulting Corporation
Kirk Paul Lafler, Software Intelligence Corporation
Monday, 1:00 PM - 2:30 PM, Location: SAS Train-2

Microsoft Excel is the most used software on planet Earth  the importance of connectivity with Excel is increasingly important to everyone. JMP is the best in the world for statistical graphics and data discovery; and SAS software is the gold standard for robust and reliable statistical analysis! Combine these three heavyweight software products with easy connectivity and you have a profound competitive edge. Depending on requirements, your (1) input, (2) discovery and analysis, and (3) final display and reporting can begin with any of the three and end with any of the three. We demonstrate the most likely paths that emphasizes SAS and JMP capabilities. You will leave the workshop appreciating the many possibilities to utilize Excel with SAS and JMP, including using the powerful Output Delivery System.


HW-06 : Programming With CLASS: Keeping Your Options Open
Art Carpenter, CA Occidental Consultants
Monday, 2:30 PM - 4:00 PM, Location: SAS Train-2

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.


HW-07 : ODS Graphics
Chuck Kincaid, Experis Business Intelligence and Analytics
Tuesday, 9:00 AM - 10:30 AM, Location: SAS Train-1

ODS Graphics are a great tool for SAS programmers to have in their toolbox. The graphics look sharp and are easy to create. There are also a lot of options available to the programmer. This workshop will provide hands on experience to many of the advanced capabilities for ODS graphics. Some experience with ODS Graphics is assumed.


HW-08 : Understanding How the DATA Step Works
Arthur Li
Tuesday, 10:30 AM - 12:00 PM, Location: SAS Train-1

To be a successful DATA Step programmer, one needs to grasp how the DATA step processes data via the program data vector (PDV) during the compilation and execution phases. Understanding how and why each of the automatic or user-defined variables is initialized and retained in the PDV is essential for writing an accurate program. Among these variables, the following variables deserve special attention, including variables that are created in the DATA step, by using the RETAIN or the SUM statements, and via by-group processing (FIRST.VARIABLE and LAST.VARIABLE). In this paper, you will be exposed to what happens in the PDV and how these variables are retained from various applications.


HW-09 : Basic SAS® PROCedures for Quick Results
Kirk Paul Lafler, Software Intelligence Corporation
Tuesday, 1:30 PM - 3:00 PM, Location: SAS Train-1

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-10 : A Hands-on Introduction to SAS® Dictionary Tables
Peter Eberhardt, Fernwood Consulting Group Inc
Tuesday, 9:00 AM - 10:30 AM, Location: SAS Train-2

The DATA step has served SAS® programmers well over the years, and although it is powerful, it has not fundamentally changed. With DS2, SAS has introduced a significant alternative to the DATA step by introducing an object-oriented programming environment. In this paper, we share our experiences with getting started with DS2 and learning to use it to access, manage, and share data in a scalable, threaded, and standards-based way.


HW-11 : The Armchair Quarterback: Writing SAS® Code for the Perfect Pivot (Table, That Is)
Peter Eberhardt, Fernwood Consulting Group Inc
Tuesday, 10:30 AM - 12:00 PM, Location: SAS Train-2

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-12 : Dealing with Non-Traditional Data Formats - An Update on Writing a Data Parser Using SAS®
Andrew Kuligowski, HSN
Monday, 10:00 AM - 11:30 AM, Location: SAS Train-2

The neophyte coder quickly learns how to handle data which has been organized into consistent columns. They also learn how to deal with Comma Separated Values (CSV) data - a technique which can be easily adapted to deal with other data delimiters. Unfortunately, not all data comes in such easy-to-process forms. This presentation will address some techniques that can be used when dealing with non-traditional data formats; this data could be intermingled among, or perhaps even seemingly buried in unnecessary clutter. The attendee / reader will receive tutorial-style information on some useful SAS® tools to allow one to read and process such creatively-located data. In addition, the material will also include some discussion of application programming that will deal with examples where data must be read from non-traditional formats.


JMP

JM-01 : JMP® Visual Statistics
Charlie Shipp, Consider Consulting Corporation
Tuesday, 9:00 AM - 9:50 AM, Location: Wrigley

For beginners and more experienced, we review the continuing merging of statistics and graphics. Statistical graphics is the forte of JMP software and the JMP team pioneered the way for SAS Visual Analytics®. Moving forward into Version 11, JMP has easy navigation, a graph builder, advanced algorithms in 85 platforms, and robust statistics you can trust. For olde-timers, we celebrate JMP success and discuss evolving and emerging developments, which we saw at the JMP Discovery Summit 2013 with the new Design of Experiments additions and other additions to JMP 11. New also is the entry of the 12th platform for experimental design, the Definitive Screening Design, adding selected midpoints. Many of the views will be shown in the presentation, and a lively discussion will continue in the hallway!


JM-02 : Design of Experiments (DOE) Using JMP®
Charlie Shipp, Consider Consulting Corporation
Kirk Paul Lafler, Software Intelligence Corporation
Tuesday, 10:00 AM - 10:50 AM, Location: Wrigley

JMP has provided some of the best design of experiment software for years. The JMP team continues the tradition of providing state-of-the-art DOE support. In addition to the full range of classical and modern design of experiment approaches, JMP provides a template for Custom Design for specific requirements. The other choices include: Screening Design; Response Surface Design; Choice Design; Accelerated Life Test Design; Nonlinear Design; Space Filling Design; Full Factorial Design; Taguchi Arrays; Mixture Design; and Augmented Design. Further, sample size and power plots are available. We introduce a new way to visualize optimization of many variables in a single interactive tool.


JM-03 : JMP®, and JMP® Training: a panel discussion
Charlie Shipp, Consider Consulting Corporation
Tuesday, 11:00 AM - 11:50 AM, Location: Wrigley

A panel of the invited speakers will each present a viewpoint on JMP software, JMP usage, and JMP user and management training. We will discuss the importance of management visibility, user group possibilities, and JMP training within your enterprise and in the community. You, the audience, will be an important part of the lively discussion that follows.


JM-04 : An effective JSL architecture to develop, test, and maintain applications in JMP software
Peter Wiebe
Kevin True, Abbott Laboratories
Mark Anawis, Abbott Laboratories
Monday, 8:00 AM - 8:50 AM, Location: Picasso

Applications developed in JMP are powerful, deployable, and maintainable solutions for complex analytical processes. Here we describe a JSL application architecture that manages namespace, variable naming conventions, and memory usage. By effectively combining the JSL commands 'include', 'function', and 'expr' as the architecture of the JSL Add-In, and leveraging the Add-In path "$ADDIN_HOME(Unique_ID)\file.jsl", an otherwise complex and lengthy JSL script can be broken into several smaller JSL scripts. Each of these smaller scripts can be developed with their own variable naming conventions, tested independently or in combination with the other application scripts, creating a more manageable development process for a JSL programmer. Exercising the 'new context' argument available within the 'include' command effectively manages potential namespace collisions, while the 'default local' argument available within the 'function' command conveniently manages variable memory space. In addition, creating an application namespace allows for information to be passed across the application as necessary, while otherwise minimizing memory space. The application architecture described is more convenient for a JSL programmer to develop, test, and maintain JMP applications.


JM-05 : Taming the Unruly Control Chart: Control Charting Unstable Processes
Erich Gundlach, SAS/JMP
Monday, 9:00 AM - 9:50 AM, Location: Picasso

Control charts can be a very effective means of monitoring for changes in the behavior of stable processes, and JMP® offers a simple, drag-and-drop tool to quickly create various types of control charts for this purpose. What happens, however, when your process is predictably unstable? Examples include gradual changes in part dimensions due to tool wear, product sales when they are ever increasing, the cyclical production of a dairy cow, and the seasonal variation of river water quality data. Conventional control charts often fail in these situations, causing wasted time and money conducting needless investigations. Fortunately, JMP® also provides tools for these situations, as well. Various techniques will be demonstrated within JMP® for adjusting data and/or control limits to allow the control charting of predictably unstable processes.


JM-06 : Design of Experiments for Digital Marketing Using JMP®
Anish Koppula, Starcom MediaVest Group
Erich Gundlach, SAS/JMP
Monday, 10:00 AM - 10:50 AM, Location: Picasso

Creative testing is an integral part of every digital marketing strategy. Evaluation of the performance of media assets is vital so that media dollars can be effectively allocated across the test groups. Today, most marketers rely on simple A/B tests to compare the performance of ad-copies using traditional hypothesis testing. A design of experiments approach provides a more efficient and informative comparison of ad-copies, thus allowing advertisers to effectively execute creative rotation and measure consumer response. This idea can also be extended to web analytics, which requires optimization of a set of elements on a website to provide the best landing page experience, ultimately leading to improved conversions and return on ad investment. This paper proposes and provides examples of: (1) various experimental designs (DOEs) replacing A/B tests, which report on efficiency in execution times using minimum sample test size determinations; and (2) methods for analyzing the DOE data that allow better visualization of the results and more informed decision making compared to methods used in A/B testing. JMP is used at both the design and analysis phases of each example to report on statistical measures aiding decision making, including sample size, power and correlations, along with other practical considerations.


JM-07 : Avoiding Long Work Weeks by Maximizing Your Productivity in JMP
Erich Gundlach, SAS/JMP
Monday, 1:00 PM - 1:50 PM, Location: Picasso

Time is short, and expectations are high. You've been handed a mission-critical project to complete by the end of the week, in addition to the mountain of other work accumulating on your desk. While JMP's interactive and visual workflow make for quick and efficient analyses, JMP contains many lesser-known features that can save you time and effort when working with your data. Various tips and tricks will be shared and hidden features revealed that will help you maximize your productivity (and minimize long days) at work by using JMP.


JM-08 : JMP® and SAS®: One Completes The Other
Philip Brown, Predictum Inc
Wayne Levin, Predictum Inc
Monday, 2:00 PM - 2:50 PM, Location: Picasso

Integrating JMP with SAS creates a formidable data management and analytical system. JMP takes the role of the client, providing interactivity and visualization and, as a result, makes advanced statistical methods accessible to analysts of all sorts. The limitation of JMP is that it requires data to be in memory. That limits the size of the data available for analysis and also requires the transfer of data from its sources into RAM; a slow process for large data sets. SAS on the server can manage and quickly manipulate data on a large scale and integrate JMP with other proprietary databases. This presentation will review options in extending the added value of JMP by extending its capabilities with SAS and discuss the optimal distribution of labor between JMP and SAS. JSL Application Development - Intermediate to Advanced SAS Base, EG, Platform Admin - Intermediate to Advanced


Pharmaceutical Applications

PH-01 : Jack of all Listings, A New Approach for Review of Clinical Data
Hardik Panchal, Celgene Corp.
Tuesday, 1:00 PM - 1:50 PM, Location: Comiskey

For an on-going clinical trial, an important process of data review is conducted typically by members of the study team using different outputs where patient data is presented. Purpose of data review is to monitor study progress, assess quality of data and identify trends. Outputs used for this review include listings of study domains like Demographics, Medical History, Adverse Events, Concomitant Medications, Labs, Drug Exposure, Efficacy. Traditional approach is to produce one listing of all Adverse Events, another listing of all Concomitant Medications and so on. This paper proposes a data listing programmed in SAS and output in MS Excel where in all patient data from different study domains is not only presented together but is also interleaved chronologically by date. This kind of listing offers a much powerful tool for data review. Some of the advantages compared to traditional approach: - Reviewers don't need to sift through different output files to get an assessment of patients' status. - Reviewer can get full picture of what information is collected by study sites at each of the patient visits. - At reviewers' discretion, rows of data from different domains (say AE and Study Drug Exposure) can be put together using data filter feature of MS Excel to identify relations/issues with data. This kind of all-in-one listing in MS Excel has the potential to reduce a number of traditional data review and patient profile outputs which translates to saving of time, effort and money for the sponsor.


PH-02 : A Comprehensive Automated Data Management System for Clinical Trials
Heather Eng, University of Pittsburgh
Jason Lyons, University of Pittsburgh
Theresa Sax, University of Pittsburgh
Tuesday, 11:00 AM - 11:25 AM, Location: Comiskey

A successful data coordinating center for multicenter clinical trials and registries must provide timely, individualized, and frequent feedback to investigators and study coordinators over the course of data collection. Investigators require up-to-date reports to help them monitor subject accrual and retention, randomization balance, and patient safety markers. Study coordinators need to know what data are expected or are delinquent, and they need to know about errors to be corrected, such as missing data or data that don't pass validity and logical consistency tests. Frequent monitoring can reveal systemic issues in procedures that require remedial adjustments to keep the project from being at risk. Data managers at the University of Pittsburgh's Epidemiology Data Center in the Graduate School of Public Health have developed an integrated system to collect and import data from multiple and disparate sources into a central relational database, subject it to comprehensive quality control procedures, create reports accessible on the web, and email individualized reports to investigators and study coordinators, all on an automated and scheduled basis. Post-hoc routines monitor execution logs, so that unexpected errors and warnings are automatically emailed to data managers for same-day review and resolution. The system is developed almost exclusively using SAS® software. While SAS® is best known among clinical trialists as statistical software, its strength as a data management tool should not be overlooked. With its strong and flexible programming capabilities for data manipulation, reporting and graphics, web interfacing, and emailing, it provides the necessary infrastructure to serve as a single platform for the management of data collected in clinical trials and registries. This paper will describe the modules of the system and their component programs as they were developed for the Computer-Based Cognitive-Behavioral Therapy (CCBT) Trial currently underway at the University of Louisville and the University of Pennsylvania, with data coordination at the University of Pittsburgh.


PH-03 : Case Study: Generating Clinical Trial Summary Plots from an ORACLE database using the SAS® Macro Language
Shannon Morrison, Cleveland Clinic
Tuesday, 11:30 AM - 11:55 AM, Location: Comiskey

This paper details creation of summary plots for a clinical trial using data stored in an ORACLE database. The primary recipients for these plots and tables were members of a Data Safety Monitoring Committee (DSMC) - plots needed to be informative and easy to read. After initial data cleaning, the SAS® Macro Language was used to step through the data to create two sets of plots - overall boxplots with jittered data points, and spaghetti panel plots - both showing results over time. Both the boxplots and spaghetti plots were grouped by test, and the spaghetti plots were laid out panel-style, with each patient's results contained in an individual panel.


PH-04 : Programming in a Distributed Data Network Environment: A Perspective from the Mini-Sentinel Pilot Project
Jennifer Popovic
Tuesday, 2:00 PM - 2:50 PM, Location: Comiskey

Multi-site, health science-related distributed data networks are becoming increasingly popular, particularly at a time where 'big data' and privacy are often competing priorities. Distributed data networks allow individual-level data to remain behind the firewall of the data holder, permitting the secure execution of queries against those local data and the return of aggregated data produced from those queries to the requester. These networks allow the use of multiple, varied sources of data for study purposes ranging from public health surveillance to comparative effectiveness research, without compromising data holders' concerns surrounding data security, patient privacy or proprietary interests. This paper focuses on the experiences of the Mini-Sentinel pilot project as a case study for using SAS to design and build infrastructure for a successful multi-site, collaborative distributed data network. Mini-Sentinel is a pilot project sponsored by the U.S. Food and Drug Administration (FDA) to create an active surveillance system - the Sentinel System - to monitor the safety of FDA-regulated medical products. This paper focuses on the data and programming aspects of distributed data networks but also visits governance and administrative issues as they relate to the maintenance of a technical network.


PH-06 : Reducing the Bias: Practical Application of Propensity Score Matching in Healthcare Program Evaluation
Amber Schmitz, Optum
Jessica Navratil-Strawn
Tuesday, 10:00 AM - 10:25 AM, Location: Comiskey

To stay competitive in the marketplace, healthcare programs must be capable of reporting the true savings to clients. This is a tall order considering most healthcare programs are setup to be available to the client's entire population; thus, the program cannot be conducted as a randomized control trial. In order to evaluate the performance of the program for the client, we use an observational study design which has inherent selection bias due to its inability to randomly assign participants. To reduce the impact of bias, we apply propensity score matching to the analysis. This technique is beneficial to healthcare program evaluations because it helps reduce selection bias in the observational analysis and in turn provides a clearer view of the client's savings. This paper will explore how to develop a propensity score, evaluate the use of inverse propensity weighting versus propensity matching, and determine the overall impact of the propensity score matching method on the observational study population. All results shown are drawn from a savings analysis using a participant (cases) versus non-participant (controls) observational study design for a healthcare decision support program aiming to reduce emergency room visits. The techniques in this paper were produced in SAS Enterprise Guide 5.1 running SAS9.3 and are intended for intermediate skill researchers.


PH-07 : Examining the Factor Structure of the Revised Illness Perception Questionnaires (IPQ-R) among Underserved Type II Diabetic Patients
Xueying(Carol) Li
Amy Mcqueen, Washington University,School of Medicine
Anjali Deshpande, Washington University,School of Medicine
Tuesday, 10:30 AM - 10:55 AM, Location: Comiskey

Illness representations are patients' beliefs and expectations about an illness or somatic symptom. The most frequently used measure of illness representations is the Revised Illness Perception Questionnaire (IPQ-R) and it has been widely utilized to study perceptions of various chronic conditions, find predictors associated with perceptions of an illness, and to change misperceptions through intervention. Since this instrument was developed using European-origin populations and much of the research using the IPQ-R has been conducted in European Countries3,4,9,14,24. Some of the items in the IPQ-R might need to be adapted for different populations as the items' explanations or conceptualizations and effectiveness may vary1,15.Our research was the first study to examine the factor structure of the IPQ-R for Type II diabetes in a US sample of underserved, mostly African American, patients diagnosed with Type II diabetes. Confirmatory Factor Analysis (CFA) was conducted through the use of SAS® PROC CALIS to assess model fit for the seven hypothesized subscales, then good fitting subscales were examined in a single model. CFA did not confirm the hypothesized factor structure, but after dropping eight poor performing items, a five-factor correlated model (illness coherence, timeline cyclical, personal control, treatment control, and consequences) fit the data well.


PH-08 : How To Use Latent Analyses of Survey Data in a Logistic Regression Model
Deanna Schreiber-Gregory, North Dakota State University
Tuesday, 3:00 PM - 3:50 PM, Location: Comiskey

The current study looks at several ways to investigate latent variables in longitudinal surveys and their use in logistic regression models. Three different analyses for latent variable discovery will be briefly reviewed and explored. The procedures explored in this paper are PROC LCA, PROC LTA, PROC CATMOD, PROC FACTOR, PROC TRAJ, and PROC SURVEYLOGISTIC. The analyses defined through these procedures are latent profile analyses, latent class analyses, and latent transition analyses. The latent variables will then be included in a logistic regression model. The effect of the latent variables on the fit and use of the logistic regression model compared to a similar model using observed data will be reviewed. The data used for this study was obtained via the National Longitudinal Study of Adolescent Health, a study distributed and collected by Add Health. Data was analyzed using SAS 9.3. This paper is intended for any level of SAS user. This paper is also written to an audience with a background in behavioral science and/or statistics.


Posters

PO-01 : Design of Experiments (DOE) Using JMP®
Charlie Shipp, Consider Consulting Corporation
Kirk Paul Lafler, Software Intelligence Corporation

JMP has provided some of the best design of experiment software for years. The JMP team continues the tradition of providing state-of-the-art DOE support. In addition to the full range of classical and modern design of experiment approaches, JMP provides a template for Custom Design for specific requirements. The other choices include: Screening Design; Response Surface Design; Choice Design; Accelerated Life Test Design; Nonlinear Design; Space Filling Design; Full Factorial Design; Taguchi Arrays; Mixture Design; and Augmented Design. Further, sample size and power plots are available. We give an introduction to these methods followed by a few examples with factors.


PO-02 : ANCOVA (Analysis of Covariance): A Visual and Intuitive Understanding
Michael Senderak, Merck & Co. Inc.

As programmers, we may be asked not only to prepare data for a research study, but also apply a sophisticated statistical analysis procedure selected by the researcher but unfamiliar to us. One extremely valuable analysis tool is ANCOVA, which allows the researcher to mathematically subtract out differences between non-equivalent groups and thereby more precisely estimate the effect of a treatment given to one group but not the other(s). The SAS code is deceptively simple. Three or four brief PROC GLM statements will yield a complete ANCOVA analysis. But how does ANCOVA work and what does the output mean? Although the name 'ANCOVA' and the mathematics behind it can be quite intimidating, the underlying logic can be readily grasped at an intuitive level, as we will see in this poster.


PO-03 : Using the time-closest non-missing value to replace the missing value
Yubo Gao, University of Iowa Hospitals and Clinics

It is common that there are always some missing values for some variables in medical research project. The investigator usually chooses one of two options to deal with: ignoring the records having missing value, or imputing the missing values by some methods. Since ignoring them loses information and ultimately reduces power, some investigators like to impute them. There are several imputation methods available with varying complexity from single imputation to multiple imputation methods, performed by the procedure PROC MI. Single imputation is often used to replace the missing value of a variable in a dataset because this approach is both simple and efficient, and particularly useful when working with an extensive dataset containing millions of records and a large number of variables. In single imputation each missing value can be imputed with the variable mean (or minimum/maximum) of the complete cases or imputed by carrying forward or backward the non-missing value to an incomplete case with a single pass. There are other situations where it makes more sense to impute the missing values using the time-closest non-missing value. However, this imputation approach has received little attention in SAS community. This paper will illustrate it with a real example and present relevant SAS codes to accomplish that. SAS 9.3 was used to write the codes that were run under Microsoft Windows 7 Enterprise. The contents are appropriate for beginner and/or intermediate SAS users.


PO-04 : Using SAS PROC SQL to create a Build Combinations Tool to Support Modularity
Stephen Sloan, Accenture

With SAS PROC SQL we can use a combination of a manufacturing Bill of Materials and a sales specification document to calculate the total number of configurations of a product that are potentially available for sale. This will allow the organization to increase modularity with maximum efficiency. Since some options might require or preclude other options, the result is more complex than a straight multiplication of the numbers of available options. Through judicious use of PROC SQL, we can maintain accuracy while reducing the time, space, and complexity involved in the calculations.


PO-05 : PREDICTION IMPROVEMENT FROM GEOSTATISTICAL METHODOLOGY IN REGRESSION MODELING FOR CENSUS TRACT HOUSING DATA.
Robert Downer, GVSU

Ordinary least squares is often sufficient and justified in utilizing a linear regression model for the prediction of new observations. For data which also involves spatial co-ordinates, incorporating spatial correlation through geostatistical techniques can adjust for underlying spatial dependence and may improve prediction. Relative position of locations as well as the selected predictor variables could impact whether such an adjustment leads to prediction improvement. Utilizing a Toledo, Ohio census tract housing dataset, twenty simulations were performed which considered the following factors: variable selection stopping criterion (Mallows Cp or SBC through stepwise selection), the test data set size, and the fraction of test points away from the center or northeast corner of the region. Ordinary least squares, residual kriging and spatial error regression were compared with respect to prediction performance. For this data set and simulation scenarios, PROC MIXED showed superior predictive ability in sixteen out of twenty simulations. PROC SURVEYSELECT, PROC GLMSELECT, PROC VARIOGRAM, PROC KRIGE2D and are also utilized within the methodology for this investigation. Some regression methodology is assumed as background for this paper.


PO-06 : Universal SAS-Macro to Parse Any Schema of Ryan White Services (RSR) XML data.
David Izrael
Michael Costa, Abt Associates
Fizza Gillani, Brown University

The widely used method to convert RSR XML data to some standard ready-to-process data base uses a Visual Basic mapper as a buffer tool when reading XML data, for example, into MS Access data base. We will describe the shortcomings of this method with respect to the different schemas of RSR data and offer and describe our SAS macro that enables user to read any schema of RSR data directly into SAS relational data base, thus avoiding the step of creation of MS Access data base entirely.


PO-07 : PROC ARBOR: Coding Decision Trees in SAS
Kevin Putschko, Grand Valley State University

Decision trees are one of the most widely used methods of predictive modeling due to the ease of understanding. The graphical model can be interpreted by almost anyone with just a short explanation of how it works. Generally, with SAS, decision trees are mostly discussed in regard to SAS Enterprise Miner. However, given that Enterprise Miner is an extra service that is not too widely used or understood yet, we chose to produce a decision tree using syntax in SAS Enterprise Guide 6.1. We will use PROC ARBOR along with PROC NETDRAW to make a decision tree that, while it will not be as attractive as a SAS Enterprise Miner tree, will provide an actionable graphical output. The process will be readily understood by those familiar with the basic form of SAS syntax. We reference the SAS Course Notes: Applied Analytics using SAS Enterprise Miner for a description of the decision tree algorithm. We also reference The ARBORETUM Procedure, along with The NETDRAW Procedure in the SAS documentation.


PO-08 : Measuring Product-level Promotional Effectiveness in Midwest Supercenters using Multiple Linear Regression
Aaron Clark, Meijer, Inc

Advertising weekly bargains, cutting back on regular prices, spooning out rewards club coupons, slashing prices at super-sale events, and marketing coupons to customer with certain purchasing habits are some of the many types of promotions typically available at your local supercenter to lower the price of your favorite goods. However, all promotions are not created equal among products. That is, customers that buy certain products respond differently to varying types of promotions at different times for different reasons, affecting the prediction of sales quantity and ultimately, the best type of promotion to run. To determine the most effective type and depth of promotion for any given product, we built a multiple linear regression model which incorporated inputs such as the product's average local market price, market location, seasonality of demand, advertisement effort, and more sources of variation. Furthermore, we used the predictive results from our model to rank promotion types and depths from the perspective of predicted sales quantity. This paper walks through the development and validation of a multiple linear regression model in the application of bath tissue sales quantity using SAS® Enterprise Guide 6.1. Background in multiple linear regression is assumed.


PO-09 : Show it with Shewhart: Determining if a Process is in Statistical Control
Carleen Dykstra, Grand Valley State University
Emma Mead, Grand Valley State University

PROC SHEWHART can be used to create a variety of control charts within SAS. Control charts are useful for detecting trends in data and determining if a process is in statistical control. One advantage of control charts is that they do not require a large number of observations, so they can be applied to a number of situations. Control charts are also easy for non-statisticians to understand and are utilized in a multitude of fields of study. This paper will focus on a few of the more common types of control charts, specifically; ir-charts, p-charts, u-charts, and c-charts. PROC SHEWHART is a basic and straightforward SAS procedure that will allow users to complete control charts with ease.


PO-10 : Modifying a structural equation model of child dietary intake using the Lagrange Multiplier test in SAS® PROC CALIS
Lauren Cook, University of Southern California
Chih-Ping Chou, University of Southern California
Nicole Gatto, Loma Linda University
Jaimie Davis, University of Texas, Austin
Donna Spruijt-Metz, University of Southern California

Structural equation models (SEM) allow for simultaneous evaluation of causal pathways between multiple predictors and outcomes, including latent variables, given a hypothesized theoretical model. If an initial SEM does not meet appropriate fit criteria, model modification can achieved through utilization of statistical results from the Lagrange Multiplier (LM) test and theoretical knowledge. To demonstrate modification of a SEM, baseline data from a garden-based nutrition intervention with elementary school children were examined using SAS® PROC CALIS. The two outcome variables of interest are fruit (F) and vegetable (V) intake (individually). Several measured determinants are hypothesized to predict these practices, including two latent variables, willingness to try F and V, which have six indicator variables each. Initial model fit was not acceptable (Ç2: 407.9, 111 df, p<0.0001; RMSEA: 0.09, CFI: 0.89). From the LM statistic we identified several unaccounted for correlations between errors on indicators of willingness to try F, V. These correlations are theoretically sensible given that items on these scales are worded identically, save for the words fruit and vegetable, and these modifications were made. Once correlations between comparable indicators were added to the SEM, model fit was improved (Ç2: 234.0, 105 df, p<0.0001; RMSEA: 0.06, CFI: 0.95). Additional relationships identified by the LM test were evaluated, but none were theoretically meaningful, and the second model was accepted as final. Use of the LM test in PROC CALIS facilitates theoretically appropriate modification of an a priori SEM in order to improve overall model fit and produce more reliable parameter estimates.


PO-11 : The Basics of PROC FCMP
Dachao Liu, Northwestern University

SAS Functions can save SAS users time and effort in programming. Each release of SAS has new functions added. Up to the latest version of SAS 9.3, there are over 450 functions. Even with a vast plethora of SAS functions, some SAS users still find the lack of some functions to perform certain tasks. Fortunately, In SAS 9, a new procedure called PROC FCMP was developed to help SAS users to write their own functions. This paper will discuss the basics of PROC FCMP and how we can use it to build our own SAS functions. The intended audience would be those who have a basic idea of SAS functions.


Rapid Fire

RF-02 : SAS AND RELATIONAL DATABASES: WHAT YOU SHOULD KNOW BEFORE YOU CODE
Patricia Hettinger, Consultant
Monday, 8:00 AM - 8:15 AM, Location: Wrigley

It is a rare shop that has data in just SAS format. DB2, Teradata, Oracle, SQL Server - all of these relational databases have their own quirks that may not become apparent until your DBA calls. This paper will address what you must know before using SAS/Access for more efficient queries and consistent results. If you are experienced with SAS or SQL but not the two together, this paper is for you.


RF-03 : WHERE, Oh, WHERE Art Thou? A Cautionary Tale for Using WHERE Statements and WHERE= Options
Britney Gilbert, Juniper Tree Consulting, LLC
Monday, 9:20 AM - 9:35 AM, Location: Wrigley

Using WHERE statements in your SAS programming can make processing data more efficient. However, the programmer needs to have a full understanding and be aware of how SAS processes multiple WHERE statements or combinations of WHERE statements and WHERE= dataset options in DATA steps and PROCEDURES. This paper explores examples of the combinations of WHERE statements and WHERE= dataset options in both DATA steps and PROCEDURES and the resulting logs and output.


RF-04 : Using Cardinality Ratio for Fast Data Review
Ron Fehd, Stakana Analytics
Monday, 9:00 AM - 9:15 AM, Location: Wrigley

This paper reviews the database concept Cardinality Ratio. The SAS® frequency procedure can produce an output data set with a list of the values of a variable. The number of observations of that data set is called N-Levels. The quotient of N-Levels divided by the number-ofobservations of the data is the variable's Cardinality Ratio (CR). Its range is in [0-1] and four categories of variables' CR are obvious:useless, discrete, continuous and unique. Cardinality Ratio provides an important value during data review. The four groups of values are used to create control data sets which can automate data review. Macros are provided that facilitate fast data review.


RF-05 : File Management and Backup Considerations When Using SAS® Enterprise Guide (EG) Software
Roger Muller, Data To Events, Inc
Monday, 8:20 AM - 8:55 AM, Location: Wrigley

SAS Enterprise Guide provides a state-of-the-art user interface to SAS software in the Windows environment. The management of the code files at first appears to be very similar to the management of the code files in the past PC versions of SAS. EG software uses an "Enterprise Guide Project (EGP)" file to store the project contents. Within the project, the usual SAS code files are developed. There are 2 ways these files can be stored: (a) embedded within the project (and thus not visible to file utilities such as Windows Explorer), or external to the project as ".SAS" files. This paper will discuss the pros and cons of each method and will discuss both the location of and the backup of the files. Failure to understand these file structures has led to catastrophic losses of program code when appropriate backup procedures are not in place when system or operator failures occur.


RF-06 : Captain's LOG: Taking Command of SAS® Logarithm Functions
Britney Gilbert, Juniper Tree Consulting, LLC
Josh Horstman, Nested Loop Consulting
Monday, 9:40 AM - 9:55 AM, Location: Wrigley

In BASE SAS®, there are multiple logarithmic functions available. The most used log functions are the natural and common log functions. However, the syntax of the natural log function can be easily confused with the mathematical notation for the common log and can lead to incorrect results. This intent of this paper is to explore the definitions of each of these log functions, to seek out full understanding, and to boldly go where no programmer has gone before.


RF-07 : Color Me Impressed: Creating Colorful PROC REPORT Output
Erica Goodrich, Priority Health
Daniel Sturgeon, Priority Health
Monday, 10:00 AM - 10:15 AM, Location: Wrigley

Often, highlighting data in reporting is crucial to bring attention to our consumers of finalized reports and documentation. One of the easiest and most visual ways to do this is through adding colors into your report. This presentation will discuss ways and uses of PROC REPORT to highlight cell colors for individual cells, rows, columns, and even diagonal reporting leveraging the CALL DEFINE statement and STYLE= options. This will also include an example using diagonal coloring on finished output for transition matrix reporting. Working understanding of PROC REPORT is suggested for this presentation.


RF-08 : Burst Reporting With the Help of PROC SQL
Daniel Sturgeon, Priority Health
Erica Goodrich, Priority Health
Monday, 10:20 AM - 10:35 AM, Location: Wrigley

Many SAS programmers need a solution for creating a large amount of reports for multiple customers in an automated fashion using one piece of code. While there are many different ways to accomplish this, I will be talking about one method using PROC SQL and the SAS macro language. This method creates a custom SAS macro that needs two data sets, one for metadata and one with the actual data. The macro loops through the procedures written within and plugs in the information that is needed, creating many customized reports in a short amount of time.


RF-09 : Can you decipher the code? If you change the code, maybe you can break it.
Jay Iyengar, Independent Consultant
Monday, 10:40 AM - 10:55 AM, Location: Wrigley

You would think that training as a code breaker, similar to those employed during the Second World War, wouldn't be necessary to perform routine SAS® programming duties of your job, such as debugging code. However, if the author of the code doesn't incorporate good elements of style in their program, the task of reviewing code becomes arduous and tedious for others. Style touches upon very specific aspects of writing code; indentation for code and comments, case for keywords, variables, and data set names, and spacing between PROC and DATA steps. Paying attention to these specific issues will enhance the reusability and lifespan of your code. By using style to make your code readable, you'll impress your superiors and grow as a programmer.


RF-10 : Learning SAS's Perl Regular Expression Matching the Easy Way: By Doing
Paul Genovesi, Henry Jackson Foundation for the Advancement of Military Medicine
Monday, 1:00 PM - 1:15 PM, Location: Wrigley

Perl Regular Expression (PRX) functions were added in SAS9. The key to learning how to use them is learning PRX metacharacter behavior within a PRX match. The more you practice PRX matching, the more proficient you become. Ideally, practice would involve a method for repeating the matching process so as to see cause and effect between the input, in the form of modifications to the perl regular expression and/or the source string, and the output in the form of the match results. But just as important as the practice itself would be a method for logging your practice trail in a file for future reference and expansion as well as avoidance of wheel-reinventing. But how do you do this without this file becoming bloated, cluttered, and unmanageable? The answer is to let it become bloated and cluttered. Enter the regex_learning_tool consisting of a SAS Enterprise Guide project and an Excel file containing your practice trail in the form of match records each with a different perl regular expression and/or source string. The regex_learning_tool allows both beginner and expert to efficiently practice PRX matching by selecting and processing only the match records that the user is interested in based on a search of either PRX metacharacters contained in the perl regular expression or character string(s) contained in a match description field. The current Excel file contains nearly 400 match records demonstrating the use of most all PRX metacharacters. This paper will explain how to use the regex_learning_tool so that you can practice PRX matching, retain what you learn, and not have to worry about how bloated, cluttered, and unmanageable your practice trail becomes. The regex_learning_tool project was written using SAS Enterprise Guide 5.1 and SAS 9.3 on a Windows 7 Enterprise operating system. A copy of the SAS Enterprise Guide project, Excel file, as well as other tool-related material can be found at sascommunity.org under Papers and Presentations.


RF-11 : A Simplified Approach to Add Shading to your Graph using GTL
Jennifer Yen, Abbott Laboratories
Monday, 1:20 PM - 1:35 PM, Location: Wrigley

You have mastered the skill of using SAS annotate facility along with ODS statistical graph procedures to customize your graphs. You know how to use annotate function to add color shading anywhere on your graph, and you have figured out how to customize your axis labels using title and footnote statements. If you have always hoped for a simplier way to do all of this, Graphic Template Language (GTL) is the answer! This paper will show you how to leverage the features of GTL to add color shading to your graph and customize your axis labels.


RF-12 : USING SAS HASH OBJECTS TO CUT DOWN PROCESSING TIME
Girish Narayandas
Monday, 1:40 PM - 1:55 PM, Location: Wrigley

Hash tables are in existence since SAS 9 version and are part of the data step programming. The hash object application and syntax style is rather different from the regular SAS data step programming and often programmers shy away from using this great feature. The hash object is a wonderful option for merging two datasets or multiple datasets in one step without requiring sorting data. It is especially useful for lookups when using unsorted data that can fit into memory. Hash object provides an efficient and convenient mechanism for quick data storage and retrieval. Returns are phenomenal in terms of achieving better I/O efficiencies and significant reducing in the processing times. This paper is an attempt to introduce hash objects with some quick and easy examples to help beginner and intermediate SAS users explore new choices for data merging.


RF-13 : The Use of Proc FCMP to Manage Your Functions
Jennifer Tsai, University of Southern California
Monday, 2:00 PM - 2:15 PM, Location: Wrigley

SAS programming includes many built-in functions that can be programmed within the Data Step to execute specific tasks. However, to run certain calculations and tasks that are not included in the SAS programming procedures, SAS users may choose to write their own user defined functions. PROC FCMP allows programmers to store their written functions in a work library that can then be used in subsequent code similar to how the built-in functions in SAS are used. This procedure provides a streamlined and efficient way of managing complex and tedious codes. The purpose of this paper is to demonstrate how we can utilize Proc FCMP to store and run a user defined function in the Data Step.


SAS 101

SA-01 : SAS® Debugging 101
Kirk Paul Lafler, Software Intelligence Corporation
Monday, 8:00 AM - 8:50 AM, Location: Water Tower

SAS® users are almost always surprised to discover their programs contain bugs. In fact, when asked users will emphatically stand by their programs and logic by saying they are bug free. But, the vast number of experiences along with the realities of writing code says otherwise. Bugs in software can appear anywhere; whether accidentally built into the software by developers, or introduced by programmers when writing code. No matter where the origins of bugs occur, the one thing that all SAS users know is that debugging SAS program errors and warnings can be a daunting, and humbling, task. This presentation explores the world of SAS bugs, providing essential information about the types of bugs, how bugs are created, the symptoms of bugs, and how to locate bugs. Attendees learn how to apply effective techniques to better understand, identify, and repair bugs and enable program code to work as intended.


SA-02 : SAS 101 For Newbies--Not to Little, Not Too Much--Just Right
Ira Shapiro, UnitedHealth Group
Monday, 10:30 AM - 11:20 AM, Location: Water Tower

Written for newbies in Base SAS. Covers: Very basic autoexec concepts Mathematical Operators Missing Data - Null numeric and null character fields Setting new variables If/Else logic Use of IN for qualification Excluding rows of data using delete Including rows of data -Unqualified if Simple concatenation of character fields Keep Drop Retain (The vampire that lives forever) Self-defined retained variables And logic Or logic Simple unqualified do loop Multiple outputs Set BY clause with First. and Last. Debugging use of _N_ and put Intro to formats SASLOG Error Intro to Proc SQL Intro to Merge


SA-03 : SAS® PASSTHRU to Microsoft SQL Server using ODBC
Nina Werner, Werner Systems
Monday, 10:00 AM - 10:25 AM, Location: Water Tower

I wish I could live in SAS World; I do much of my data analysis there. However, my current environment houses all production data in Microsoft SQL Server 2008 R2 data warehouses. Microsoft SQL Server is a relational database with its own dialect of SQL (T-SQL or Transact-SQL.) SAS/ACCESS® Interface to ODBC has several methods of retrieving SQL Server data for analyzing in SAS. Here's an introduction to both implicit and explicit PASSTHRU (or, Pass-Through) with some hints for deciding which to apply. Explicit PASSTHRU will execute T-SQL code syntax inside SQL Server, while implicit PASSTHRU will use your SAS DATA step or PROC SQL code. Several useful options will be explained. No prior experience with ODBC is necessary.


SA-04 : Quick Hits - My Favorite SAS® Tricks
Marje Fecht, Prowerk Consulting
Monday, 2:00 PM - 2:50 PM, Location: Water Tower

Are you time-poor and code-heavy? It's easy to get into a rut with your SAS code and it can be time-consuming to spend your time learning and implementing improved techniques. This presentation is designed to share quick improvements that take 5 minutes to learn and about the same time to implement. The quick hits are applicable across versions of SAS and require only BASE SAS knowledge. Included are: - simple macro tricks - little known functions that get rid of messy coding - dynamic conditional logic - data summarization tips to reduce data and processing - generation data sets to improve data access and rollback.


SA-05 : Navigating the Data Universe Aboard the Starship Enterprise Guide
Jay Iyengar, Independent Consultant
Tuesday, 11:00 AM - 11:25 AM, Location: Water Tower

SAS® Enterprise Guide® 5.1 is a standalone client application that gives the user access to the power of Base SAS, along with other SAS modules. With Enterprise Guide, one can easily perform the full range of data processing and analysis tasks, from reading, to manipulation, to reporting and graphics. Although EG is oriented towards the analyst with its point and click interface, it includes aspects useful to both the programmer as well as the analyst. This paper gives an overview of each task area, as well as focuses on the pros and cons of using EG.


SA-06 : Working with Character Data
Andrew Kuligowski, HSN
Swati Agarwal, Optum
Monday, 1:00 PM - 1:50 PM, Location: Water Tower

The DATA Step allows one to read, write, and manipulate many types of data. As data evolves to a more free-form state, SAS's ability to handle character data becomes increasingly important. This presentation will address character data from multiple vantage points. For example, what is the default length of a character string, and why does it appear to change under different circumstances? What sort of formatting is available to us for character data? How can we examine and manipulate character data? This paper will aim at a beginning to intermediate audience, and will stress an introduction to the numerous character functions available in SAS®, including the basic LENGTH, and SUBSTR, plus many others.


SA-07 : How Do I & ? Some Beginners FAQs
Peter Eberhardt, Fernwood Consulting Group Inc
Audrey Yeo
Monday, 3:00 PM - 3:50 PM, Location: Water Tower

No matter how long you use SAS® you find you still have questions on how to do things in SAS. What you forget is the number of questions you had to overcome when you first started with SAS. If you were lucky, you had a mentor at your place of work or school who helped you with those questions; if you were not so lucky you struggled with a myriad of sources trying to get help. In this paper, we will highlight some of the questions we often get from new SAS users, and offer some answers


SA-08 : PROC SQL for DATA Step Die-hards
Christianna Williams, Independent Consultant
Tuesday, 8:00 AM - 8:50 AM, Location: Water Tower

PROC SQL can be rather intimidating for those who have learned SAS data management techniques using exclusively the DATA Step. However, when it comes to data manipulation, SAS often provides more than one method to achieve the same result, and SQL provides another valuable tool to have in one's repertoire. Further, Structured Query Language is implemented in many widely used relational database systems with which SAS may interface, so it is a worthwhile skill to have from that perspective as well. This paper will present a series of increasingly complex examples and hands-on exercises. In each case I will demonstrate the DATA Step method with which users are probably already familiar, followed by SQL code that will accomplish the same data manipulation. The simplest examples include subsetting variables (columns, in SQL parlance) and observations (rows), while the most complex situations will include MERGEs (JOINS) of several types and the summarization of information over multiple observations for BY groups of interest. This approach can help to clarify for which situations the DATA STEP method or, conversely, PROC SQL is better suited. The reader should come away with a good grounding in Data Step to PROC SQL translation - it is my intent that even die-hard Data Step-ers may find themselves "thinking in SQL"!


SA-09 : Before You Get Started: A Macro Language Preview in Three Parts
Art Carpenter, CA Occidental Consultants
Tuesday, 9:00 AM - 9:50 AM, Location: Water Tower

Using the macro language adds a layer of complexity to SAS® programming that many programmers are reluctant to tackle. The macro language is not intuitive, and some of its syntax and logic runs counter to similar operations in the DATA step. This makes the transfer of DATA step and PROC step knowledge difficult when first learning the macro language. So why should one make the effort to learn a complex counterintuitive language? Before you start to learn the syntax; where to put the semicolon, and how to use the ampersand and percent sign; you need to have a basic understanding of why you want to learn the language in the first place. It will also help if you know a bit about how the language thinks. This overview provides the background that will enable you to understand the way that the macro language operates. This will allow you to avoid some of the common mistakes made by novice macro language programmers. First things first - before you get started with the learning process, you should understand these basic concepts.


SA-10 : FORMATs Top Ten
Christianna Williams, Independent Consultant
Tuesday, 10:00 AM - 10:50 AM, Location: Water Tower

SAS FORMATs can be used in so many different ways! Even the most basic FORMAT use of modifying the way a SAS data value is displayed (without changing the underlying data value) holds a variety of nifty tricks, such as nesting formats, formats that affect various style attributes (such as color, font, etc.), and conditional formatting. Add in PICTURE formats, multi-label FORMATs, using FORMATs for data cleaning, and FORMATs for joins and table look-ups, and we have quite a bag of tricks for the humble SAS FORMAT and the PROC FORMAT used to generate them. The purpose of this paper is to describe a few handfuls of very useful programming techniques that employ SAS FORMATs. While this paper will be appropriate for the newest SAS user, it will also focus on some of the lesser-known features of FORMATs and PROC FORMAT and so should be useful for even quite experienced users of SAS.


SA-11 : A Hands On Tutorial For Automating a Tedious Process
Eric Barnitt, Minnesota Department of Health
Monday, 4:00 PM - 4:25 PM, Location: Water Tower

Once, I inherited a program which required the programmer to manually update 87 separate %LET statements with 87 different file names. Even worse, this program was required to be updated and run twice a year. Rather than suffer through the tedious and laborious process of manually updating these statements, I decided to write a SAS program which does it automatically. This paper provides an example of how various SAS system commands and programming steps can be used together to fully automate the process of transforming multiple flat text files into one SAS data set. First, a description of the motivation and background for solving the problem is given. Next, I describe the mechanics of how SAS can read the names of files from a folder and translate that information into a SAS data set. I then show how to use the data set of file names in a macro to cycle through the list of files and read them into SAS. Finally, I provide the reader with a few lessons learned and words of caution in performing this type of process automatically. This paper presumes the reader is knowledgeable with basics of how to convert text files into data sets and with intermediate-level macro programming skills. Therefore, the ideal audience is a programmer at approximately an intermediate level of experience. Programmers who are closer to a beginner skill level can benefit from being exposed to an example of how SAS can be used to automate and update existing programs. All programming work is done on SAS run in a Windows environment using version 9.13.


SA-12 : Report Customization Using PROC REPORT Procedure
Shruthi Amruthnath, Epitec, Inc
Tuesday, 2:30 PM - 2:55 PM, Location: Water Tower

SAS® offers powerful report writing tools to generate customized reports. PROC REPORT procedure is one such report writing procedure in SAS® that conveys highly sophisticated information effectively. Since the introduction of PROC REPORT procedure in SAS® Version 6, this procedure is used to display a variety of information such as summarizing the data, statistical analysis and other high quality data listings. By integrating Output Delivery System (ODS) features along with this procedure, it simplifies the design, layout and appearance of the reports. This paper describes advanced features of PROC REPORT such as consolidating the data, specifying summary statistics, adding formatting features like specifying style elements using Output Delivery System, applying page breaks, handling missing values and using computed variables. Each of these topics is illustrated with an example. This paper also explains how to display the results of PROC REPORT procedure using ODS PDF and ODS TAGSETS EXCELXP options.


SA-13 : SAS ODS + PROC Report = Fantastic Output
Girish Narayandas
Tuesday, 2:00 PM - 2:25 PM, Location: Water Tower

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 to certain extent.


SA-14 : An Introduction to the Mighty DATASETS Procedure
Ben Cochran, The Bedford Group
Tuesday, 3:00 PM - 3:25 PM, Location: Water Tower

Proc DATASETS is a very powerful Base SAS Utility procedure. It can do so many things that some people have referred to it as the 'Swiss Army Knife' of SAS procedures. It would take hours to discuss all the things that this procedure can do, so this presentation will barely scratch the surface as the author presents Proc DATASETS to the audience.


SA-15 : SAS®: Data Manipulation Tools
Audrey Yeo, Athene USA
Tuesday, 11:30 AM - 11:55 AM, Location: Water Tower

Let's face it, the data provided to us is typically never easy to work with. Missing values, dates that aren't populated the way we need (e.g. Year, Month, Day vs. Month, Day, Year), leading zeros that need removed from a string, leading zeros that need added to a string, to name a few. We have to work through and massage the data before we can even start creating reports with it. In this paper, we present a collection of basic data manipulation tools that should help make the data cleaning easier.


SA-16 : Ignorance is Not Bliss: Pearls of Wisdom for the Novice SAS Programmer
Josh Horstman, Nested Loop Consulting
Britney Gilbert, Juniper Tree Consulting, LLC
Tuesday, 1:00 PM - 1:50 PM, Location: Water Tower

Many lessons in life can only be learned through experience. In other cases, however, you can learn from the mistakes of others. In this paper, two independent consultants with a combined three decades of SAS programming experience share a treasure trove of knowledge aimed at helping the novice SAS programmer avoid common pitfalls and establish a firm foundation on which to build. We'll touch on a variety of topics ranging from proper merging technique to good programming practices to understanding the program data vector and much more!


SA-17 : Top Ten SAS® Performance Tuning Techniques
Kirk Paul Lafler, Software Intelligence Corporation
Monday, 9:00 AM - 9:50 AM, Location: Water Tower

The Base-SAS® software provides users with many choices for accessing, manipulating, analyzing, and processing 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 techniques for SAS users to apply in their applications. Attendees learn DATA and PROC step language statements and options that can help conserve CPU, I/O, data storage, and memory resources while accomplishing tasks involving processing, sorting, grouping, joining (merging), and summarizing data.


SAS Presents

SS-01 : Helpful Hints for Transitioning to SAS 9.4
Edith Jeffreys, SAS
Monday, 1:00 PM - 1:25 PM, Location: Crystal C

A group tasked with testing SAS® software from the customer perspective has gathered a number of helpful hints for SAS® 9.4 that will smooth the transition to its new features and products. These hints will help with the "huh?" moments that crop up when you're getting oriented and will provide short, straightforward answers. And we can share insights about changes in your order contents. Gleaned from extensive multi-tier deployments, SAS® Customer Experience Testing shares insiders' practical tips to ensure you are ready to begin your transition to SAS® 9.4.


SS-02 : Putting on the Ritz: New Ways to Style Your ODS Graphics to the Max
Dan Heath, SAS
Monday, 8:00 AM - 8:50 AM, Location: Crystal C

Do you find it difficult to dress up your graphs for your reports or presentations? SAS® 9.4 introduced new capabilities in ODS Graphics that give you the ability to style your graphs without creating or modifying ODS styles. Some of the new capabilities include the following: A new option for controling how ODS styles are applied graph syntax for overriding ODS style attributes for grouped plots the ability to define font glyphs and images as plot markers enhanced attribute map support. In this presentation, we discuss these new features in detail, showing examples in the context of Graph Template Language and ODS Graphics procedures.


SS-03 : PDF vs HTML: Can't We All Just Get Along?
Scott Huntley, SAS
Monday, 9:00 AM - 9:50 AM, Location: Crystal C

Have you ever asked, Why doesn't my PDF output look just like my HTML output? This paper explains the power and differences of each destination. You'll learn how each destination works and understand why the output looks the way it does. Learn tips and tricks for how to modify your SAS® code to make each destination look more like the other. The tips span from beginner to advanced in all areas of reporting. Each destination is like a superhero, helping you transform your reports to meet all your needs. Learn how to use each ODS destination to the fullest extent of its powers.


SS-04 : Some Techniques for Integrating SAS® Output with Microsoft Excel Using Base SAS®
Vince Delgobbo, SAS
Monday, 10:00 AM - 11:30 AM, Location: Crystal C

This paper explains some techniques to integrate your SAS® output with Microsoft Excel. The techniques that are presented in this paper require Base SAS®9.1.3 SP4 and above, and can be used regardless of the platform on which SAS is installed. You can even use them on a mainframe! Creating and delivering your workbooks ondemand and in real time using SAS server technology is discussed. Although the title is similar to previous papers by this author, this paper contains new and revised material not previously presented.


SS-05 : Introduction to the MCMC Procedure in SAS/STAT Software
Maura Stokes, SAS
Tuesday, 9:00 AM - 10:50 AM, Location: Crystal C

The MCMC procedure is a general-purpose Markov chain Monte Carlo simulation tool designed to fit Bayesian models. It uses a variety of sampling algorithms to generate samples from the targeted posterior distributions. This workshop will review the methods available with PROC MCMC and demonstrate its use with a series of real-world applications. Examples will include fitting a variety of parametric models: generalized linear models, linear and nonlinear models, hierarchical models, zero-inflated Poisson models, and missing data problems. Additional Bayesian topics such as sensitivity analysis, inference of functions of parameters, and power priors will be discussed, and applications will be demonstrated with the MCMC procedure. This workshop is intended for statisticians who are interested in Bayesian computation. Attendees should have a basic understanding of Bayesian methods and experience using the SAS language. This tutorial is based on SAS/STAT 12.1.


SS-06 : Data Manipulation and Reports using SAS Enterprise Guide (aka: SAS Enterprise Guide for Everyone)
Michelle Buchecker, SAS
Monday, 1:30 PM - 4:20 PM, Location: Crystal C

SAS Enterprise Guide provides a point-and-click interface that helps programmers and non-programmers to harness the power of SAS. This workshop teaches you how to access data, combine tables, compute variables, explore data with simple statistics, create graph all using SAS Enterprise Guide. If you prefer to write your own code, you will also learn how to use the EG autocomplete feature, analyzing program flow, and cleaning up your code.


SS-07 : Up Your Game with Graph Template Language Layouts
Sanjay Matange, SAS
Tuesday, 11:00 AM - 11:50 AM, Location: Crystal C

You have built the simple bar chart and mastered the art of layering multiple plot statements to create complex graphs like the Survival Plot using the SGPLOT procedure. You know all about how to use plot statements creatively to get what you need and how to customize the axes to achieve the look and feel you want. Now it's time to up your game and step into the realm of the Graphics Wizard. Behold the magical powers of Graph Template Language Layouts! Here you will learn the esoteric art of creating complex multi-cell graphs using LAYOUT LATTICE. This is the incantation that gives you the power to build complex, multi-cell graphs like the Forest plot, Stock plots with multiple indicators like MACD and Stochastics, Adverse Events by Relative Risk graphs, and more. If you ever wondered how the Diagnostics panel in the REG procedure was built, this paper is for you. Be warned, this is not the realm for the faint of heart!


SS-08 : Sailing Over the ACROSS Hurdle in PROC REPORT
Cynthia Zender, SAS
Tuesday, 8:00 AM - 8:50 AM, Location: Crystal C

To get the full benefit from PROC REPORT, the savvy programmer needs to master ACROSS usage and the COMPUTE block. Timing issues with PROC REPORT and ABSOLUTE column references can unlock the power of PROC REPORT. This presentation shows how to make the most of ACROSS usage with PROC REPORT. Use PROC REPORT instead of multiple TRANSPOSE steps. Find out how to use character variables with ACROSS. Learn how to impact the column headings for ACROSS usage items. Learn how to use aliases. Find out how to perform rowwise trafficlighting and trafficlighting based on multiple conditions.


SS-09 : Text Analytics in High Performance SAS® and SAS® Enterprise Miner®
Edward Jones, Texas A&M University
Tuesday, 1:00 PM - 2:50 PM, Location: Crystal C

The latest releases of SAS Enterprise Miner, version 13.1 and SAS version 9.4 contain high performance modules, including a new module for text mining. This paper compares this new module to the SAS Text Miner modules for text mining. The advantages and disadvantages of HP Text Miner are discussed. This is illustrated using customer survey data.


istanbul evden eve nakliyat istanbul eşya depolama uluslararası lojistik uluslararası ev taşıma istanbul evden eve nakliye istanbul ev taşıma istanbul nakliyat şirketi evden eve nakliyat istanbul ev eşyası depolama istanbul depo kiralama gebze nakliyat