Abstract Section

Administration & Support

Tuesday - Traders
8:00
How to Ensure That Your First SAS® Conference Is Not Your Last!
Rick Mitchell, Westat
Paper AS06
You just got approved by your company to attend a SAS conference and now it's showtime! What you do before the conference, during the conference, and after the conference is going to have a big impact on whether or not you ever get to go to another conference again. Seriously, companies are making an expensive investment when sending an employee to a conference and they are looking to get a significant return on their investment. This paper will discuss how you can get the most out of your SAS conference experience so that it is a win-win situation for both you and your company. Concepts on developing and following through on a clear plan with specific goals will be presented in this paper to help you ensure that your first SAS conference does not end up being your last!

Rick Mitchell is a SAS Programming Manager for Westat in Rockville, MD. He has programmed in SAS for 20 years and has worked heavily with SAS/STAT and SAS/GRAPH on health-related projects regarding HIV infection. Rick is currently a Section Chair for SAS Global Forum and was recently the Conference Co-Chair for NESUG. In his spare time, Rick likes running marathons and ultramarathons.


8:30
Introducing the SAS® Code Analyzer
Rick Langston, SAS
Eric Thies, SAS
Paper AS09
This paper describes my experiences with testing MODULE, which invokes executable images on SAS® Code Analyzer features that are being introduced in SAS® 9.2. The SAS Code Analyzer is a runtime facility for gathering information about SAS data set and external files usage, in order to assist in distributing SAS code into a grid, or to allow for further analysis of particular SAS dependencies.

Rick Langston is the manager of the Core Systems Department within the Base SAS Research Division at SAS Institute. Rick's responsibilities include PROC FORMAT, format processing, date/time processing, licensing software, SAS/TOOLKIT Software, and managing the staff for supporting various core-level subsystems in the Base product. Rick has been a SAS user for 30 years, almost 27 of which have been with SAS Institute.

Eric Thies is currently a member of the Core Supervisor Department, working on the Memory, Tasking, Registry and other subsystems. He's previously worked in testing and web tools development. He's been with SAS for over 15 years.


9:30
Effective Problem Solving in Teams
Fabian Robinson, PJM Interconnection LLC
Paper AS01
Have you ever been a part of a very talented team that solved a critical issue well for one circumstance and completely floundered for a somewhat similar problem in another case? In theory, this team has the technical and project management expertise to tackle many problems but fails when varied circumstances arise. If you can relate to this, you’re not alone, and it’s not necessarily the team and/or management’s fault. It’s quite simple if you view the problem as a moving target; we won’t need Enterprise Miner, SAS statistical coding or a lot analytics to figure this out. The goal of this paper is to provide some good tips on how to improve the problem solving ability of a team. After all, the whole is only as effective as the sum of its parts.

Fabian has been bitten hard by the NESUG bug: this is his third NESUG participation and presentation. He has been using SAS for over 8 years in many capacities: Data Warehouse and Application Administrator, Developer and Analyst across multi-country and regional teams. He is also the creator and host of his company's in-house SAS User Group. Currently his focus is in the area of SAS Administration: performance tuning and metrics, application interoperability, user satisfaction, etc.


10:00
Motivating Clinical SAS® Programmers
Daniel J. Boisvert, Genzyme Corporation
Andy Illidge, Genzyme Corporation
Paper AS02
Almost every job advertisement requires programmers to be “highly motivated,” and for managers to “be able to motivate others.” But what drives clinical SAS programmers? Clinical SAS programmers fill a unique void in the industry, and cannot be classified as either software developers or as statisticians. This paper will delve into the clinical SAS programmer in order to figure out his/her motivation, and stand as a guide for managers to inspire their programmers to new heights of achievement and satisfaction. This paper will discuss general motivational factors, and look at specific motivations of various classifications of clinical SAS programmers.

Daniel Boisvert has been programming in SAS for five years, focusing on Clinical Trials. Over the last couple years he has given presentations at BASUG, PharmaSUG, NESUG and DIA.

Andy has been programming in SAS for 18 years, working in Information Technology, banking and the pharmaceutical/biotech industry. His experience includes support and development of SAS systems used for mainframe performance and capacity planning, the development of a customer relationship management system, and, during the last two years, the management of SAS programming groups within Clinical Data Management and Statistical Programming.


10:30
From Play-Doh to Real Dough: Helping Students Develop Strong SAS® Skills to Jump Start Their Careers in Analytics
Elizabeth Ceranowski, SAS
Paper AS10
Analytics are everywhere. Securing the future flow of students with analytical skills into the work place is a challenge. Professors strive to expand the learning experience for students to help them land successful jobs in a growing analytical marketplace. SAS offers a variety of opportunities to support professors and students to gain SAS skills. SAS' commitment to academics is supported through programs for professors and students which grant software for research, provide discounts, offer curriculum support, create certificate programs, and provide networking opportunities. Come and learn how SAS works with high school teachers and university professors to develop analytical skills in their students. In addition, learn how the SAS User Groups support students in learning and networking.

Elizabeth Ceranowski currently manages Student Programs for SAS, encouraging students at all levels to use SAS in their research and coursework. Elizabeth joined SAS in 2003 as a Technical Training Specialist, teaching SAS Programming and Business Intelligence courses. Prior to joining SAS, Elizabeth worked at Nortel Networks for over five years as a software designer and then at Quintiles Transnational as a SAS programmer. Elizabeth is certified as a Base and Advanced SAS Certified Professional.


1:30
Implementing SAS® Enterprise BI Server at HUD
Seth Marcus, US Department of Housing and Urban Development
Paper AS03
The mission of HUD’s Office of Policy Development and Research (PDR) is to provide impartial analysis, advice, and policy recommendations to the HUD Secretary, other HUD executives, Congress, the President, and other Federal Agencies on HUD’s multi-billion-dollar housing subsidy programs. Considering the size and scope of these programs, PDR staff must analyze large, complicated, and disparate datasets and provide the information requested in a user-friendly format.

Our challenge was to rapidly create an unprecedented enterprise-wide SAS Business Intelligence platform. The platform had to be accessible to, and shared by, multiple offices within HUD with different missions, planned usage, and data environments. Additional requirements included security for personally identifiable information (PII); ease of administration; seamless integration with the Department’s LAN authentication; seamless integration with Oracle and Sybase databases; user ability to move data between the server and their desktop PC; and, of course, the cost had to fit within the existing IT budget.

This paper will outline the steps HUD took to implement a powerful, secure, SAS Enterprise BI server that is meeting the needs of over 100 users, obstacles we faced, and potential future enhancements.

Seth Marcus has a BA in Geography from Binghamton University and an MA in Geography from the University of South Carolina. He has worked as a Geographic Information Systems (GIS) consultant for city, county, and state governments, as well as private industry. Since 2001, he has worked at HUD managing various projects including surveys, program evaluations, data dissemination, web development, and recently, IT contracts.


2:00
A Short SASsy Overview of SAS® Tech Support and SAS-L
JoAnn R. Matthews, Highmark Blue Cross/Blue Shield
Paper AS05
Sooner or later, SAS users will face an issue that seems impossible to solve. This SASsy paper will demonstrate the use of two resources for SAS users: SAS Institute’s Tech Support and SAS-L.

SAS Institute is committed to user support. SAS’s Technical Support is one resource that can be used. Customer needs for immediate technical support are met by phone, fax or e-mail. In addition, SAS Institute offers free subscriptions to e-newsletters, RSS feeds and Blogs.

SAS-L is another powerful resource for SAS users. Founded in 1986, SAS-L is one of the oldest and most successful programming-oriented Listserv lists. Populated by SAS users, and independent of SAS Institute, SAS-L affords users the opportunity to communicate with some of the best and brightest SAS programmers around the globe, with virtually instantaneous peer-to-peer exchange.

JoAnn Matthews, a Decision Support Consultant in Healthcare Informatics, Highmark Blue Shield, has used SAS for 15 years. JoAnn won the Best Contributed Paper in the Internet Intranet and Web section at SUGI 22 in San Diego in 1997. She has been an invited speaker at both NESUG and SUGI. She has also held leadership roles with the Pittsburgh SAS User Group, and Highmark’s internal SUG, and always volunteers at NESUG and SUGI.


2:30
The WWW of the WIKI sasCommunity.org
Ray Cloutier, Health Dialog
Paper AS07
What is WIKI? Why use WIKI? Who should use WIKI? This paper will explain the 3 Ws of WIKI and try to entice users to go out and create their own WIKI page. In addition to learning how to traverse WIKI pages readers will also learn how to create their very own WIKI pages and join the growing online SAS community of the future at sasCommunity.org.

Ray Cloutier currently works as a Senior Data Analyst at Health Dialog. He enjoys blending technologies to create user-friendly environments. Ask him how he submits SAS jobs from a Windows text editor to a Linux SAS server (without using PC SAS or SAS/CONNECT).


3:00
Orchestrating SAS® Processes Using Business Process Management (BPM) Software
Kimball Lewis, Health Dialog
Paper AS04
Business Process Management (BPM) is a technology and methodology for controlling the activities – both manual and computer – needed to make a business function. BPM software is relatively new and highly sophisticated. This paper describes how BPM is used to fully orchestrate a complex series of SAS and human processes that together define the workflow for a key business process at a leading healthcare company.

BPM is often associated with the orchestration of activities within a Service Oriented Architecture (SOA). In the example that will be described in this paper, the SAS processes run as SOA services. A brief introduction to SOA concepts will be provided.

This paper should be of interest to those who want to learn more about the following:

How to automate and orchestrate a series of SAS and other processes that together make up a business workflow.

Business Process Management (BPM)

Business Activity Monitoring (BAM): A software solution for building interactive, real-time dashboards and proactive alerts for monitoring business processes and services.

Service Oriented Architecture (SOA): An approach to building applications that implements business processes or services by using a set of loosely coupled components orchestrated to deliver a particular service.

Event-Driven Architecture: A software architecture pattern promoting the production, detection, consumption of, and reaction to events.

Other Keywords: XML/WSDL/SOAP/UDDI/ESB/BPEL

Kimball Lewis has 15 years of experience using, managing, and architecting analytic data systems. Most of that time has been spent in the health care industry. He has used SAS extensively during those 15 years. He currently works for Health Dialog in Portland, Maine.


4:00
Making the Most of Your SAS® Skills in the Marketplace
Elizabeth Axelrod, Abt Associates
Kirk P. Lafler, Software Intelligence Corporation
Gary McQuown, Data and Analytic Solutions
Gary Wood, Smith Hanley Consulting Group LLC
Paper AS11
This panel discussion will address many SAS/IT employment issues. What are the "hot" SAS skills? What are the pros and cons of consultant vs employee status? What are the going rates for consultants? What are the business, legal and accounting concerns of consultants? What role do recruiters play? What about large consulting firms? The format will include short presentations and lots of opportunity for audience questions.

Elizabeth Axelrod is a Lead Programmer Analyst at Abt Associates Inc. in the Health Policy Research Division. She has been using SAS for over 25 years, and has been a SAS fan(atic) for almost that long! She is currently the President of BASUG - the Boston Area SAS Users Group.

Kirk Paul Lafler is consultant and founder of Software Intelligence Corporation and has been programming in SAS since 1979. Kirk provides IT consulting services and training to SAS users around the world. He has written four books including PROC SQL: Beyond the Basics Using SAS by SAS Institute, and more than two hundred papers and articles. Kirk has been an invited speaker and trainer at more than two hundred SAS User Group Conferences and meetings.

Gary McQuown is co-owner of Data and Analytic Solutions, Inc. of Northern Virginia: http://www.dasconsultants.com mcquown@dasconsultants.com. He provides business solutions and analysis for financial and health care firms and governmental agencies.

Gary Wood joined Smith Hanley in 2002 and has 15 years of management experience in many facets of business including operations, marketing and sales. Gary's experience in the market research industry brings a wealth of experience to the data management and analytics recruiting group. In 2005 he was promoted to General Manager and currently serves as President for the Houston Area Association of Personnel Consultants (HAAPC) and is a Director on the Texas State Board.


And Now Presenting

Monday - Rivers
1:30
The Great Escape(char) Redux
Louise S. Hadden, Abt Associates Inc.
Paper NP10
SAS® provides programmers with many ways to enhance ODS output in addition to the use of both SAS-supplied and user-written ODS styles. In-line formatting of titles, footnotes, text fields and table cells and formatting of data using user-written formats and within the data step can be accomplished by using ODS ESCAPECHAR. A quick overview of syntax for some of the many possibilities for enhancing ODS output with ODS ESCAPECHAR currently available for SAS 9.2 will be presented, including underlines, pre and post images, special functions, line feeds and super and subscripts. Features available in SAS 8.2 and 9.1.3 will be noted.

Louise Hadden has been using SAS since the earth was a primordial soup. She still has her original, single volume SAS manual, albeit worn to pieces. She is particularly interested in producing camera-ready and web-ready output directly from SAS, using ODS, BASE SAS, SAS/GRAPH and SAS/STAT.


2:00
Turn the Tables on Boring Reports with SAS 9.2 and RTF Tagset Options
Louise S. Hadden, Abt Associates Inc.
Paper NP11
SAS 9.2 offers new ways to create presentation quality RTF documents directly from the Output Delivery System. This paper highlights a new technique to rotate column headers in tabular RTF output without post-processing in Microsoft Word or Open Office. Prior to SAS 9.2, this could be only be accomplished using a post-processing macro within SAS. Now, rotating column headers can easily be accomplished simply by specifying an RTF tagset option. User-written special style functions will also be explored. Examples producing the same table in 9.1.3 (using the post-processing macro and PROC TABULATE) and in 9.2 (PROC TABULATE, PROC REPORT and PROC PRINT) will be demonstrated. Full code samples will be available in an appendix.

Louise Hadden has been using SAS since the earth was a primordial soup. She still has her original, single volume SAS manual, albeit worn to pieces. She is particularly interested in producing camera-ready and web-ready output directly from SAS, using ODS, BASE SAS, SAS/GRAPH and SAS/STAT.


2:30
Using Formats and Other Techniques to Complete PROC REPORT Tables
David D. Chapman, US CENSUS BUREAU
Paper NP01
Calculating the totals correctly is not the end of a PROC REPORT project, it is the beginning of the end. A key part of completing a table is to decide how to present the numbers. This paper discusses two parts of a table: cells and footnotes. Displaying cells with only numbers, with only symbols, and with both numbers and symbols is discussed separately. The use of standard SAS formats and user defined formats to display standard numbers and numbers truncated, rounded, and expressed to two significant digits is demonstrated. Compute statements are used to illustrate how to display table results to two significant digits and to add warning flags. When numbers are not enough, cell notes are needed. Cell notes are numbers or symbols that replace or supplement numbers in a cell. Examples of cell notes are symbols to represent missing data (NA), and values suppressed to prevent disclosure (D). Examples are given of the use of the COMPUTE statement to create conditional cell notes to either replace a number with a cell note or to add an accompanying symbol to the number. A brief discussion of footnotes along and an example of PROC REPORT code showing how to display footnotes is given.

David Chapman is a statistician and long time SAS user at the US Census Bureau. He has presented papers at both NESUG and SUGI. One of his interests is preparing tables use PROC REPORT.


3:30
SAS® Graphics on ODS 9.2 Performance-Enhancing Steroids
Daniel O'Connor, SAS
Paper NP19
In the midst the of performance-enhancing drug scandals in professional sports, you would think that SAS® graphics on ODS 9.2 performance-enhancing steroids would be a bad thing. That is until you experienced the ability to customize professional-looking graphics in seconds with a variety of appearances. ODS graphical style enhancements provide advanced capabilities to unleash your creativity without spending endless hours manipulating options. Choose from a list of predefined styles, or create your own to match your corporate theme. ODS styles are both customizable and extendable, and they provide a powerful way to bring your content to life. Explore these new features in HTML, PDF, RTF, and PostScript documents. Astonish your customers and amaze yourself with SAS 9.2 ODS enhancements for SAS graphics.

Dan O'Connor joined SAS in 1989 after receiving a Bachelor’s Degree in Computer Science from North Carolina State University. His current responsibilities include ODS Infrastructure, ODS Statistical Graphics, ODS Layout, ODS SAS/GRAPH integration and the ODS Datastep Report Writing Interface as well as a handful of future R&D projects.

Tuesday - Rivers
8:30
Managing your results with the DOCUMENT procedure
Michael F. Tuchman, Surveillance Data
Paper NP08
The basic facility of the DOCUMENT procedure is to enable replaying of results at a later date without re-running analysis. You will learn how to use the DOCUMENT procedure to save ODS output for later replaying, both in whole and in part. But replaying is not the only thing the DOCUMENT procedure can do. After reading this paper, you should be able to produce documents that list nicely so that other team members can quickly what each section of your the ODS output is supposed to communicate. As a finishing touch, document NOTES will be covered so that the various elements of SAS output can be appropriately annotated for easier reading.

The only knowledge required from this paper is how to produce output from SAS PROCEDURES to an ODS destination.

Michael has been using SAS since 1999. He has used SAS as an actuary in the Life and Health arena. His SAS experience spans multiple platforms, including MVS/TSO, Unix, and more recently, Enterprise Guide. Michael has been working since 2004 in predictive modeling and health informatics. Outside of work, Michael's hobbies are Ballroom Dancing, correspondence Chess, and GO.


9:30
Make Your PROC TABULATE Tables Pretty Using ODS Style Options
Wendi L. Wright, CTB McGraw-Hill
Paper NP09
This intermediate level presentation shows several examples of how to use the ODS Style= option in PROC TABULATE to customize tables and improve their attractiveness. This option is very versatile and, depending on where the option is used, can justify cells or row and column headers, change colors in both the foreground and background of the table, modify borders, add a flyover text box in ODS HTML, or add GIF figures to the row or column headers.

Wendi Wright is a Sr. Stat Analyst at CTB McGraw-Hill. She has been using SAS for 20 years and writes custom analysis and reporting programs. She loves to read and quilt in her spare time and has been a Big Sister to a little girl (not so little anymore) for the last 13 years.


10:00
Using PROC DOCUMENT To Modify PDF Bookmarks Generated by PROC FREQ
Suzanne M. Dorinski, US Census Bureau
Paper NP07
In SAS® 9.1.3, PROC FREQ generates several levels of PDF bookmarks automatically. If you have requested multiple outputs from PROC FREQ, the automatically generated bookmarks can be useful to distinguish among the outputs. However, if you are only requesting simple frequency counts for many variables, the automatically generated bookmarks can be quite repetitive. With PROC DOCUMENT, you can get rid of the bookmarks you don’t want, instead of updating the PDF bookmarks manually.

Suzanne is a mathematical statistician in the Economic Directorate at the U.S. Census Bureau. She has been using SAS for 18 years and her current interests include figuring out how to use enough ODS syntax to avoid manual editing in Word or Excel.


10:30
Make the Map You Want with PROC GMAP and the Annotate Facility
Michael Eberhart, Philadelphia Department of Public Health
Paper NP05
This paper describes how to use SAS/GIS® and PROC GMAP to create presentation-quality maps of geographic data. Topics discussed include using U.S. Census Bureau TIGER/Line® files for geocoding address data, using PROC GMAP and the annotate facility to display map datasets in a variety of formats, importing map files from other software products, and assigning geocoded cases to polygons based on spatial location. Additional topics include coordinate systems and map projections, PROC GMAP options that control appearance of maps, annotating polygon borders, creating and combining annotate datasets, using annotate macros (%maplabel), summarizing data and handling missing values, creating map output files using device options, loop processing with NULL datasets, replaying graphics with high resolution, and customizing map legends with legend options and annotating.

Michael Eberhart has been working as an epidemiologist at PDPH for the past 10 years. He received his MPH from Temple University in 2003. Michael has presented 2 short papers at SUGI30 and conducted Hand-On-Workshops at NESUG 2006 and NESUG 2007. He has been using SAS for 7 years to analyze public health data for various program areas including STD, Acute CD, Immunization and, most recently, HIV/AIDS.


1:30
Automated GPLOTs from sorted dataset using CALL statements
Kenneth Gold, NYS Department of Tax and Finance
Paper NP12
The source data has a number of individuals with a common set of variables to be plotted against time, but each individual may have a different number of quarters. Combine CALL SYMPUT statements and a CALL EXECUTE within a data step, to construct the plots and output them to a SAS catalog. The CALL SYMPUTs assign global variables that: (A) delineate the first and last records corresponding to an individual and (B) capture the values of categorical variables unique to the individual. The CALL EXECUTE runs a macro that creates graphs using the global variables as arguments. This allows the user to select a large number of plots automatically for visual examination without manually manipulating a large dataset.

Assistant Director, NYS Tax Department, Data Resources group. We are part of a strategic initiative to increase tax compliance using data analyses and software applications. Spent 20 years in various management roles in telecommunications. Adjunct Economics professor at SUNY Albany teaching Public Finance and Microeconomics of Telecommunications


2:00
SAS/Graph Tidbits for Customization
Claudine Lougee, Dualenic
Paper NP17
Are you reluctant to use SAS/Graph? Do you fear the unknown? You do not have to be a SAS expert to use SAS/Graph. A few simple tips will make life much easier to explore the unknown Graph environment. SAS/Graph options are demonstrated in a way to show even the beginner programmer how to enhance the graph output. Some tips may even impress the SAS/Graph “experts”. (There may even be a “trick” or two!)

Claudine has worked in the mainframe environment since before Y2K. She learned to use SAS as a method to avoid COBOL for reporting, sampling, and summary functions. Currently self-employed, she likes to find ways to improve programs and processes so others will benefit. She has presented at several SESUG and local conferences and served as president of VASUG (Virginia SAS user group) for over two years.


2:30
Box Plots in SAS: UNIVARIATE, BOXPLOT, or GPLOT?
Robert Adams, Merck and Co., Inc
Paper NP16
Box Plots in SAS: UNIVARIATE, BOXPLOT, or GPLOT?
Robert Adams, Merck & Co., Inc.

ABSTRACT

The continuous nature of some clinical trial data makes it well-suited for display using box plots. Box plots convey, at a glance, a wealth of information about the data being graphed. This includes the data’s central value, distribution, and variability, as well as how categorical variables compare side-by-side. This paper will examine three procedures for creating box plots in SAS: PROC UNIVARIATE, PROC BOXPLOT, and PROC GPLOT. Features and limitations, as well as similarities and differences, will be discussed for each of the procedures, with examples used extensively. As a result, participants will be better prepared to choose the SAS procedure which can most effectively present the clinical trial results.

Robert Adams is a Sr. Scientific Programmer in Biostatistics and Research Decision Sciences at Merck and Company, where he has been using SAS for 2 years. His primary contributions have been in the area of clinical trial graphics, where he develops plots that facilitate the monitoring of patients' response to Merck drugs. He has a Master's degree in Computer Science and an MBA in Finance and is a SAS Certified Base Programmer for SAS 9


3:00
Using SAS® Software to Generate Textbook Style Histograms
Perry Watts, Independent Consultant
Paper NP03
Percent tallies associated with midpoint labeled intervals define the basic histogram generated in PROC UNIVARIATE. However, most statistics textbooks display histograms with frequencies and endpoints rather than percents and midpoints. Frequencies are more descriptive, and endpoints are better suited for continuous data. With recent updates to SAS software it is now easy to generate a textbook histogram by using PROC UNIVARIATE. Enhancements to the textbook histogram such as a normal curve overlay and bar height labels are also easily managed in PROC UNIVARIATE.

Unfortunately, the UNIVARIATE endpoints= option, new for Version 9.13 SAS, is restricted in form to <m TO n BY increment>. This means that plotting an n-bar histogram or a histogram with unequal intervals is only possible when the graph is developed from scratch in PROC GPLOT. A macro that works with any release of SAS software is provided that automates the production of GPLOT generated histograms.

With complete instructions provided for both UNIVARIATE and GPLOT derived histograms, you should come away from this presentation knowing how to create a textbook histogram in SAS.

Perry Watts uses SAS software for information visualization and applications development. Her SAS Press book "Multiple Plot Displays: Simplified with Macros" was published in 2002. Recent areas of graphics inquiry include bar chart and histogram construction as well as axis generation in the data step. Perry has a Bachelor's Degree in Computer Science and a Master's Degree in Information Systems. She has been presenting papers at SAS User Group Meetings since 1990.


3:30
The Rest of the Way There… Creating Multiple Graphs on a Single Page
Mary Buckwalter, Shire
Terek J. Peterson, Shire
Paper NP18
Have you ever felt like you have been left in the woods when trying to find solutions to your SAS coding problems? We all know using graphs to convey information is powerful, but producing the right one can be a bear. This presentation will lead you through the trees to uncover dynamic solutions to creating multiple graphs on a page with a single title and common legend. This presentation will also uncover interesting code gnomes that present graphs in high quality. This presentation is for intermediate SAS users, even if the authors have the knowledge of a troll when it comes to SAS/Graph.

Mary Buckwalter is a Senior Pharmacokinetic Scientist at Shire. She has over 10 years of programming experience, including 7 years in the Pharmaceutical Industry using the SAS software. Mary received her MS from Drexel University in 2004.

Terek Peterson is the Manager of Statistical Programming at Shire. He has over 14 years of programming and systems development experience, including over 10 years of those in the Pharmaceutical Industry using SAS software. Terek received his MBA from Rutger's in 1995 and is a graduate of the Philadelphia University's clinical SAS programming certificate program. Terek has presented several papers over the past 6 years at SAS Global Forum, PharmaSUG, NESUG, and PhilaSUG.


4:00
Look Ma, No Hands! Or How We Move SASÒ Into Microsoft ExcelÒ With No Manual Intervention
John J. Cohen, AstraZeneca LP
Paper NP02
No matter how prolific our SAS processes or robust, detailed, and intricate our results, the seemingly-secondary task of providing output to our end users in some format other than standard SAS data sets and reports may undercut the perceived value of our otherwise brilliant work. So, porting results successfully to, say, the favorite end-user tool of choice in my environment – Excel – becomes critical to successful completion of a project.

In the circumstance of a one-off analysis, any manual cutting-and-pasting, formatting, and the like, is likely a critical part of one’s analysis anyway. However, if a project reaches a point of needing to be “productionized,” generalized across multiple sales geographies or therapeutic areas, updated on a monthly basis, or some other requirement, the likelihood of moving SAS results into Excel using a substantially manual process with any degree of timeliness and accuracy is probably unacceptably small. Further, part of the appeal of Excel as the deliverable is the ability to build additional functionality and intelligence into one’s spreadsheet.

We will discuss here techniques for populating Excel reports with the ultimate objective of never having to open up a workbook. Whether using SAS DDE (Dynamic Data Exchange), SAS ODS-to-XML, or Proc Export into worksheet templates which are pre-formatted/containing Excel macros/VBA, the goal of creating beautiful output “hands free” will be realized. These will be compared, with one explored in considerable detail.

John has been working in the Pharmaceutical Industry for over fifteen years, presently supporting Commercial Analytics at AstraZeneca LP. He thinks he remembers writing his first SAS program in 1976, but he still doesn't understand what it all means. He lives in Newark, DE with his wife and two bassett hounds. In his spare time he likes to eat and sleep.

Wednesday - Rivers
8:30
Professional Graphics with SAS/GRAPH(r)
Samuel T. Croker, Independent Consultant
Paper NP06
Effective data visualization is perhaps the best tool for an analyst to get an idea across to a non-analytical audience. Unfortunately, too many SAS® users have subscribed to the notion that SAS/GRAPH® can only produce substandard graphics. Learning a few simple principles of SAS/GRAPH will have you generating production-quality data visualizations from simple SAS programs. First, you will see how to use SAS/GRAPH statements to draw your graphs correctly. Next, you will see how to manipulate fonts and other formatting options with the GOPTIONS statement. Then you will see how to use SAS graphic device drivers to deliver the graphical image in the best format for your application. Lastly, you will see how to export the graphics to files that you can use with other programs. All elements of this presentation are valid for SAS versions 8 and 9.

Sam Croker has been a SAS(r) user for over 10 years. He has a Master of Science degree in Statistics from The University of South Carolina and is a SAS Certified Advanced Programmer. He has presented papers at SAS Global Forum, NESUG and SESUG conferences. His work and research is focused on time series analysis and forecasting but also includes application development.


9:30
A Tiptoe Through the Tagset Field
Mike Molter, INC Research
Paper NP04
The flexibility that the markup destination has added to ODS is comparable to the benefits ODS originally brought to SAS® output, but it comes at a price known as the tagset. With ODS, we could display results in web pages without HTML knowledge; in Word without RTF knowledge. Developers soon realized though that having ODS do all the work wasn’t always ideal; that on occasion, users could benefit from having some control over how markup was generated. Just as templates instruct ODS on display customization, tagsets instruct ODS on markup customization. The advantages are clear – even more flexibility in the generation of output. The price is similar to that paid for display flexibility – more TEMPLATE procedure syntax, and an understanding of how ODS constructs files from these instructions.

Great accomplishments often come from modest beginnings. This paper is your modest beginning. From the edge of the field we’ll get “the lay of the land” with discussions on background, purpose, and use with the Markup destination. With one foot in the field we’ll look at examples of markup that require slight tweaking and available documentation to guide us. Further into the field, we’ll produce simple informational tagsets, and inch out further with tagsets that inherit and manipulate those that SAS provides. By the end of the paper, the reader will see in the distance many undiscovered areas, but hopefully the curiosity generated by the path taken thus far will lead to further exploration and bridges to greater accomplishments.

Mike Molter is a SAS programmer for iNC Research and makes his home in Cary NC. With a Bachelors and Masters degree in mathematics from Western Michigan University, he began learning SAS in 1999 in the healthcare industry before moving to clinical trials in 2003. Mike’s programming interests include ODS, PROC REPORT, and tool building through the macro facility and PROC TEMPLATE. Personal interests include science and history, cycling, triathlon, and the Detroit Red Wings.


Applications Big & Small

Monday - Traders
8:00
The SAS Terminator: An Ultimate Killer of Unix Processes
Houliang Li, FINRA (fka NASD)
Paper AP01
As a Unix SAS user, you may not realize that when your SAS program terminates, whether voluntarily or by external force, it may leave behind one or more Unix processes spawned by the now dead top level process. In fact, a SAS program can create multiple generations of processes. Merely killing the patriarch does not stop its children or grandchildren or great-grandchildren from running wild. This paper shows you how to safely and efficiently eliminate the entire lineage of Unix processes started by your SAS program. In effect, you become The SAS Terminator. Now which killing mode gives you more satisfaction: methodically iterative or decisively recursive?

Houliang Li has been a SAS programmer for seven years and holds the SAS V8 Core Concepts certificate. He considers himself an experienced user of SAS Base, Macro, and Proc SQL, with strong background in Oracle and Unix. Before switching to SAS, he was a proficient C/C++ programmer for two years. He enjoys coming up with innovative solutions to difficult, recurring problems. He has presented papers at NESUG, SESUG, and SAS Global Forum.


9:00
Four Thousand Reports Three Ways
Stephanie R. Thompson, Rochester Institute of Technology
Paper AP02
How do you go about generating over four thousand PDF reports in up to three different versions? When a large research university decided to add up to five optional questions per class section and up to five more questions at the prefix level to their core set of fifteen questions on the student evaluation of faculty survey, it seemed like a project that would never be completed. If the additional questions weren’t enough, the reports were being revamped at the same time to improve their appearance for delivery on the web. Each report had a tabular section and two customized box and whisker plots. Thanks to ODBC / SAS Access, PROC SQL, macro, DATA Step programming, PROC GPLOT, goptions, and ODS it all came together. This paper summarizes how each SAS component was used and contributed to the completion of the project.

Stephanie Thompson is the Associate Director of Institutional Research and Assessment at Rochester Institute of Technology. She has over ten years experience in applying statistical and modeling techniques to solve business problems in various manufacturing, retail, and academic environments using SAS and other programming languages. Stephanie holds a B.S. in Industrial Engineering from RIT and an M.B.A. from St. Bonaventure University. She is a SAS Certified Base Programmer for SAS9.


9:30
Common Sense Tips and Clever Tricks for Programming with Extremely Large SAS Data Sets
Kathy H. Fraeman, UnitedBiosource Corporation
Paper AP03
Working with extremely large SAS data sets – where the numbers of observations are in the hundreds of millions – can pose many challenges to the SAS programmer. Simple SAS code, including programs that involve basic DATA step programming and ordinary PROC SORTs, can become extremely difficult to run on such large data sets. Problems range from frustratingly long run times, exceeding available memory, and seemingly unexplainable and random I/O errors that cause previously working programs to crash unexpectedly. This paper discusses common sense tips and clever tricks developed in Base SAS to improve programming with these extremely large SAS data sets. SORT/MERGEs on large data sets can be avoided by a trick using SAS formats, and the SAS options SGIO (Scatter-read/Gather-write Input Output) and BUFNO can be combined to avoid I/O errors that sometimes occur when reading extremely large SAS data sets. These and other programming tips and techniques were developed over many years’ experience of writing program to analyze extremely large SAS databases consisting of medical insurance claims, inpatient hospitalization, and electronic medical records (EMR) data.

Kathy H. Fraeman, SM, is a Senior Data Analyst with the United BioSource Corporation. She has over twenty years experience in analytic SAS programming and data management for biomedical research studies; including pharmaceutical clinical trials, epidemiologic studies, survey research, and cost of treatment studies. Ms. Fraeman earned her master of science degree in Environmental Health Sciences from the Harvard School of Public Health, and a bachelor of science degree from MIT.


10:00
Business Intelligence at Maine Medical Center
J. Peter Chingos, Maine Medical Center
Rocket Wong, Maine Medical Center
Paper AP04
Maine Medical Center will demonstrate its use of SAS Information Delivery Portal, Automated reporting using Enterprise Guide and SAS Microsoft Add-in. Together these comprise the information delivery system to measure and manage organizational performance measures.

Maine Medical Center is leveraging the power of SAS' data warehousing capabilities and SAS/ACCESS to integrate data from multiple sources into one location for analysis.

Join us to see a live presentation of the SAS Information Delivery Portal and discuss real applications of BI.

J. Peter Chingos manages the SAS business intelligence platform at Maine Medical Center. He has 13 years of experience in healthcare performance management. He has MBA in Healthcare Management from Boston University.

Rocket is the Business Intelligence Developer for Maine Medical Center's Center (MMC) for Performance Improvement. He is an MSc in statistics from Johns Hopkins University School of Public Health. At MMC, Rocket is responsible for the Design, Development, and Testing of all Business Intelligence requests. He is the lead role in MMC's Balanced Scorecards. Prior to working at MMC, Rocket was an independent consultant to many industries, including, DOT.COM, Hospitals, Insurance, Banking and Government.


11:00
Printable Spreadsheets Made Easy: Utilizing the SAS® ExcelXP Tagset
Rick Andrews, UnitedHealth Group
Paper AP06
ABSTRACT
The SAS System offers myriad techniques for exchanging data to and from Microsoft® Excel. Depending on the task at hand SAS Access® or the Output Delivery System (ODS) might be good choices; Dynamic Data Exchange (DDE) or the old standby, Comma-Separated Values (CSV). This paper describes a method of creating multi-tab, print-ready reports using the Excel XP tagset available in version 9.1.3. This feature of Base SAS can greatly minimize the manual and repetitious task of preparing headers, footers, and various other formatting needs.

Rick Andrews is a SAS consultant at the UnitedHealth Group in Cary, NC. He has 15 years experience using the SAS System and currently provides programming and analytic consulting in healthcare. Rick has published two SUGI papers and received an award for Best Contributed Paper in Applications Development from the 30th annual conference. He also presented for the North East SAS Users Group and is the Applications co-chair for the 2008 conference.


1:30
Simplifying Psychometrics with SAS ®
Charles DePascale, Center for Assessment (NCIEA)
Jennifer Dunn, Measured Progress
Paper AP07
There are countless statistics and procedures commonly used for describing, analyzing, and evaluating the quality of large-scale, K-12 educational achievement tests. However, many of these psychometric analyses are complex, difficult to interpret, and not easily understood by policy makers and education official responsible for administering the tests. Additionally, to a large extent, information provided by these statistics is static, making its use passive and limited.

In this application, relatively basic SAS/GRAPH ® techniques were used to depict critical characteristics of tests in a manner that was understandable and easily accessible to the end users. Test and item characteristic curves, information functions, score distributions, and other statistics are presented individually and in combination. Overlays of the same graphs across years depict how an individual test has changed over time. Presentations of sets of graphs of various grade level tests within a year enables comparisons of components of tests across grade levels.

The primary purpose of the application was to enhance understanding of individual tests and changes in tests over time through the presentation of readily available, but little used, information about the tests. The graphic displays allowed an evaluation of individual statistics against clearly marked critical values. More importantly, however, the application focused discussion on questions such as a) How have the tests changed over time? b) Were the changes planned for and expected? and c) Is there internal consistency between the design of the tests and their intended uses?

Charlie DePascale is a Senior Associate with the National Center for the Improvement of Educational Assessment in Dover, New Hampshire. Now limited to occasional dabbling in data, his use of SAS is focused on conducting Monte Carlo simulations and finding effective ways to present information. Charlie has regularly attended and frequently contributed to NESUG since dropping in at the 1991 conference in Greenwich, Connecticut while driving to a meeting in Princeton, New Jersey.

Jennifer Dunn is a Psychometrician with Measured Progress in Dover, New Hampshire. Her use of SAS ranges from data management to modeling longitudinal data. Most recently she has been focusing on finding ways to automate graphical presentations. Jenn first encountered SAS in 2002, and has been learning SAS through the assistance of more experienced SAS programmers.


2:00
Boot Camp for Programmers: Stuff you need to know that’s not in the manual
Elizabeth Axelrod, Abt Associates
Paper AP08
Imagine that you completed a research project a year ago, and now your clients are challenging the results. They doubt your numbers, and they want to know how you came to your conclusions. Could you retrace your steps and reproduce your results? Could you describe what you did and why you made those decisions along the way? Could you find the data or the programs that you wrote? With the passage of time, it becomes more and more difficult to recall or recover the process, data, or results of a project.

As programmers, we’re tempted to head straight for the keyboard, and start writing code. But first some basic training is in order. This paper is geared for programmers and programmer wannabes, focusing on specific
guidelines, best practices, and techniques which can help us ensure the reproducibility or our results, and in doing so, improve the quality of our work.

Elizabeth Axelrod is a Lead Programmer Analyst at Abt Associates Inc. in the Health Policy Research Division. She has been using SAS for over 25 years, and has been a SAS fan(atic) for almost that long! She is currently the President of BASUG - the Boston Area SAS Users Group.


3:00
Adapting your SAS® Programs into the SAS®9 Paradigm
Cynthia L. Zender, SAS Institute
Paper AP09
Do you want to convert existing SAS® programs for use as SAS stored processes? Would you like to learn how to convert and adapt your existing SAS programs so that they can be executed from selected SAS business intelligence client applications? Topics in this paper include: basic program conversion to a SAS stored process, conversion of SAS/GRAPH® programs, use of macro variables in program conversion, streaming versus transient output from stored processes, and permanent result packages.

Cynthia Zender has been with SAS since 1996 as an instructor and course developer. She currently serves as the Curriculum Manager for the Report Writing and Output Delivery System curriculum. he has over 20 years' experience programming and reporting with SAS in a number of different industries such as Education, Public Utility, Telecom, Litigation Support, and Research Support (clinical studies and survey analysis).


4:00
Competing with Analytics: The Case of a College Bookstore
Sunil Gupta, Thinktodo, LLC
Paper AP05
With the growth of online book stores, College Book Stores on campuses across the country are facing tougher times. If they cannot generate enough volume through sales of new and old books, their ability to provide many valued services and conveniences to students and local communities will be in jeopardy.

The purpose of this presentation is to show how one College bookstore is using SAS in conjunction with Excel to structure and understand students’ purchasing preferences. This, in turn, is helping them create new programs of value to students and increasing share and sales for the bookstore.

Sunil provides consulting services, concentrating on the strategic integration of interactive, analytical and database management services. He has helped a global insurance company launch and build predictive analytics capabilities in various European and Asian countries, developed segmentation schemes based on transactional data for online services, and helped many companies use testing and multivariate experimentation. Sunil, serves as an instructor for the DSA/DMA’s Essential of Modeling seminar, and on the Journal of Interactive Marketing’s Editorial Board.


Coders' Corner

Monday - Kings Garden North
8:30
Plotting Overall Mean and Individual Values in One Graph
Jenny H. Zhang, ICON Clinical Research
Paper CC20
Using the SAS® PROC GPLOT procedure to display multiple plots onto one graph has been proven a very effective data presentation tool. One particular application of this kind of tool is often seen in graphically summarizing pharmacokinetic (PK) data. Obtaining PK data through PK studies is a key early step in the new drug development process. It is a quantitative measure of drug exposure that is needed for the sound interpretation of non-clinical efficacy. In PK studies, the drug (chemical) concentration values from individual subjects as well as summarized overall subject mean concentration by certain time points are often required to be plotted together for better observation. Since the GPLOT procedure can only open one dataset whereas in practice, the overall mean and individual values typically exist in different datasets, some programming intervention is needed for conveniently plot the data. This paper provides the basic introduction and a sample SAS program to solve this technical problem.

Jenny Zhang has been a SAS programmer for over 10 years. She started as a Reimbursement Analyst in a health insurance company analyzing claims data with SAS. She is now a senior SAS programmer at ICON Clinical Research analyzing clinical trial data. Her major responsibility includes developing analysis datasets, creating summary tables for safety and efficacy analysis, generating listings and graphics.


8:40
Wandering Cross Reference Lines in PROC GPLOT
Sharon Avrunin-Becker, Westat
Marie Byrd Alexander, Westat
Paper CC04
PROC GPLOT is an interesting and somewhat mysterious SAS® procedure. New users of PROC GPLOT often find the procedure useful in producing simple graphs, but find it intimidating when trying to enhance and guide the visual interpretation of the graph. One type of plot involves the use of vertical and/or horizontal reference lines to emphasize the plotted points on the graph. Usually, when the horizontal (HREF) and vertical (VREF) reference lines are defined in the PLOT statement, a specific number is referenced to create the lines (e.g. HREF=10).

What do you do if you have a graph where you want to have horizontal, vertical, or both, reference lines placed dependant on the data itself? This paper will demonstrate how to turn your reference lines parameters into macro variables and how to call the same PROC GPLOT routine to create unique and individualized graphs for each subject. When we show you the results for 8 sample graphs, you will be able to see the reference lines actually "moving" based on the data.

Sharon has been working with SAS at Westat for the past 13 years. Her current work is with the Clinical Trials group in the Health Studies Area.

Marie has been working with SAS at Westat for the past 9 years. Her current work is with the Clinical Trials group in the Health Studies Area.


8:50
Tricks to Quickly Analyze and Graphically Represent Numeric Data
Anastasiya M. Osborne, Farm Service Agency
Paper CC05
Have you ever been asked to produce a high quality, management-friendly report in record time? Have you ever spent time typing ranges for PROC FORMAT to apply in tables or maps? During Congressional hearings, U.S. Department of Agriculture (USDA) often gets urgent requests to graphically represent politically-sensitive data. This paper presents a SAS macro that was developed to allow flexibility in choosing a dataset, a variable in question, and a number of groups for statistical analysis. The macro then produces the results in an Excel spreadsheet, and an ODS output. It also automatically creates a format for the variable that can be used in PROC GMAP to produce an impressive map. The macro reduces programming time by eliminating time-consuming tasks to analyze the variable and manually type ranges for PROC FORMAT.

Anastasiya Osborne has used SAS since 2000. She works at the Farm Service Agency (USDA), and uses SAS for statistical analysis and ad-hoc reports for USDA and the Congress. Previously she worked at BLS (DOL) and at Westat. Anastasiya presented at BLS SUG in 2005, has been a DCSUG Treasurer since December 2006, and attended the 2007 and 2008 SAS Global Forums. She holds an M.A. in Applied Economics from Johns Hopkins University.


9:10
Customize SAS® Output Files Using SAS Output Delivery System
Li Liu, Merck & Co., Inc.
Junjie Lu, Merck & Co., Inc.
Paper CC02
As SAS programmers in the pharmaceutical industry, our primary job is to create statistical analysis tables and listings. In addition to company defined standard reports, we often work on an ad hoc basis. Our customers always have very special job requests for us; such as output files in special format, applying specific content layout, and using different fonts and special symbols to enhance the appearance of our product. That means we cannot fulfill the job simply by using SAS defaults or company's standard macro programs. When this occurs, we look for help from SAS ODS (Output Delivery System). SAS ODS is a powerful tool. It gives us a great flexibility to handle the output files in many ways. There are many useful features on SAS ODS that may not be familiar to many of us. This presentation will explore some of them in detail; such as control fonts, enhancing titles, and footnotes. Our examples will show that creating customized SAS output files with desired styles is achievable using SAS ODS.

Li Liu is a Scientific Programming Analyst at Merck & Co., Inc. She has 6 years of programming experience. She has been providing the SAS programming support to phase II/III Clinical Trials in several different therapeutic areas.

Junjie Lu was born in China in 1952 and obtained MA degree of philosophy from Nanjing University. Junjie came to the US in 1989 and started working full time as a SAS programmer in 1996. After working for several local pharmaceutical companies, Junjie joined Merck in 2004 working on late stage clinical data analysis.


9:20
Table Lookups: Getting Started With Proc Format
John J. Cohen, AstraZeneca LP
Paper CC19
Table lookups are among the coolest tricks you can add to your SAS(R) toolkit. Unfortunately, these techniques can be intimidating, both conceptually and in terms of the programming. We will introduce one of the simplest of these, employing Proc Format and the CNTLIN option as part of our construct. With any luck, this will prove both easier to program and more efficient to run.

John has been working in the Pharmaceutical Industry for over fifteen years, presently supporting Commercial Analytics at AstraZeneca LP. He thinks he remembers writing his first SAS program in 1976, but he still doesn't understand what it all means. He lives in Newark, DE with his wife and two bassett hounds. In his spare time he likes to eat and sleep.


9:30
Multiple Facts about Multilabel Formats
Gwen D. Babcock, New York State Department of Health
Paper CC14
PROC FORMAT is a powerful procedure which allows the viewing and summarizing of data in various ways without creating new variables in the data step. The addition of the MULTILABEL option in SAS 8 has made PROC FORMAT even more powerful by allowing formats to have duplicate and/or overlapping ranges. This paper will give examples of the use of MULTILABEL formats with the /mlf option in PROC MEANS, PROC SUMMARY, and PROC TABULATE. In addition, this paper addresses what happens when MULTILABEL formats are used in other procedures or without the /mlf option. This paper also shows how MULTILABEL formats, like other formats, can also be created from an exiting dataset. MULTILABEL formats are a valuable addition to any SAS programmer’s repertoire.

Gwen Babcock works for the New York State Department of Health, Center for Environmental Health, as an epidemiologist. Her professional interests include developing surveillance methods, birth outcomes, and SAS programming. She has a M.S. in Epidemiology from SUNY Albany, M.S. Biology from Virginia Tech, and B.S. in Biology from Wheaton College (IL). She previously worked for 5 years at the USDA’s Plum Island Animal Disease Center as a microbiologist.


9:40
Address Cleaning Using the TRANWRD Function
Rena Jones, NYS Dept. of Health Center for Environmental Health
Mike S. Zdeb, U@Albany School of Public Health
Paper CC07
SAS® data sets sometimes contain character variables that need alteration. Address databases used to generate mailing lists or for geocoding (assigning of a geographic coordinate location in terms of latitude and longitude based on street address) require standardized address information. The various portions of the address (numbers, street names, street types) should conform to a set of pre-specified rules.

SAS string functions are one way to manipulate the components of address data. SAS on-line help states that the TRANWRD function replaces or removes all occurrences of a given word (or a pattern of characters) within a character string. This paper will provide an overview of the TRANWRD function syntax and its utility for cleaning an address database either by itself or in conjunction with other string functions (COMPRESS, TRANSLATE). A SAS macro is described that uses the TRANWRD function to adjust for common inconsistencies and errors in address data. The macro provides one of a number of BASE SAS alternatives to functions available in the SAS Data Quality Server.

Rena Jones was first introduced to SAS in graduate school at the State University of New York at Albany. She previously worked as a multi-language programmer in both private industry and academic institutions, and currently holds a position as a Research Scientist at the New York State Department of Health. Rena is also working on completing her doctorate in Epidemiology, and frequently trains others to use SAS in the public health field.

Mike Zdeb is an assistant professor in the department of epidemiology and biostatistics at the University@Albany School of Public Health, and formerly a research scientist at the New York State Department of Health. He has been a SAS user for 20+ years and has presented papers and conducted workshops at a number of SUGI, NESUG, and local user group meetings. Mike is the author of "Maps Made Easy Using SAS", a publication of SAS Press.


10:00
Using Proc SQL to Run SAS Procedures on a Group of Datasets within a Single Directory
Diana Ventura, Harvard University School of Public Health
Paper CC08
Sometimes it is necessary to analyze a group of datasets in the same way. In this case it makes sense to create a macro variable that represents the dataset names. Proc SQL dictionary tables contains a variable named memnane. The memname variable can be read as a macro variable. The macro variable allows SAS to dynamically generate the dataset names so that SAS procedures can be run without typing the individual names of each dataset. This is a helpful utility that can be used to perform a wide range of SAS procedures with much less typing and repetitive code.

Diana Ventura is the Head of Standardization for the Center for Biostatistics in AIDS Research, where she manages meta-data analysis, clinical data quality assurance, and CRF forms programming. She has been using SAS in the public health arena since 1992.


10:10
Purrfectly Fabulous Feline Functions
Louise S. Hadden, Abt Associates Inc.
Paper CC10
Do the following snippets of SAS(R) code look familiar?

length stcounty $ 5 citystzip $ 60;

stcounty=trim(left(put(state,z2.)))||trim(left(put(county,z3.)));
citystzip=trim(left(city))||', '||trim(left(statecode))||' '||trim(left(zip));

Now there's an easier way! Leave those vertical bars behind and join us as we explore the purrfectly fabulous feline functions (and call routines) available in SAS version 9.0 and above. Enhancements available in 9.2 will be demonstrated.

Louise Hadden has been using SAS since the earth was a primordial soup. She still has her original, single volume SAS manual, albeit worn to pieces. She is particularly interested in producing camera-ready and web-ready output directly from SAS, using ODS, BASE SAS, SAS/GRAPH and SAS/STAT.


10:20
The History of How, Who, Which, What, Where – Utilizing the SAS® Trace Module!
Jerry Alex, The Wharton School
Paper CC15
For any organization that uses SAS software there are couple of questions that needs to be answered. How often is the software being used, who uses it, which SAS products are being used, from what terminal is SAS being accessed (ssh, web, sasconn), where exactly does SAS proves to be more efficient? And more often than not, these questions are not exactly easy to answer especially for those organizations that run SAS on multiple platforms. Although the SAS RTRACE feature can provide files that depict information about SAS usage within the organization, the feature is not effective enough to develop a pin-point accuracy of needed data. This paper exploits the RTRACE feature by using the SAS trace feature that parses, extracts and creates two master datasets using the output logfile generated by SAS –RTRACE module. This technique is an effective solution for SAS installations that require a statistical report of their usage of datasets. The trace feature program is processed in five different phases. After reading this paper you will be well equipped with the tools you need to gather the “How”, “Who”, “Which”, “What”, and “Where” – of SAS software usage within your organization.

Jerry Alex is a Data Analyst for Wharton Research Data Services or WRDS, at Wharton School. He is a software engineer from Bangalore, India and has over 10+ years of experience in the field of IT. He is extremely proficient in Database management, viz: Oracle. He is interested in learning more about SAS, especially SAS Business Intelligence and Neural Networks.


10:30
PC Tips for Mainframers
Claudine Lougee, Dualenic
Paper CC18
Do you ever need to access, change, view, or edit data on the mainframe? Do you not like the mainframe or like logging onto the OS/390 environment for fear of getting "lost"? There are ways to help you avoid writing JCL code or submitting a job that will sit in queue waiting for CPU time. Even if you are an expert mainframe user, there are tips and tricks in the PC environment that will make your life easier.

Claudine has worked in the mainframe environment since before Y2K. She learned to use SAS as a method to avoid COBOL for reporting, sampling, and summary functions. Currently self-employed, she likes to find ways to improve programs and processes so others will benefit. She has presented at several SESUG and local conferences and served as president of VASUG (Virginia SAS user group) for over two years.


10:40
Run SAS® Code based on Filename extensions
Shiva Srinivasan, PJM Interconnection
Shailaja Ramesh, Prosoft Software Inc
Paper CC16
Do you want to execute SAS processes based on the filename extension?
Do you want to know how to read the Windows dir structure information via SAS?

You have come to the right place. This paper breezes you through some quick and slick SAS code that you can use to read the Windows dir structure, look through the directories , sub-directories, given a root and then finally process SAS code based on the filename extensions. The paper uses SAS pipes, SAS char functions, SAS Data Step , and SAS Macro functionalities.

Shiva is a SAS Certified professional with 4+ years of SAS experience. He presently works as an Application Developer for PJM supporting the Capacity Adequacy and Planning department for various PJM reserve requirement studies. His role is to translate business logic into SAS processes and integrate them to a web tier for users to employ the power of SAS via an Intranet Web Application called ARC (Applications for Reliability Calculations).

Shailaja Ramesh is currently a Sr SAS Programmer in Prosoft Software Inc. She is Base SAS Certified and Advanced SAS Certified. She has been working in the Pharmaceutical Industry for more than 5 Yrs with expertize in CDISC.


11:00
Two-Minute Tech Tips

Paper CC23
Have you ever looked at a few lines of SAS code and thought, "Hey, that's a really neat idea!". Is there a macro or a chunk of code you pull into every program you write? How about a function you can't get through a workday without? If so, this will be your opportunity to share your favorite snippet of SAS code with others. There will be no formal papers associated with this segment, but we will need your presentation slides in advance. If you have an idea you are willing to present, but it wasn’t substantial enough to build a paper around, this will be the venue for you.

The rules are simple: you can use a maximum of two slides to show your code and demonstrate its value, and each talk will last a maximum of two minutes. If you are interested in presenting an idea, please send your presentation or related questions to nesug2mtt@hotmail.com.




1:30
Creating Longitudinal Master Data After Renaming Variables with SAS(R) Macro and Loop
Ja K. Gu, CDC/NIOSH
Paper CC11
Longitudinal surveys can have several follow-up data collection times, each of which can have a large number of variables. All of these data sets, from each collection time, including a baseline data set, are used to create a master data set for overall analysis. Each of these data sets typically uses the same variable names. This paper discusses how to create horizontal SAS master data sets from longitudinal survey data after renaming variables with fixed prefixes and unfixed suffixes. The ‘fixed’ means the character attaching to the original variables is defined (not changed). The ‘unfixed’ means the character attaching to the original variable is not defined (change at every original variable). The Output Delivery System (ODS), PROC SQL, and simply SAS macro DO loop within PROC DATASETS apply to rename variables for each collection time data set. This method creates a dramatically shorter program, and is more efficient than manually changing each variable name.

Ja Kook (Jack) Gu has 8 years of experience survey and epidemiological cohort studies. He received the Master of Science Public Health (MSPH) degree in Biostatistics from the University of South Carolina. He has worked in CDC/NIOSH at Morgantown WV since September 2007 after working TBI research in Medical University of South Carolina. His areas of interest include categorical data analysis, survival analysis, logistic regression, and SUDAAN and SAS programming with large data.


1:40
The Mighty Macro That Will Change How You Macro
Marie Byrd Alexander, Westat
Sharon Avrunin-Becker, Westat
Paper CC03
Macros are designed to make your life easier. They help us to avoid repeating code over and over. They save us time and energy. But what happens when you have a SAS® dataset that contains data for five sites, and you want to create individual reports for each site? Do you call the macro five times, specifying the site number that should be used each time? That isn't so bad when there are only five sites. However, if there were 100 sites or 1000 sites, you could get pretty tired changing your macro call that often. This paper will introduce you to a macro that will read your dataset and generate a report regardless of whether there are 5, 500, or 5000 sites.

Marie has been working with SAS at Westat for the past 9 years. Her current work is with the Clinical Trials group in the Health Studies Area.

Sharon has been working with SAS at Westat for the past 13 years. Her current work is with the Clinical Trials group in the Health Studies Area.


1:50
HELP! - My MERGE Statement Has More Than One Data Set With Repeats of BY Values!
Andrew T. Kuligowski, The Nielsen Company
Paper CC21
Most users of the SAS(R) system have encountered the following message:
NOTE: MERGE statement has more than one data set with repeats of BY values.
There are many papers in the Proceedings from past SAS User Group conferences that describe how to programatically force this "many-to-many" merge to occur. These presentations are built upon the assumption that the user WANTS to merge datasets that have repeats of BY values. However, it is also possible that the coder did not expect this condition and wishes to avoid and eliminate it.

This presentation will demonstrate a technique using a series of ad hoc programs that will isolate the observations causing the many-to-many merge, so that we can modify our underlying data assumptions, and hopefully eliminate this condition.

Andrew T. Kuligowski has been a SAS user for over 20 years. He has augmented his professional coding experiences in the petrochemical and media industries by speaking at SAS Global Forum, SESUG, NESUG, and many other SAS conferences and user group meetings. Andrew was conference co-chair for SESUG’97 in Jacksonville, Florida and Tennessee SAS Users Day in Knoxville, Tennessee. In his spare time, Andrew can also be found volunteering at the Florida Aquarium in Tampa.


2:05
Holy Emacs, Batchman!
Sara Hickson, Channing Laboratory
Paper CC13
Transitioning from one mode of operating to another can be challenging. This is especially true for the transition to Unix from a Windows/PC environment. The differences are immense, and the introduction to Unix and Unix scripting can be quite a shock compared to the relatively intuitive interface of the PC. Although each environment has its own versions and added software, this paper will touch on the more universal challenges in this transition. This paper will present the differences and challenges in transitioning from a Windows/PC environment to a UNIX environment, and recommendations for follow-up resources.

There are 3 major components that this paper will consider: batch mode versus interactive mode, available editors, and introducing command line editing. Anyone working full time in SAS® may deal with this transition at some point in their career, but this is targeted at a beginner level.

Sara started teaching herself SAS in 1999 while working as a research assistant, looking at ways technology can aid patients with self-care. After attending several NESUG conferences and receiving an MPH, she moved to the Nurses’ Health Study at Brigham and Women's Hospital and Harvard University. As a Data Manager, she works with the blood labs and uses SAS to extract usable information from a gazillion flat files dating all the way back to 1976.


2:25
Avoiding Common Traps When Accessing RDBMS Data
Mike Rhoads, Westat
Paper CC01
Accessing data from databases such as Oracle and SQL Server has become an increasingly common requirement for SAS(R) programmers. SAS offers powerful and flexible capabilities for accessing such data, and many aspects of this process are quite straightforward, especially when LIBNAME engines are used. However, there are some traps that lurk for the unwary that can potentially produce unexpected error messages, incorrect output, or frantic calls from your normally-friendly Database Administrator. This presentation highlights a few of the most common traps and explains how to avoid them.

Mike Rhoads first started using SAS software during the late '70s and has been hooked ever since. He is currently a Vice President in the Computer Systems and Applications group at Westat, where he still manages to sneak in an occasional DATA step or two when not attending to his other responsibilities. He has contributed to numerous NESUG and SUGI conferences as a section chair, paper presenter, and session coordinator.


2:45
Constructing a System for Tracking Revenue Generated from Dissimilar Projects
Roger S. Cohen, New York State Tax Department
Paul Bastian, New York State
Paper CC09
Organizations developing projects that generate revenue need a systematic way of monitoring the results of those projects. Dissimilar projects often require widely different methods for estimating or measuring the revenue they generate. This is certainly the situation faced by our team which develops tactical solutions to improve compliance with New York State tax laws. In this paper, we explain the system and procedures that we developed to automatically track and report revenue using a single database working in conjunction with an array of individualized SAS® routines. This database is also linked with the database that we use to track project development and maintenance.

Dr. Roger Cohen is the director of the Data Resources Division of the New York State Department of Taxation and Finance Office of Tax Enforcement and former director of Operations Research and Development in the Department. He is a Public Finance economist with nearly thirty years of service to state governments. He holds degrees from the University of North Carolina at Chapel Hill and the University of Michigan. Dr. Cohen began using SAS in 1978.

Paul Bastian currently works for the Tax Enforcement Department of The New York State Department of Taxation and Finance, developing tools that enhance New York State taxpayer compliance, and increase production by optimizing tools and resources we already have.


3:00
Benchmarking Tool for Hardware resources
Sreekanth Middela, MaxisIT
Venkata S. Bhamidipati, Merck & Co., Inc.
Paper CC17
The main functionality of benchmark macro %Compare is to summarize, aggregate, and display the various
hardware resources utilized by a SAS ® program. Additionally, %Compare compares, between two programs, resources such as memory, real time, CPU time, etc., which is a useful benchmarking technique to help determine the program structure and hardware needs. %Compare can be helpful for programmers working on large databases such as those occurring with vaccine clinical trials or sales data. This paper will illustrate techniques using various real scenarios.

Sreekanth has been working in various departments of pharmaceutical industries and has extensively used SAS for his analysis and data management applications. He has completed his Master of Science in Electrical Engineering from University of Bridgeport.

Venkata Sekhar Bhamidipati working for Merck & co., as a statistical programmer analyst who had near 13 years of extensive experience involved in Clinical Trails. Leading a Team of SAS Programmers for all Phases of Clinical Trials. Excellent Interpersonal Skills with a Good exposure to Clinical Trials in the Pharmaceutical Industry in various Therapeutic Areas like Oncology, HIV, HCV, Transplant, Vaccine, and Primary Care, etc..


4:00
NESUG-L, Live answers to your questions
Kenneth W. Borowiak, PPD, Inc.
Paul M. Dorfman, Red Buffalo, Inc.
Peter Eberhardt, Fernwood Consulting Group Inc
Kirk P. Lafler, Software Intelligence Corporation
Paper CC22
Join us as Coders’ Corner presents a panel discussion about "Data Step Merge vs. Proc SQL Join." We will get the ball rolling with a question or two of our own, and would like you to bring your questions related to this topic for advice from our panelists too. Some of the discussion will center on the different "default" processes that get invoked by the Merge and Join; later in the session, we hope to expand the discussion to include the hash search and join methods.

Ken Borowiak is currently a Programmer Analyst with PPD, providing programming support for clinical trials. He has previously worked in the health care insurance and institutional research fields. Ken recently served as Chair of GVSUG in Rochester, NY. He holds an M.A. in Economics, SAS Advanced Programmer Certification for V9, and was the recepient of the SASLROY award in 2006.

Paul started using SAS while pursuing a Ph.D. in computational plasma physics. Thereafter, he has worked as an Independent SAS Consultant in telops, banking, credit card, pharmaceuticals, and managed health care industries. When particularly idle, Paul delves into Data step implementations of high-performance algorithms. Over years, he has earned a number of honorable nicknames, such as “SasHole” from a group of COBOL bigots, “Most Valuable SAS-Ler” and “Hall-of-Famer” from SAS-L, and “Hash-Man” from SAS R&D.

Peter is a long time SAS consultant and his company, Fernwood Consulting Group Inc., is a SAS Alliance Partner. From his local user group in Toronto and other local user groups across Canada and the Caribbean through to SAS Global Forum, Peter is a regular contributor. In 2008 Peter is the Academic Chair for the annual SESUG conference in St Pete Beach FL.

Kirk Paul Lafler is consultant and founder of Software Intelligence Corporation and has been programming in SAS since 1979. Kirk provides IT consulting services and training to SAS users around the world. He has written four books including PROC SQL: Beyond the Basics Using SAS by SAS Institute, and more than two hundred papers and articles. Kirk has been an invited speaker and trainer at more than two hundred SAS User Group Conferences and meetings.


Foundations & Fundamentals

Monday - Ballroom 4
8:00
Top Ten Reasons to Switch to Enterprise Guide (Say Goodbye to PC SAS)
Heather Y. Seeno, Highmark, Inc.
Paper FF13
My love affair with PC SAS began on May 13, 1996, my first day of work as Data Analyst at a new job. After years of learning “just enough” JCL to run mainframe SAS programs, pc SAS was a delight. A Program Editor, Output Window, Log Window, File Explorer and command line all available at a glance! With Version 8 we gained an Enhanced Editor with color-coding and collapsible code! Life was good. %Include became my standard method of indicating the flow of SAS code throughout a project. Proc Export and DDE bridged the gap to Excel. ODS meant I could share SAS output with non-SAS users. Then along came SAS Enterprise Guide. No need to use %Include now that we have process flows. DDE won’t work. Why give up PC SAS?

This paper outlines the Top Ten Reasons why SAS Enterprise Guide is the number 1 tool in my SAS toolkit.

Heather has a Bachelors of Business Administration and a Masters of Marketing Research from the University of Georgia. Heather is currently employed as an Actuarial Project Consultant with Highmark Blue Cross Blue Shield.


8:30
10 Things a Beginner Should Know Before Writing a SAS® Program
Lisa Eckler, Lisa Eckler Consulting Inc.
Paper FF12
Writing and running one’s first SAS program can be wonderfully quick and easy – or not. Either way, there’s a long route with many lessons to be learned between writing that first program and truly being a SAS programmer. This paper will address some of the things your best friend would tell you about SAS before you tried it, if your best friend were an experienced SAS programmer.

An early awareness of some of these ideas may help you avoid having to discover them in the face of a looming deadline, with a program that has gotten unmanageably complicated and doesn’t produce the desired result. This paper should be of value to beginner programmers or those making a transition to SAS from some other programming language. It will include some fundamentals of programming, an introduction to some tips and techniques for understanding and working with SAS code, and pointers to some classic SAS papers and other recommended resources.

This is an updated version of the NESUG 2007 paper with the same title.

Lisa Eckler is a consultant who has been using SAS in a variety of industries and applications for over 20 years. Her attachment to SAS software began serendipitously during her co-op student days at the University of Waterloo. Spare time is spent preparing for and attending SAS Users' Groups.


9:30
A Sampler of What's New in Base SAS® 9.2
Jason Secosky, SAS Institute
Paper FF15
This presentation shows how coding with SAS is easier than ever with SAS 9.2. We highlight the top new features and performance improvements in DATA step, PROC SQL, and PROC SORT. Included are several "Top 10" SASware Ballot items, writing functions with DATA step syntax, and more intuitive and culturally acceptable sorting with PROC SORT. Come see what's new in the next version of Base SAS.

Jason Secosky is a Principal Software Developer at SAS and is responsible for extending and maintaining the DATA step language as well as the new multi-threaded TSPL Table Server language. He has been at SAS since 1997. Prior to working at SAS, Jason received a B.S. in Computer Engineering from the University of California, San Diego and a M.S. in Computer Science from the University of Washington.


10:30
Tales from the Help Desk 4: Still More Solutions for Common SAS® Mistakes
Bruce F. Gilsen, Federal Reserve Board
Paper FF02
In 23 years as a SAS ® consultant at the Federal Reserve Board, I have seen SAS users make the same mistakes year after year. This paper reviews some common mistakes, and shows how to fix them.

In the context of reviewing these mistakes, the paper provides details about SAS system processing that can help users employ the SAS system more effectively.

Bruce Gilsen has worked at the Federal Reserve Board since 1983. His Bruce Force fantasy baseball team competes for its 5th league title this year.

Tuesday - Ballroom 4
8:30
Find Out What You’re Missing: SAS® Enterprise Guide® for SAS Programmers
Bill J. Gibson, SAS
Chris Hemedinger, SAS
Paper FF16
If the techniques you have been using to do your job for 20 years are still working, what’s your incentive to change? Learn about the productivity gains that you can enjoy when you add SAS® Enterprise Guide® to your SAS® programming toolbox. You will see how to perform old tasks in a new way as well as how to accomplish some tasks that would have been very difficult—if not impossible—without the benefit of an integrated tool like SAS Enterprise Guide. Plus, stay tuned for a candid discussion of SAS features that don’t work so well from within SAS Enterprise Guide. The content of this paper is adapted from SAS For Dummies, by Stephen McDaniel and Chris Hemedinger, updated with new programmer-friendly features from SAS Enterprise Guide 4.2.

Bill Gibson has been with SAS for four years as a systems developer and manager mainly working on SAS Add-In for Microsoft Office and SAS Enterprise Guide.

Chris is a senior software manager in the Business Intelligence Clients division at SAS, and has worked on the development team for SAS Enterprise Guide since the product began. He is also coauthor of the recently published SAS for Dummies book.


9:30
The SAS Data Step: Where Your Input Matters
Peter Eberhardt, Fernwood Consulting Group Inc
Paper FF05
Before the warehouse is stocked, before the stats are computed and the reports run, before all the fun things we do with SAS® can be done, the data need to be read into SAS. A simple statement, INPUT, and its close cousins FILENAME and INFILE, do a lot. This paper will show you how to define your input file and how to read through it, whether you have a simple flat file or a more complex formatted file.

Peter is a long time SAS consultant and his company, Fernwood Consulting Group Inc., is a SAS Alliance Partner. From his local user group in Toronto and other local user groups across Canada and the Caribbean through to SAS Global Forum, Peter is a regular contributor. In 2008 Peter is the Academic Chair for the annual SESUG conference in St Pete Beach FL.


10:30
SAS® Macro Programming Tips and Techniques
Kirk P. Lafler, Software Intelligence Corporation
Paper FF04
The SAS® Macro Language is a powerful tool for extending the capabilities of the SAS System. This hands-on workshop presents numerous tips and tricks related to the construction of effective macros through the demonstration of a collection of proven Macro Language coding techniques. Attendees learn how to process statements containing macros; replace text strings with macro variables; generate SAS code using macros; manipulate macro variable values with macro functions; handle global and local variables; construct arithmetic and logical expressions; interface the macro language with the DATA step and SQL procedure; store and reuse macros; troubleshoot and debug macros; and develop efficient and portable macro language code.

Kirk Paul Lafler is consultant and founder of Software Intelligence Corporation and has been programming in SAS since 1979. Kirk provides IT consulting services and training to SAS users around the world. He has written four books including PROC SQL: Beyond the Basics Using SAS by SAS Institute, and more than two hundred papers and articles. Kirk has been an invited speaker and trainer at more than two hundred SAS User Group Conferences and meetings.


1:30
Using Data Step MERGE and Proc SQL JOIN to Combine SAS® Datasets
Dalia C. Kahane, Westat
Paper FF03
This paper demonstrates important features of combining datasets in SAS. The facility to combine data from different sources and create a convenient store of information in one location is one of the best tools offered to the SAS programmer. Whether you merge data via the SAS data step or you join data via PROC SQL you need to be aware of important rules you must follow. By reading this paper you will gain a deeper understanding of how the DATA Step MERGE works and will be able to compare it to parallel PROC SQL JOIN examples. You may then select what is best for your own programming style and data situation.

The paper includes descriptions and examples that cover the following: how to combine data from multiple sources where records share a relationship of one-to-one, one-to-many or many-to-many; the importance of the BY statement in the DATA Step and the WHERE clause in PROC SQL; the dangers inherent in using (or not using) the BY and WHERE; the importance of knowing your data and the fields that are common to all datasets or unique in each; and the syntax for properly performing different types of joins in SQL (inner vs. outer join, left vs. right join, etc.)

Dalia Kahane is a senior systems analyst at Westat, Rockville, MD. She has been part of the programming team at Westat for over 20 years and programmed in SAS for much of that time. Dr. Kahane was a part time instructor at Colleges in Maryland and Washington D.C. during and after her graduate studies. She presented at SUGI and NESUG 2006 and volunteered as a section co-chair in NESUG 2007 and 2008.


2:30
Guido’s Guide to PROC MEANS – A Tutorial for Beginners Using the SAS® System
Joseph J. Guido, University of Rochester Medical Center
Paper FF06
PROC MEANS is a basic procedure within BASE SAS® used primarily for answering questions about quantities (How much?, What is the average?, What is the total?, etc.) It is the procedure that I use second only to PROC FREQ in both data management and basic data analysis. PROC MEANS can also be used to conduct some basic statistical analysis. This beginning tutorial will touch upon many of the practical uses of PROC MEANS and some helpful tips to expand one’s knowledge of numeric type data and give a framework to build upon and extend your knowledge of the SAS System.

Joseph has 20+ years experience using SAS®. He received an MS from the University of Rochester and is currently on the Faculty and a Lead Analyst/Programmer at the University of Rochester Medical Center in Community and Preventive Medicine. He teaches graduate courses in Applied Statistics using SAS® and provides statistical consulting, programming and data analysis to faculty, staff and students. He is currently the Chair of the Genesee Valley SAS Users Group (GVSUG).


3:30
Building the Better Macro: Best Practices for the Design of Reliable, Effective Tools
Frank DiIorio, CodeCrafters, Inc
Paper FF11
The SAS® macro language has power and flexibility. When badly implemented, however, it demonstrates a chaos-inducing capacity unrivalled by other components of the SAS System. It can generate or supplement code for practically any type of SAS application, and is an essential part of the serious programmer's tool box. Collections of macro applications and utilities can prove invaluable to an organization wanting to routinize work flow and quickly react to new programming challenges.
But the language's flexibility is also one of its implementation hazards. The syntax, while sometimes rather baroque, is reasonably straightforward and imposes relatively few spacing, documentation, and similar requirements on the programmer. In the absence of many rules imposed by the language, the result is often awkward and ineffective coding. Some amount of self-imposed structure must be used during the program design process, particularly when writing systems of interconnected applications.
This paper presents a collection of macro design guidelines and coding best practices. It is written primarily for programmers who create systems of macro-based applications and utilities, but will also be useful to programmers just starting to become familiar with the language.

A SAS programmer since 1975, Frank DiIorio is President of CodeCrafters, Inc. and the author of "SAS Applications Programming: A Gentle Introduction" and "Quick Start to Data Analysis with SAS." He is past President of the SouthEast SAS Users Group, and co-chaired its 1994 and 1996 conferences. He is also active in the Research Triangle (NC) SAS Users Group and was a co-founder of the Research Triangle CDISC Users Group.


4:30
An Animated Guide: Using the Put and INput functions
Russ M. Lavery, Self
Paper FF09
This paper explores features and complexity in the use of Put and INput functions. Put and INput are useful for converting variables from character to numeric and the reverse. This paper starts with simple examples and builds to more complex examples showing dates and nested use [ e.g. Put(INput(cust_id,6.0),Z6.0) ].

The Put function converts from a numeric or character input/variable/target to a character output, applying a format as part of the conversion. The Put function can be applied to a character or numeric input, but the output of the Put function is always character. INput converts only from a character input/variable/target to either numeric or character output/variables, applying an INformat as part of the conversion. The INput function can only be applied to a character target, but the output can be character or numeric. As a quick summary, Put can take two types of input and produces one type of output (character). INput takes one type of input (character) and can produce two types of output.

We have attempted to explore all possible combinations of inputs, formats/INformats and the two functions. The code required was very long and is included in the appendix. To make this paper more readable, we will illustrate the rules we discovered with a just a few examples.

Russ Lavery started learning SAS in 1985 and is still learning. He is a certified SAS programmer and works as a contractor, usually near his home in the Philadelphia PA area. He is a frequent, and award winning, presenter at SUGs. He is the creator of the “An Animated Guide” series of talks on SAS and statistical topics. He also teaches in the Clinical SAS Programming Certificate Program at Philadelphia University.

Wednesday - Ballroom 4
8:00
Reading Difficult Raw Data
Matthew Cohen, Wharton Research Data Services
Paper FF01
Raw data from outside sources is often messy and can be difficult to read into SAS. This paper will cover many of the features and creative uses of the INFILE and INPUT statements that make this task easier. It will also discuss using file and directory SAS I/O functions to add another level of flexibility. This is intended for beginner or intermediate programmers, or anyone who reads raw data into SAS.

Matthew Cohen is the Data Manager of WRDS, where he uses SAS to maintain 70 financial databases from 40 different vendors. He previously worked on the Consumer Price Index at the Bureau of Labor Statistics.


8:30
A PROC SQL Primer
Matthew Taylor, Carolina Analytical Consulting, LLC
Paper FF10
Most SAS® programmers utilize the power of the DATA step to manipulate their datasets. However, unless they pull from a relational database, there is a good chance they have not explored an alternate method of data manipulation, the PROC SQL. Once learned, PROC SQL can be more intuitive in some cases than DATA step solutions and also have unique properties that allow certain functionality that is very difficult to obtain through a DATA step. This paper will review the basics of PROC SQL including creating and manipulating datasets, combining tables, summarizing data and tips to help the beginner code efficiently.

Matt Taylor is the President of Carolina Analytical Consulting and author of Journey into SAS. He has been using SAS for 9 years and is a SAS Certified Advanced Programmer for Version 9. He currently works on a variety of analytical projects for the banking and financial services industries.


9:30
Using SAS to Parse External Data
Andrew T. Kuligowski, The Nielsen Company
Paper FF08
Most “Introduction to Programming” courses will include a section on reading external data; the first assumption they make will be that the data are stored in some sort of documented and consistent format. Fortunately, in the “real world”, a lot of the data we deal with has the same basic assumption of occurring in a documented, consistent format – a lot of it, but not all of it.

This presentation will address some techniques that can be used when we are not dealing with cleanly formatted data, when the data we want is in a less-than-ideal format, perhaps intermingled or seemingly buried with unnecessary clutter. It will discuss the principles of using the SAS System to parse a file to extract useful data from a normally unusable source. This will be accomplished by citing examples of unusual data sources and the SAS Code used to parse it

Andrew T. Kuligowski has been a SAS user for over 20 years. He has augmented his professional coding experiences in the petrochemical and media industries by speaking at SAS Global Forum, SESUG, NESUG, and many other SAS conferences and user group meetings. Andrew was conference co-chair for SESUG’97 in Jacksonville, Florida and Tennessee SAS Users Day in Knoxville, Tennessee. In his spare time, Andrew can also be found volunteering at the Florida Aquarium in Tampa.


10:30
Is .1+.2 equal to .3?
Shaoji Xu, Pro Unlimited
Paper FF07
Is .1+.2 equal to .3? Let us run the following program.

data _null_;
if .1+.2=.3 then put 'equal';
else put 'not equal';
run;

We will see ‘not equal’ in the printout.

In this paper we will talk about how SAS stores numeric data and does additions, and explain why .1+.2  .3 and what is the difference between .1+.2 and .3.

Shaoji is currently a Progamming Consultant at Sanofi-Aventis. He holds a Ph.D degree in Operations Research and a MS degree in Statistics from Rutgers University, and has both Base and Advances SAS certifications.


Hands - On Workshops

Monday - Ballroom 3
8:15
SAS® ODS Technology for Today's Decision Makers
Sunil K. Gupta, Quintiles
Paper HW03
Have you ever wondered why there has been so much excitement about ODS ever since it was introduced? How does ODS significantly enhance the presentation quality of reports and create files that were never before possible from SAS? Have you ever thought about how ODS can directly improve your daily activities and what it actually has to offer you as a programmer, statistician or manager?

If you have ever had any of these questions about ODS, then this presentation is for you because it provides something for everyone at all levels. As a programmer, you can now create most any file types directly from SAS. In addition, the level of control and flexibility to format the output enables a higher degree of customization. As a statistician, you will want to take advantage of ODS for more efficient data analysis. The tools available in ODS facilitate multiple iterations of an analysis and ease of locating significant results. As a manager, you have various options to view and analyze your data and reports. Managers can access any SAS Procedure result or output as excel files for further review and understanding of the data with ODS's latest technology. This paper includes selected new features of SAS version 9.1.3.

Sunil is the Associate Director, Statistical Programming at Quintiles. Recently, he was honored as one of the top 100 notable people in the medical device industry for 2008. He is also the author of Quick Results with the Output Delivery System, Data Management and Reporting Made Easy with SAS Learning Edition 2.0, and Sharpening Your SAS Skills. Currently, Sunil is teaching his new popular class, Best Practices in SAS Statistical Programming for Regulatory Submission.


10:00
A Hands-on Tour Inside the World of PROC SQL®
Kirk P. Lafler, Software Intelligence Corporation
Paper HW06
Structured Query Language (PROC SQL) is a database language found in the Base SAS® software. It enables access to data stored in SAS data sets or tables using a powerful assortment of statements, clauses, options, functions, and other language features. This hands-on workshop presents core concepts of this powerful language as well as its many applications and is intended for SAS users who desire an overview of the capabilities of this exciting procedure. Attendees will explore the construction of simple SQL queries, ordering and grouping data, the application of case logic for data reclassification, the creation and use of views, and the construction of simple inner and outer joins.

Kirk Paul Lafler is consultant and founder of Software Intelligence Corporation and has been programming in SAS since 1979. Kirk provides IT consulting services and training to SAS users around the world. He has written four books including PROC SQL: Beyond the Basics Using SAS by SAS Institute, and more than two hundred papers and articles. Kirk has been an invited speaker and trainer at more than two hundred SAS User Group Conferences and meetings.


1:30
The Plot Thickens from Plot to GPlot
Wendi L. Wright, CTB McGraw-Hill
Paper HW08
Starting with an old SAS PLOT program, we will transfer this plot into PROC GPLOT and I will show you the many and varied ways you can improve the look of the plot using SAS GRAPH statements. We will make the plot really shine by customizing titles, footnotes, symbols, legends, axes and even the reference line. At each step, a hands-on example will be presented where the user will choose their own features such as symbol colors and placement of the legend. In the end, you will have built your own personalized graph using the Title, Footnote, Symbol, Legend, and Axis statements.

Wendi Wright is a Sr. Stat Analyst at CTB McGraw-Hill. She has been using SAS for 20 years and writes custom analysis and reporting programs. She loves to read and quilt in her spare time and has been a Big Sister to a little girl (not so little anymore) for the last 13 years.


3:15
Sensitivity Training for Building Better Bar Charts with SAS/GRAPH® Software
Perry Watts, Independent Consultant
Paper HW07
This workshop combines instructions for chart building with principles defined by the statistical graphics experts, Edward Tufte and William Cleveland. Step-by-step instructions are provided for building midpoint, group and sub-group charts that use the graphics principles to generate publication-quality output. Gratitude is extended to SAS Institute Inc. for granting permission to use the DEPT data set from The How-To Book for SAS/GRAPH® Soft-ware by Thomas Miron [4].

Besides learning the GCHART procedure, time is spent on looking at how the PATTERN, AXIS, FORMAT and LEGEND statements are incorporated into chart building. Instructions are also provided in the workshop for creat-ing a high-resolution graphics file and showing how it is transferred to PowerPoint for display.

Even if you have minimal experience with SAS/GRAPH software, you should come away from this presentation knowing how to create a polished bar chart with GCHART.

Perry Watts uses SAS software for information visualization and applications development. Her SAS Press book "Multiple Plot Displays: Simplified with Macros" was published in 2002. Recent areas of graphics inquiry include bar chart and histogram construction as well as axis generation in the data step. Perry has a Bachelor's Degree in Computer Science and a Master's Degree in Information Systems. She has been presenting papers at SAS User Group Meetings since 1990.

Tuesday - Ballroom 3
8:15
Get Your Hands Dirty Cleaning Your Data with SAS® Data Quality Server
Faron Kincheloe, Baylor University
Paper HW05
The SAS® Data Quality Server module brings the power of DataFlux® into the SAS platform. This can be extremely beneficial for those who are already using SAS to manipulate and cleanse data. During this hands-on workshop, attendees will use SAS® Data Quality Server to parse the elements of a name, identify duplicate names and addresses in dirty data, estimate gender, and standardize organization names. We will cover the syntax and parameters used for creating matches and standardization schemes. We will experiment with these parameters to show how they affect the data cleansing process. A real-world example will be presented to show the impact data quality has on decision making.

Faron Kincheloe is Assistant Director of the Office of Institutional Research and Testing at Baylor University where he has been using SAS for 10 years. Faron has a Master of Science in Information Systems degree from Baylor University. He is the system administrator for the University data warehouse. In that capacity he has worked extensively with data cleansing and has been jokingly referred to as the Dean of Dirty Data.


10:00
Tips and Tricks for Creating Multi-Sheet Microsoft Excel Workbooks the Easy Way with SAS®
Vince DelGobbo, SAS Institute
Paper HW01
Transferring SAS® data and analytical results between SAS and Microsoft Excel can be difficult, especially when SAS is not installed on a Windows platform. This talk discusses using the new XML support in Base SAS®9 software to create multi-sheet Microsoft Excel workbooks (versions 2002 and later). You will learn step-by-step techniques for quickly and easily creating attractive multi-sheet Excel workbooks that contain your SAS output. Tips and tricks with the Excel XP ODS tagset will be divulged. Most importantly, the techniques that are presented in this talk can be used regardless of the platform on which SAS software is installed. You can even use them on a mainframe! The use of SAS server technology is also discussed. Although the title is similar to previous papers, this talk contains new and revised material not previously presented by the author.

Vince DelGobbo is a Senior Systems Developer in the Web Tools group at SAS. This group is responsible for the SAS/IntrNet Application Dispatcher and SAS Stored Processes. He has worked on the HTML Formatting Tools, the SAS Design-Time Controls and the ExcelXP ODS tagset, and is developing new Web and server-based technologies, as well as integrating SAS output with Microsoft Office. Vince has been a SAS Software user since 1982, and joined SAS in 1992.


1:30
The DoW-Loop Unrolled
Paul M. Dorfman, Red Buffalo, Inc.
Paper HW02
The DOW-loop (Whitlock DO-loop) is a nested repetitive DATA step programming structure, intentionally organized in order to allow for programmatically and logically natural isolation of DO-loop instructions related to a certain break-event from actions performed before and after the loop, and without resorting to superfluous conditional statements. In its basic and most well known the DOW-loop is readily recognized by DO UNTIL (LAST.ID) construct, which naturally lends itself to control-break (BY-) processing of grouped data. However, is it significantly more morphologically diverse and generic. In this workshop, we aim to use the SAS DATA step debugger to interactively examine the internal logic of the DOW-loop and reveal its aesthetic beauty and immense pragmatic utility.

Paul started using SAS while pursuing a Ph.D. in computational plasma physics. Thereafter, he has worked as an Independent SAS Consultant in telops, banking, credit card, pharmaceuticals, and managed health care industries. When particularly idle, Paul delves into Data step implementations of high-performance algorithms. Over years, he has earned a number of honorable nicknames, such as “SasHole” from a group of COBOL bigots, “Most Valuable SAS-Ler” and “Hall-of-Famer” from SAS-L, and “Hash-Man” from SAS R&D.


3:15
SAS® Web Report Studio – Hands on Tutorial
Angela M. Hall, Zencos Consulting
Paper HW04
All steps necessary to create a report will be covered in the hands on workshop. First, attendees will be introduced to SAS Information Maps created from SAS Information Map Studio, which are the only data available to utilize within a report. New measures not currently existing within the SAS Information Map will then be created within a particular report. Report formats will be covered, including header and footer generation and layout. Attendees will also learn how to add graphs and tables as well as arrange them on the screen.
This class is geared to users with little to no SAS Web Report Studio experience.

Angela Hall has been programming in SAS since 1995. As a Senior Consultant at Zencos she is involved in implementing BI Solutions across an array of industries and sectors. She is the author of SAS BI-ogsource (http://sas-bi.blogspot.com) an acclaimed Blog for tips & tricks on SAS BI Software and also is Chair of the American Society of Quality Raleigh NC Section.


Pharmaceuticals, Health Care, and Life Sciences

Monday - Kings Garden Le Bateau
8:00
Talking Past Each Other? How to Communicate with Medical Writers When Preparing Clinical Research Manuscripts for Journal Submission
Scott C. Thompson, Medtronic
Stephanie R. Thompson, Rochester Institute of Technology
Paper PH11
Clinical research manuscripts are often a blend of qualitative prose and quantitative data. And, the people who help the author(s) prepare each section – introduction, methods and materials, results, and discussion – are typically from very different parts of the research organization and have different backgrounds. Speaking a common language makes the process easier. This paper will present some tips on how to improve communication between medical writers and SAS programmers, such as biostatisticians. Presented from both points of view, what does and doesn’t work will be discussed in a point, counter-point fashion.

Scott Thompson is a Principal Technical Writer for the Spinal and Biologics business unit of Medtronic, Inc. With over 17 years of professional writing and editing experience, Scott specializes in assisting authors with writing and editing biomedical research manuscripts for publication in peer-reviewed journals. He particularly enjoys assisting authors with strategic literature assessment and publications planning. Scott holds a Bachelor of Science degree in Technical Communication from the New Mexico Institute of Mining and Technology.

Stephanie Thompson is the Associate Director of Institutional Research and Assessment at Rochester Institute of Technology. She has over ten years experience in applying statistical and modeling techniques to solve business problems in various manufacturing, retail, and academic environments using SAS and other programming languages. Stephanie holds a B.S. in Industrial Engineering from RIT and an M.B.A. from St. Bonaventure University. She is a SAS Certified Base Programmer for SAS9.


8:30
Multiple Adverse Event Tables without Surgical Intervention
Adel Fahmy, United BioSource Corporation
Carol Matthews, United BioSource Corporation
Paper PH02
In clinical trials, one of the most important safety reports created is the set of Adverse Event (AE) tables. One of the most common types of tables includes counts of event occurrences and individual subjects by Body System and Preferred Term. While the basic statistics presented in this type of table is the same (counts and percents), those tables are being produced by different subsets. Most commonly these tables are produced Overall and then by Seriousness, Fatality, Severity, Relationship to study drug, Outcome, and Action taken.

We present here a set of consistent macros that create all of the tables mentioned above with minimum effort on the part of the programmer. Simply by calling these macros and providing the standard variable names for Subject ID, Body System, Preferred Term, and any other related fields for which tables are required, a programmer can produce tables that can be used for both production and validation purposes.

Adel Fahmy has been a SAS user for 20 years. He worked as Independent Consultant, Sr. Statistical Programmer and Associate Director of Systems; at major pharmaceutical companies, clinical research organizations, and universities, teaching SAS to faculty and students. His special achievements include Generic Macros, Edit Checks, Database Design, Menu-Driven Systems and Optimization Techniques. Adel has a BS in Mathematics, a Graduate Diploma in Systems Design, MS and M.Phil. in Computer Science from Nottingham University, UK.

Carol Matthews has been programming with SAS since 1990 and is currently the Senior Director of Clinical Programming for United BioSource Corporation, Biotechnology Solutions. Carol has been an adjunct faculty member in Philadelphia University s SAS Programming certification program since 1998, has presented audio conferences through FDA News, and has recently published a book through SAS Press with co-author Brian Shilling titled "Validating Clinical Trial Data Reporting with SAS".


9:00
Develop A Demographic Data Analysis Report System By SAS and Visual Basic
Richard Zhou, Johnson & Johnson Pharmaceutical Research & Development, L.L.C.
Paper PH14
This paper describes how to use SAS plus a little of Visual Basic software to develop an analysis report system, using clinical demographic data as the analysis data. The system consists of general statistical analysis processes, output reports which include three sections: (1) Statistic Summary (a text RTF file), (2) Analysis Graph (a HTM file with a hyperlink) and (3) Data List (an Excel file with multiple worksheets options). All process functions are integrated and located in one working window. The system tool is simple, efficient and powerful. Moreover, because this tool can be built into an executable file (.exe) , it is user-friendly even to those who do not have SAS experience.

Richard Zhou has been using SAS since 1990. He has many years of working experience with SAS in major pharmaceutical companies and a health care diagnostic company.


9:30
Analyzing Laboratory Assay Data for Accuracy
Sara Hickson, Channing Laboratory
Jeanne Sparrow, Channing Lab, Brigham and Women's Hospital
Paper PH05
The Nurses’ Health Study and Nurses’ Health Study II combined have biological samples from over 60,000 women, and are involved in dozens of current studies to identify potential biomarkers, such as hormone levels and genetic markers. We have developed a number of techniques in SAS for ensuring that the data is accurate and reproducible, and to check for the possibility of laboratory error. We will touch briefly on quality control samples and pilot studies, and the different sample types involved, and describe in more detail the methods used in SAS to evaluate the results. This paper will detail the techniques involved, and how they were developed.

There are 3 major components that this paper will consider: Evaluation of pilot studies from various labs, evaluation of embedded quality control samples, and the various kinds of different quality control samples utilized. This is targeted at a intermediate level.

Sara started teaching herself SAS in 1999 while working as a research assistant, looking at ways technology can aid patients with self-care. After attending several NESUG conferences and receiving an MPH, she moved to the Nurses’ Health Study at Brigham and Women's Hospital and Harvard University. As a Data Manager, she works with the blood labs and uses SAS to extract usable information from a gazillion flat files dating all the way back to 1976.

Jeanne Sparrow is the Sr. Data Manager for the Blood Collections of the Nurses Health Studies (NHS) at Brigham and Women's Hospital and Harvard School of Public Health. At NHS, SAS is used to manage much of the participant and study data. Jeanne and her colleagues depend on the versatility of SAS to handle "ugly" datasets, formatted and unformatted, acquired from a myriad of sources and accumulated over 30 years.


10:00
Clinical-Data Acceptance Testing Procedure
Sunil K. Gupta, Quintiles
Paper PH04
In the pharmaceutical industry, there is a regulatory responsibility to analyze only the clinical data that has passed data acceptance testing. Clinical data acceptance testing involves confirming the validity of critical data variables. These critical data variables might need to be non-missing, consist only of valid values, be within a range, or be consistent with other variables. If incorrect clinical data is analyzed, then invalid study conclusions can be drawn about the drug’s safety and efficacy. Proactive steps need to be taken to identify, isolate, and report these clinical data issues using a system that is flexible and easy to update. In addition, the system should facilitate good communication with the clinical data management department to help resolve data quality issues.

This paper reviews the significance of analyzing only clean clinical data and the methods to establish and implement clinical data acceptance testing with minimum SAS® expertise and maintenance. Because all clinical studies have common issues, the macros developed could easily be used to check data in other studies.

Sunil is the Associate Director, Statistical Programming at Quintiles. Recently, he was honored as one of the top 100 notable people in the medical device industry for 2008. He is also the author of Quick Results with the Output Delivery System, Data Management and Reporting Made Easy with SAS Learning Edition 2.0, and Sharpening Your SAS Skills. Currently, Sunil is teaching his new popular class, Best Practices in SAS Statistical Programming for Regulatory Submission.


11:00
Post Processing Macro in Clinical Data Reporting
Niraj J. Pandya, Independent Consultant
Paper PH08
Post Processing is the last step of generating listings and analysis reports of clinical data reporting in pharmaceutical industry and is the essential aspect of better presentable reports. In general these macros developed in SAS® software are very flexible for repeated use and can work with varying needs of report presentation. Post processor macros generally take care of different formatting, display, and other presentation attributes associated with the report. There are various methods to generate and invoke the post processor macros. This paper discusses such methods to create, and effectively use the post processor macros in variety of reporting needs. The approaches suggested here include usage of global macro variables by resolving such variables in the post processor macro and development of post processor macro based on the report presentation needs. The paper also talks about aspects like flexibility, user control, and effectiveness of the post processor macro usage. This paper concludes with further recommendations about development of effective post processor macros.

Niraj J. Pandya has worked as a SAS Programmer and Analyst for the last four years, concentrating on clinical data reporting. He holds a Masters degree in Mechanical Engineering, specializing in Pharmaceutical Manufacturing, Design and Production Management from Stevens Institute of Technology. His interests and expertise in the pharmaceutical industry and statistical analysis began during graduate studies and have resulted in a successful career in SAS programming, clinical trials analysis and data reporting.


1:30
Transitioning to SAS® Enterprise Guide®
Michael Todd, Nth Analytics
Paper PH12
What are pros and cons of implementing SAS Enterprise Guide on a department-wide basis? This paper discusses whether pharmaceutical companies can reduce development and validation costs with the power-assisted coding tools Enterprise Guide provides. Even though pharmaceutical companies have tremendous investments in traditional macro-based applications, this paper argues that the benefits of a validated code-generator like Enterprise Guide cannot be ignored. However, costs involving learning curve and technical process conversion have to be considered.

Mike Todd, M.A., M.S., is President of Nth Analytics, a Clinical Biometrics Services consulting firm. He has over 25 years of clinical trials experience with an extensive background in statistical analysis and clinical trial programming. As a recognized CDISC expert, he was an invited speaker at the last 3 CDISC Interchange conferences.


2:30
Better Tools for Visualizing the Voice of Your Process: New Developments in SAS/QC® Software in SAS® 9.2
Bucky Ransdell, SAS
Paper PH09
SAS/QC® provides a rich set of statistical and graphical methods for improving the quality of products, processes, and services. Methods are available for basic problem solving, design of experiments, statistical process control, process capability analysis, and reliability modeling. The first part of this presentation, intended for newcomers to SAS/QC, explains how these methods help you understand process variation in health care management, marketing campaigns, pharmaceutical manufacturing, and customer call centers.

The second part highlights new features in SAS® 9.2. The ADX interface for design and analysis of experiments has been enhanced significantly:
• The number of mixed-level designs available has been expanded to 25,115, making ADX even more useful for direct marketing applications.
• New facilities help you analyze data from informally planned experiments, which occur in many applications.
• New graphical methods aid the analysis of fitted models and are especially helpful for users with limited statistical training.

The ANOM, CAPABILITY, CUSUM, MACONTROL, PARETO, RELIABILITY, and SHEWHART procedures now produce graphs that conform to ODS styles, so that creating consistent output is easier. Also, you now have two alternative methods for producing graphs. With the traditional graphics system, you can control every detail of a graph through familiar procedure syntax. With ODS Graphics, experimental for SAS/QC in SAS 9.2, you can obtain the highest quality output with minimal syntax and full compatibility with graphics produced by SAS/STAT and SAS/ETS procedures.

Bucky Ransdell received his M.S. in Computer Science from UNC-Chapel Hill in 1985. He has been employed at SAS since 1995 in the Statistical Quality Improvement R&D department.


3:30
Panel Discussion on Healthcare Data Analysis
Judy Loren, Health Dialog Analytic Solutions
Paul Gorrell, Social & Scientific Systems, Inc.
Mark Sanderson, CIGNA
Christianna S. Williams, Abt Associates Inc.
Paper PH15
Join us for a wide-ranging discussion of topics in the broad subject area of healthcare data analysis. The purpose of the panel is to bring together those with interest in the analysis of healthcare data, and start some discussions among community members that can be continued both during and after the conference. The panelists will give brief overviews of selected topic areas, with an emphasis on providing resources for addressing programming and analytic issues frequently encountered with healthcare data. Audience participation is expected and encouraged. Panelists Paul Gorrell, Christianna Williams, and Mark Sanderson represent years of experience and formal training in healthcare. Topics to be addressed include: publicly available survey and sample data; quality measures; electronic health records; and issues with administrative claim data. Broaden and/or deepen your knowledge and understanding of healthcare data analytics by leveraging the expertise of this panel.

Judy Loren is a Senior Analyst at Health Dialog Analytic Solutions, which partners with insurance payers to improve member health and healthcare. Her current project involves designing and implementing measures of provider effectiveness and efficiency. An avowed SAS bigot, Judy is proud to follow in her grandmother's footsteps--the one who converted the State of Maine payroll to a computer-based system back when programming meant hard-wiring boards.

Paul Gorrell is a Project Manager at Social & Scientific Systems, Inc. He uses SAS primarily to analyze healthcare data, especially medical-expenditure data and measures of healthcare quality. He is a member of the DCSUG Steering Committee and the NESUG Executive Committee.

Mark Sanderson is a Project Manager with CIGNA Healthcare in the Employer Informatics Group. He received his PhD in Neuroscience from Brown University in 2002. Mark joined CIGNA in 2004 and has been using SAS for data management since 2005.

Christianna Williams is a Senior Associate with Abt Associates in the Health Policy Division. She received her PhD in Epidemiology from Yale University in 2002. Christianna has been using SAS for data management and statistical analysis in research since 1985. A member of the NESUG Executive Committee, she was conference co-chair for NESUG 2007 in Baltimore. She can’t decide which she prefers – writing SAS programs or teaching other people about SAS!


4:30
Strategies for self-documenting programs
Mark Friedman, Westat
Paper PH16
The presenter will walk through the concept of a macro-based system to make SAS programs self-documenting for purposes of runtime information, output and environmental control. The system also helps create several global macro values that can be used to reduce error and standardize information. The code will be briefly shown and explained, as will examples of the generated output. The presenter will also show several in-line code documentation concepts.

Mr. Friedman has 20 years of experience in the design, development, and management of large-scale automation projects. His background encompasses startup management, troubleshooting, systems conversion, strategic planning, technology assessment and implementation, health care economics, and data management.

Tuesday - Kings Garden Le Bateau
8:00
Just What the Doctor Ordered: Using SAS to Calculate Patient Drug Dose with Electronic Medical Record (EMR) Prescription Data
Kathy H. Fraeman, UnitedBiosource Corporation
Paper PH03
Electronic medical records (EMRs) are paperless digital versions of physicians’ paper charts. EMRs can contain a myriad of health care information – including details of physician drug prescriptions – and research efforts with EMR data often include determining patient drug treatment patterns and dose modifications. Unfortunately, electronic versions of physician prescriptions are often as varied and undecipherable as their paper counterparts. Elements in EMR drug prescription data include the often unstandardized text name of the drug, and inconsistently used numeric variables indicating the number of pills to be taken at one time, the number of times per day the pills should be taken, number of days the pills should be taken, and dosage amount per pill. Further, dosing instructions are often given as unstandardized Latin abbreviations, such as “BID,” “QD,” and “PRN.” Although there’s no “right way” to analyze such varied EMR drug prescription data, programming tips and techniques with Base SAS are presented that show ways to derive patient drug dose and treatment patterns with EMR data. Examples from a general practice EMR and an outpatient oncology EMR are used to illustrate the tips and techniques.

Kathy H. Fraeman, SM, is a Senior Data Analyst with the United BioSource Corporation. She has over twenty years experience in analytic SAS programming and data management for biomedical research studies; including pharmaceutical clinical trials, epidemiologic studies, survey research, and cost of treatment studies. Ms. Fraeman earned her master of science degree in Environmental Health Sciences from the Harvard School of Public Health, and a bachelor of science degree from MIT.


8:30
An Approach to CDISC SDTM Implementation for Clinical Trials Data
William Chen, Merck & Co., Inc.
Margaret M. Coughlin, Merck & Co., Inc.
Paper PH01
The Clinical Data Interchange Standards Consortium (CDISC) is a non-profit international organization established to define standard data formats to support the exchange of clinical data among and within organizations such as pharmaceutical and medical device companies, contract research organizations, universities, medical research institutions, and regulatory agencies. The CDISC Study Data Tabulation Model (SDTM) defines the standard format for tabulation data. Generally, there are two approaches for implementing SDTM within the pharmaceutical industry. One involves waiting until after extraction from a clinical database to create the SDTM data structure. The other approach is to build the entire clinical database to SDTM standards at the front end. This paper discusses the second approach to implementation of SDTM version 3.1.1 and explores the pros and cons of the current SDTM standard.

William Chen has been working in the pharmaceutical industry for over 25 years. He started using SAS in 1985. He currently works at Merck as a Sr. Scientific Programming Analyst.

Margaret leads of a team of scientific programmers responsible for clinical trials analysis and reporting at Merck. In her career at Merck she has worked on a large portfolio of projects that benefited from SAS software implementation. Currently she is involved with the implementation of industry CDISC standards. Margaret holds a BA in Economics from Notre Dame, a Masters in Management degree from Stevens and a Master of Public Health degree from University of Michigan.


9:00
An Animated Guide: the Logical cascade when entering Orres data
Russ M. Lavery, Self
Paper PH07
Many CDISC variables are related to each other and understanding those relationships helps both programming and
QC. This example-based paper concentrates on how changes in the circumstances/characteristics surrounding the
collection of the - -ORRES variable (original results) affects other variables in the domain. The CDISC
implementation guide gives rules and examples that focus on entering values into specific variables. The contribution
of this paper is the study of the relationships among variables.
Several characteristics of the - -ORRES variable start a logical cascade that affects how values are entered in other
variables. First, the value to be entered in - -ORRES can be on the CRF or calculated programmatically (derived).
Second, the value of interest, - -ORRES, is stored as character in the domain, but may be collected as character or
numeric. If the value is collected as numeric, it will need to be programmatically converted to character. Third, the
value of - -ORRES can be collected in standard units (SI), or in conventional/US units. Fourth, the measurement that
produces the - -ORRES value can be taken or not. Finally, the value collected can be in the range or out of range.
These characteristics lead to 32 (2 to the 5th) different states of nature that should be examined in studying the
- -ORRES variable and this paper will provide examples for those states of nature. This paper is first in a short series
of papers discussing relationships among CDISC variables.

Russ Lavery started learning SAS in 1985 and is still learning. He is a certified SAS programmer and works as a contractor, usually near his home in the Philadelphia PA area. He is a frequent, and award winning, presenter at SUGs. He is the creator of the “An Animated Guide” series of talks on SAS and statistical topics. He also teaches in the Clinical SAS Programming Certificate Program at Philadelphia University.


10:00
Using the SAS XML Mapper and ODS PDF to create a PDF representation of the define.xml (that can be printed)
Lex Jansen, Octagon Research Solutions, Inc.
Paper PH06
When submitting clinical study data in electronic format to the FDA, not only information from trials has to be submitted, but also information to help understand the data. Part of this information is a data definition file, which is the metadata describing the format and content of the submitted data sets. When submitting data in the CDISC SDTM format it is required to submit the data definition file in the Case Report Tabulation Data Definition Specification (define.xml) format as prepared by the CDISC define.xml team.
CDISC has made a basic style sheet available on their website to display the define.xml in a human readable form in a web browser. However, this style sheet is not suitable to generate a paper-based presentation of the define.xml.

This paper illustrates how the define.xml can be converted to Adobe's Portable Document Format (PDF) by using SAS/Base software, and also how the define.xml can be transformed into relational SAS data sets by using SAS XML Mapper technology. Once the data is available in SAS data sets it can be presented as a PDF file with the use of SAS ODS (Output Delivery System). This PDF file will include hyperlinks and bookmarks. This paper will use advanced ODS PDF techniques to accomplish this.

Lex Jansen is a Senior Consultant, Clinical Clinical Data Strategies at Octagon Research Solutions. He has over 16 years of experience in the pharmaceutical industry with excellent technical skills in SAS application development, systems integration and implementing CDISC. Lex maintains a website (www.lexjansen.com) that contains already more than 8000 links to papers that were presented at all major SAS User Group conferences (SAS Global Forum, PharmaSUG, NESUG, PhUSE, ...).


11:00
Understanding Why Physicians Choose A Certain Drug When Treating A Patient - What Product Attributes Matter Most
Marc States, Roger Green & Associates
Paper PH10
With all the different therapies available to treat a medical condition, doctors must evaluate how the different products perform on different treatment goals in order to select the appropriate therapy for a patient. This paper will discuss the collection and analysis of the treatment goal data. The data is collected on several treatment goals (attributes) for several different therapies (products). The data collected is for existing products as well as future entrants into the market. This is done to not only analyze the current market but to also predict changes in the market as new products are added to the existing market basket. In order to properly analyze the data, the entire process is done as repeated measures and is done using PROC GLM. This part of the program highlights which attributes are most important to a physician when selecting one drug over another drug. The program further compares the drug of interest to each drug as either winning, losing or tying. These comparisons are then used in a univariate analysis to determine which attributes are driving the use of that drug of interest. This analysis is accomplished using PROC FREQ with a Chi-Square Test and the end result provides the independent variables that can be used in a regression analysis to determine product value drivers. Using this analysis, you will be able to determine the attributes that drive physicians’ preference for a certain product when treating patients.

Marc joined RG&A early in 2005 and provides statistical expertise for RG&A’s methods and practices. Mr. States has a wealth of experience developing and executing complex statistical models for both the financial service and healthcare industries. He previously worked at Captital One, PNC and the University of Pittsburgh Medical Center (UPMC). Marc holds a Bachelor’s degree in mathematics and statistics from Penn State, and a Master’s degree in statistics from Indiana University of Pennsylvania.


Posters

Tuesday - Ballroom 2
10:30
Wow! You Did That Map with SAS/GRAPH®?
Robert Allison, SAS Institute Inc.
Louise S. Hadden, Abt Associates Inc.
Mike S. Zdeb, U@Albany School of Public Health
Paper PO01
SAS/GRAPH and ODS provide SAS programmers with tools to create customized, full color maps for a variety of uses. The production of useful, impressive looking maps using SAS/GRAPH is surprisingly easy, with the promise of greater ease in SAS 9.2. This paper walks through the creation of a number of different maps using SAS 9.1 and 9.2 and shows some exciting new choices and possibilities in SAS 9.2. Examples include: PROC MAPIMPORT (from shapefile to map data set); tidbits from SAS MAPSONLINE including SASHELP.ZIPCODE and WORLDCTS; new maps available in 9.2 (Cuba, Tasmania and others); %COLORGRADE and Colorbrewer (choosing map colors for data-driven mapping in 9.1, ODS styles in 9.2); improved "look and feel" in 9.2 (increase in default color list, true type fonts, better image clarity); distance calculations available in 9.1 and 9.2 (a macro in 9.1, GEODIST and ZIPCITYDISTANCE functions in 9.2); and last but certainly not least PROC GMAP+GCHART (bar chart overlays on a map with PDF in 9.1, transparent GIF in 9.2).

Robert works in R&D at SAS, and has a computer science background from North Carolina State University (NCSU), where he obtained his BS, MS, and PhD.

Louise Hadden has been using SAS since the earth was a primordial soup. She still has her original, single volume SAS manual, albeit worn to pieces. She is particularly interested in producing camera-ready and web-ready output directly from SAS, using ODS, BASE SAS, SAS/GRAPH and SAS/STAT.

Mike Zdeb is an assistant professor in the department of epidemiology and biostatistics at the University@Albany School of Public Health, and formerly a research scientist at the New York State Department of Health. He has been a SAS user for 20+ years and has presented papers and conducted workshops at a number of SUGI, NESUG, and local user group meetings. Mike is the author of "Maps Made Easy Using SAS", a publication of SAS Press.


Quartile Conundrum
Patricia Guldin, Merck & Co., Inc.
Liping Zhang, Merck & Co., Inc.
Paper PO03
Calculating quartiles is a common task that can be accomplished in multiple ways, but not all calculations return the same results for the same data. There are many definitions of a quartile as well as multiple descriptive terms (percentile, quartile). The challenge for a programmer is in determining which code to use. This paper will offer, to both new and seasoned programmers, the awareness that understanding what you are being asked to provide regarding quartiles is just as important as knowing how to provide it

Patricia Guldin is a Senior Statistical Programmer with Merck and Co., Inc. She completed a degree in Biomathematics from Hahnemann University in 1989 and began her career in the pharmaceutical industry. After dedicating several years to data management, Pat was given the opportunity to take a course in SAS programming. Since 2007, she has been using SAS for both data management and statistical analysis. This is Pat's first NESUG conference and her first paper.

Liping is currently working at Merck as a scientific programming manager. She has 15 years of SAS experience; 9 of them are in the pharmaceutical industry.


Time Series Analysis Using SAS - Part I - The Augmented Dickey Fuller (ADF) Test
Ismail E. Mohamed, L-3 Communications, Enterprise IT Solutions/US Dept of Housing
Paper PO05
The purpose of this poster is to present and describe a SAS programming technique to model time series data on a univariate series. The techniques developed in this poster is a simple approach specifically designed for one equation model that can be used in addition to the more complex and powerful standard SAS program routines such as PROC VARMAX and PROC ARIMA. The SAS techniques will exploit primarily the power of SAS DATA STEP, PROC X12, and REG procedure. The data step will use LAG, LEAD, and DIF functions to create set of variables including a variable-quarterly-returns, variables’ lagged and differenced products. The PROC X12 will be used for seasonality adjustment of time series data. Constructed variables will then be used in a simple REG procedure for the following subroutine: the Augmented Dickey Fuller (ADF) to test the ‘variable-quarterly-returns’ for stationarity and to test for a long-run relationship. Explanation of relevancy of each variable created in the data step to time series analysis will be fully discussed in the poster. As discussed in the Lucas critique (1976), the benefits of time series approach over regression analysis will also be briefly highlighted and explained

Dr. Mohamed is a Software Engineer 5 with L-3 Communications. He has over 18 years of technical expertise in software development, data analysis, and research. During his tenure with L3 Communications at the US Department of Housing & Urban Development (HUD), he has developed/supported customized applications using SAS under Mainframe, UNIX, and PC. He also leads the SAS Enterprise Business Intelligence implementation at the HUD. He is responsible for setup, configuration, and system administration.


Get into the Groove with %SYSFUNC: Generalizing SAS Macros with Conditionally Executed Code
Kathy H. Fraeman, UnitedBiosource Corporation
Paper PO06
%SYSFUNC was originally developed in SAS version 6.12 to allow the incorporation of SCL (SAS Component Language, formerly Screen Control Language) functions into the SAS macro programming environment. Among its many capabilities, %SYSFUNC can determine the existence of a SAS data set, count the number of its observations, and characterize the attributes of the data set’s variables. Using %SYSFUNC in a SAS macro can make the macro more flexible and general by allowing conditional execution of code based on the observed run-time characteristics of data sets and variables. %SYSFUNC can be used to conditionally execute SAS code in many types of macros, including those for data manipulation, statistical calculations, and report generation. A general data manipulation macro can use %SYSFUNC to automatically determine if the data’s “key” variable is character or numeric and then execute the appropriate version of code appropriate for the data type. A general statistical macro that generates an output dataset from a chi-square test can use %SYSFUNC make sure the output data set was created without error before proceeding with next analytic step. A general report macro can use %SYSFUNC to identify each report variable’s format to create a new text variable of each report variable’s formatted value, and can identify each report variable’s SAS label to identify the variable in the table.

Kathy H. Fraeman, SM, is a Senior Data Analyst with the United BioSource Corporation. She has over twenty years experience in analytic SAS programming and data management for biomedical research studies; including pharmaceutical clinical trials, epidemiologic studies, survey research, and cost of treatment studies. Ms. Fraeman earned her master of science degree in Environmental Health Sciences from the Harvard School of Public Health, and a bachelor of science degree from MIT.


Behind the Scenes with SAS(R)
Louise S. Hadden, Abt Associates Inc.
Paper PO07
SAS(R) provides many opportunities to add customized images to SAS ODS output. This presentation will demonstrate various ways to add custom backgrounds to tabular and graphic output; add custom images to titles, footnotes, ODS text fields and tabular output; and add custom "fills" to SAS/GRAPH maps and graphs. Some possible uses of custom images include a company logo embedded in SAS output, graphic displays of positive or negative outcomes, and watermarks containing "draft" or "confidential". The SAS code to accomplish all these potential uses, and more, will be shown.

Louise Hadden has been using SAS since the earth was a primordial soup. She still has her original, single volume SAS manual, albeit worn to pieces. She is particularly interested in producing camera-ready and web-ready output directly from SAS, using ODS, BASE SAS, SAS/GRAPH and SAS/STAT.


SAS Chaining Logic in One Step
Ginny Rego, Blue Cross Blue Shield of Massachusetts
Libing Shi, Blue Cross Blue Shield of MA
Paper PO08
ABSTRACT

When information on an event is stored in multiple rows finding not only the earliest start and the final end dates, but also the number and length of breaks that have occurred in the timeframe can pose many challenges. Health care data in particular contains many situations of this type. Some examples include enrollment data, hospital admission data and pharmacy data. In enrollment data, each month a member is enrolled in the plan may be represented by a separate row. In the case of admissions data, the initial inpatient stay may be in one row while the transfer or readmission to another hospital may be in another row. Lastly, this issue is also encountered in pharmacy data where each prescription a member fills for the same medication may be in separate rows.

In order to summarize this data without losing pertinent information the logic described below was developed to link together or “chain” related events stored in multiple rows. Using this logic we are able to summarize the total number of enrollment months, the total number of inpatient days or the total number of days a patient had a medication.

This paper examines how to use a chaining logic that can be completed in one data step. By using a RETAIN statement in conjunction with FIRST.var and LAST.var processing and DO loops, information that is stored in multiple rows can be chained together and summarized into one row.

Ginny Rego has held her present position as a Senior Health Data Analyst at Blue Cross Blue Shield of Massachusetts for the past 4 and a half years.

Libing Shi received her master degree in Statistics from University of Cincinnati. She has held her current position as a Senior Health Data Analyst at Blue Cross Blue Shield of Massachusetts for the past 3 and half years.


Regular Expressions: Finding and Replacing in the SAS Enhanced Editor
Russ M. Lavery, Self
Kenneth W. Borowiak, PPD, Inc.
Paper PO09
The sas 9 editor has the ability to use regular expressions in the find box and the Find and replace box (to see this functionality left click on the traingle between the Find text box and the find next box). This feature is realtively undocumented and this poster will talk about the features and oproblems that the author has encountered in using this feature.

Russ Lavery started learning SAS in 1985 and is still learning. He is a certified SAS programmer and works as a contractor, usually near his home in the Philadelphia PA area. He is a frequent, and award winning, presenter at SUGs. He is the creator of the “An Animated Guide” series of talks on SAS and statistical topics. He also teaches in the Clinical SAS Programming Certificate Program at Philadelphia University.

Ken Borowiak is currently a Programmer Analyst with PPD, providing programming support for clinical trials. He has previously worked in the health care insurance and institutional research fields. Ken recently served as Chair of GVSUG in Rochester, NY. He holds an M.A. in Economics, SAS Advanced Programmer Certification for V9, and was the recepient of the SASLROY award in 2006.


Printing Avery Sticky Labels with SAS and LaTeX
Adeline J. Wilcox, US Census Bureau
Paper PO10
SAS and LaTeX can be used together to print sticky labels when there are too many labels to print with a point-and-click application. File folder labels needed to be created to organize production of 2010 Census questionnaires and other printed materials to be used in our decennial census. Printed materials were listed in a column of an Excel spreadsheet. After exporting the worksheet to csv file format, I deleted unneeded rows with my favorite text editor, gvim. I read the csv file into SAS, then wrote it out to an ASCII file containing LaTeX markup codes. In the LaTeX users' literature on the Web, I found a paper with LaTeX code that I was able to modify for my purpose. The example code showed me how to read the ASCII file I wrote with SAS into LaTeX. Running my LaTeX program successfully, I output a PDF file that, routed to the laser printer, produced sticky labels.

Adeline Wilcox has been using SAS since Version 5.16. She earned her M.S. in biostatistics from the University of Cincinnati and has been working with our federal government's research, survey and administrative data ever since. Agencies for which she has worked include USEPA, VA, USDA and the US Census Bureau. Adeline prefers to run SAS on UNIX or Linux.


Generate a Customized Axis Scale with Uneven Intervals in SAS® - Automatically
Perry Watts, Independent Consultant
Paper PO11
The conventional order clause in the axis statement for SAS/GRAPH software is well-suited for scatter plots with continuous data or line plots where discrete data are evenly spaced apart. However, accommodating discrete ordinal data with uneven intervals requires a two-step approach. First, a hidden conventional axis with short intervals needs to be generated where ticks and labeling are turned off. Then the hidden axis is overlaid by the uneven scale that is plotted from ANNOTATE. With ANNOTATE there is no need to hard-code formats or label ticks in an axis statement. Instead, full automation can be achieved by combining ANNOTATE with a few macros.

A calling program, UnevenAxDemo.sas, is included in the paper. Also included are relevant graphics examples such as needle plots, box plots, uneven width histograms, and enhanced line plots that accommodate several class values. Associated macros and input data are stored separately on the NESUG CD.

Perry Watts uses SAS software for information visualization and applications development. Her SAS Press book "Multiple Plot Displays: Simplified with Macros" was published in 2002. Recent areas of graphics inquiry include bar chart and histogram construction as well as axis generation in the data step. Perry has a Bachelor's Degree in Computer Science and a Master's Degree in Information Systems. She has been presenting papers at SAS User Group Meetings since 1990.


Another Helping of HASH
Lee Dodoo, ims health
Stephen J. Rhoades, IMS
Paper PO12
There are some excellent papers on SAS© Hash Tables, but I needed something for training our staff. When I first heard of about hashing tables I was told everything had to be in memory. Since we often have files with millions of records I ruled them out. However this is not the case, only the hash tables need to be in memory, not the base file. They are supposed to be faster for Sorts, Merges and Summaries, other papers showed even more options. So are they faster? What about on all the platforms in our shop, z/OS, UNIX, PCs? Are there differences? And then the syntax is a bit intimidating.

These factors were added to the training along with lots of examples. This paper will boil it down to essentials and provide a list of other sources for how to use Hash Tables.

Lee Dodoo is a Senior SAS programmer with IMS HEALTH. Lee’s programming experience includes 15+ years working with SAS software of which the last 10 years has been in the pharmaceutical industry. Lee specializes in taking raw data and turning that into information and knowledge.

Years ago right after the abacus was displaced by the computer Stephen J. Rhoades started writing in Fortran and COBOL. He then switched to SAS in the 1980's and found it was a good living. It has remained that way and in return he has been busy writing a number of papers for NESUG. In addition, Steve enjoys travel, has become involved in local politics and is on the board of a non-profit nursing home.


Get your Census data for free.
Bryan Beatty, Highmark Inc
Paper PO14
The Census Bureau provides a nice user interface to retrieve data from the 2000 census. However, if you want to analyze the data at a granular level such as Census block or you want to look at many different fields then you might find it easier to pull the data from the Census Bureau’s ftp server. The Census Bureau provides all of their 2000 Census data free. This paper will show you how to get the zipped files from the Census Bureau’s ftp server, unzip the files, and read them into SAS datasets all in SAS code. The paper will then demonstrate how to use these files to retrieve the data you want at the appropriate geographic region.

Bryan Beatty is employed in the Advanced Analytics department for Highmark Inc. His primary duties include predictive modeling, forecasting, and geographic analysis. He received a BA in Economics from the University of Pittsburgh, an MA in Economics from the University of Akron, and an MS in Internet Information Systems from Robert Morris University. Bryan has been programming in SAS for about 12 years.


Methodologies for converting Excel Spreadsheets to SAS datasets
Karin LaPann, ViroPharma
Paper PO15
This poster explores various methods to convert .xls spreadsheets into SAS datasets. It begins with the conversion of .xls to .csv as the most simple method, then moves on to the new functionality of SAS V9. The presentation also discusses some of the common pitfalls encountered in converting Excel to SAS when the Excel sheet has been formatted in various ways.

Karin has been programming in SAS for over 20 years. She has prior experience in the academic research field, and is published in JAMA and the New England Journal of Medicine. Karin has been in the pharmaceutical industry for 7 years, including Sanofi-Synthelabo and AstraZeneca, and is currently a Clinical Programmer at ViroPharma in Exton, PA.


Building a Simple Document Server with SAS/IntrNet and Microsoft Word
John Ulicny, Temple University Hospital
Paper PO17
SAS/IntrNet is an established tool for enabling SAS applications to run and display output via the web. Typical applications almost always involve manipulating and/or displaying combinations of character and numeric SAS data. SAS/IntrNet software can also be used to provide the end user with the ability to enter data into a dataset through HTML forms and to download data from the server. This paper will illustrate another use – the display and management of a collection of word processing documents.

John Ulicny is a statistical programmer at the Fox Chase - Temple Bone Marrow Transplant Program in Philadelphia. He has over 20 years experience in programming and health care data management, using SAS for most of that time in both the clinical and the business settings. His interests include statistical analysis and web enablement of SAS applications. John has an MS in applied statistics and is a SAS certified programmer.


Merging Data Seven Different Ways
David Franklin, Self
Paper PO19
Merging data is one of the fundamental functions carried out when manipulating data to bring it into a form for either storage or analysis. The use of the MERGE statement inside a datastep is the most common way this task is done within the SAS language but there are others. This paper looks at the seven possible methods, including the use of the MERGE statement, for a one to one, or one to many merge, introducing the SAS code needed to combine the data. No one method is better than another but some pointers will be given on choosing a method for
your data.

David began programming back in 1981 and was introduced to SAS in 1985 when working in New Zealand. He moved to the UK in 1990 where he had the chance to enter the Pharmaceutical sector as a SAS Analyst Programmer and later left to establish his own consultancy company based in London, England. David is now based in New Hampshire where he continues to contract out to Pharmaceutical companies around North America and EU.


Better, Faster, and Cheaper SAS Software Lifecycle
Edmond Cheng, Bureau of Labor Statistics
Paper PO21
In designing software applications, the enduring process faces realistic business challenges to overcome the restricted time, limited resources, and quality constraint in engineering paradigm. Over emphasizing on share of the three engineering limitations upsets the balance of producing highest quality, shortest time, and lowest budg-et cost during product development lifecycle at the highest efficient mode.

By considering the following four design practices during your SAS® software lifecycle, it is possible to defy an approach to build SAS software thru maximizing limited constraints. The paper presents 1) functional techniques in expanding single-use program’s flexibility and maintainability, 2) practical guidelines to promote code library and reusability, 3) strategies and advantages of modular process design, and most importantly 4) connection of individual program components into user-driven application. After all, it makes possible for project managers and developers to promote a better, faster, and cheaper SAS programming software life cycle.

Edmond Cheng is a regular SAS user with the Bureau of Labor Statistics, specializing in industry employment, hours, and earnings data. His first exposure to SAS begins from study of econometrics at academia with statistics testing. At the present, his function includes maintaining and operating on a SAS driven production system to process employment survey data.


Butterflies, Heat Maps, and More: Explore the New Power of SAS/GRAPH
Susan Schwartz, SAS
Paper PO23
In SAS® 9.2, SAS/GRAPH® introduces the Graph Template Language (GTL) and the SG procedures. GTL, used to produce automated graphics in products such as SAS/STAT® and SAS/ETS®, can also be accessed directly and provides a comprehensive set of features for creating complex analytical graphs. The SG procedures provide an easy way to produce commonly used analytical graphs. This presentation will demonstrate how to use these new tools to create butterfly plots, heat maps, risk maps, stacked plots, and other unique charts. Sample code will be presented so you can start building your own library of new charts. You will learn how to create paneled plots to compare results across multiple classification variables and overlay multiple plots onto one chart.

Susan Schwartz has over 25 years of experience writing SAS Software. She worked in the pharmaceutical industry for many years in the clinical data management area. She joined SAS Institute in 2000 as a tester in the z/OS platform group. Most recently she has been testing SAS/GRAPH and Statistical Graphics.


ODS Graphics Editor
Sanjay Matange, SAS
Paper PO24
SAS/GRAPH® ODS Graphics Editor is an interactive GUI-based tool for editing and customization of plots created by the ODS Graphics system. With SAS® 9.2, many SAS analytical procedures automatically create graphical output. This video poster will demonstrate how you can edit and customize visual aspects of an output graph with this interactive tool. We will edit the title, add a footnote, reposition the legends, and change marker and line attributes. We will add free-form annotation to highlight the results in the plot. Finally, we will use the data label management facility to control the specific data labels that are shown in the plot.

Sanjay Matange is the Software Development Manager in the Data Visualization. His team is responsible for the Data Visualization tools used in analytical applications. ODS Template Graphics system is used in many SAS/STAT and SAS/ETS procedures to produce default graphics and is available to any SAS user to create high quality custom graphs. Silk Components are used in various analytical products and solutions such as Enterprise Miner, Marketing Automation, etc.


Programming Beyond the Basics

Monday - Ballroom 4
1:30
Things Dr Johnson Did Not Tell Me: An Introduction to SAS® Dictionary Tables
Peter Eberhardt, Fernwood Consulting Group Inc
Paper BB01
SAS maintains a wealth of information about the active SAS session, including information on libraries, tables, files and system options; this information is contained in the Dictionary Tables. Understanding and using these tables will help you build interactive and dynamic applications. Unfortunately, Dictionary Tables are often considered an ‘Advanced’ topic to SAS programmers. This paper will help novice and intermediate SAS programmers get started with their mastery of the Dictionary tables.

Peter is a long time SAS consultant and his company, Fernwood Consulting Group Inc., is a SAS Alliance Partner. From his local user group in Toronto and other local user groups across Canada and the Caribbean through to SAS Global Forum, Peter is a regular contributor. In 2008 Peter is the Academic Chair for the annual SESUG conference in St Pete Beach FL.


2:30
PRX Functions and Call Routines: There Is Hardly Anything Regular About Them
Kenneth W. Borowiak, PPD, Inc.
Paper BB11
The PRX functions and call routines are a family of powerful tools to work with text strings. Introduced in Version 9, the PRX functions give you access to the Perl-style regular expressions to match, validate, and replace patterns of text. While many of the traditional character string functions (INDEX, TRANWRD, COMPRESS, etc.) and the
LIKE operator can handle many of the trivial text matching and replacement tasks that come your way, the PRX functions shine in the face of the most complicated cases. Though regular expressions offer an immense amount pattern matching capabilities, this presentation will cover only the basics of PRX.

Ken Borowiak is currently a Programmer Analyst with PPD, providing programming support for clinical trials. He has previously worked in the health care insurance and institutional research fields. Ken recently served as Chair of GVSUG in Rochester, NY. He holds an M.A. in Economics, SAS Advanced Programmer Certification for V9, and was the recepient of the SASLROY award in 2006.


3:30
Using Array, Formats and Macros to Unbundle Medicaid Fraud
John Zheng, Data and Analytic Solutions
Gary McQuown, Data and Analytic Solutions
Paper BB08
Incorporating the use of macros, array and formats in a single process can be an extremely efficient and flexible solution to complex problems. Identifying unbundling fraud in medical data requires that potentially hundreds of claims for a recipient be compared to an extensive list of unacceptable claim code combinations under various conditions. Identified combinations represent activities that are improper billing and potentially fraudulent. While the task was initially performed in Proc SQL, the use of macro generated look up tables (formats) and dynamic arrays was significantly faster and more flexible.

John Zheng is an experienced SAS programmer/developer, and has performed data analysis with health care, financial and government administrative data. He holds a master degree in Statistic Science from George Mason University.

Gary McQuown is co-owner of Data and Analytic Solutions, Inc. of Northern Virginia: http://www.dasconsultants.com mcquown@dasconsultants.com. He provides business solutions and analysis for financial and health care firms and governmental agencies.


4:00
Effective Use of SQL in SAS Programming
Yi Zhao, Merck & Co. Inc.
Paper BB04
This paper covers the principles, methods, and tips of using SQL effectively in SAS programming. It also provides basic introduction to relational database, SQL terminology and syntax of proc sql. Four major areas of SQL usage in SAS programming are discussed. They include: 1. Access Relational Database; 2. Create Macro Variables Using the Into Clause; 3. Merge Tables; 4. Transform Data. Various programming tips are offered in each area to enhance the program efficiency and simplicity. Detailed code samples are provided to illustrate the concepts.

Yi Zhao has been a SAS programmer for 14 years. He started at Merck 7 years ago as a Clinical Systems Analyst developing clinical trial collectors, creating queries, listings and summary tables. He was also involved in database and web application development and accumulated intensive experience in relational database and SQL. Currently, he is a Sr. scientific programming analyst providing SAS programming support for drug studies.

Tuesday - Kings Garden Le Bateau
1:30
A Faster Index for sorted SAS® Datasets
Mark Keintz, Wharton Research Data Services
Paper BB10
Although the standard SAS® index can speed up data retrieval, it is sub-optimal for datasets sorted and grouped on the index variable. In such cases the SAS index wastes disk space by creating a pointer to every consecutive observation in a group. By creating a condensed index (a SAS dataset with pointers only to the first and last observations in each group), dramatic performance improvements are realized, while reducing storage requirements.

In a NESUG 2007 paper (BB06) with Shuguang Zhang, we showed significant performance gains for datasets in which each level of the sort variable(s) has many observations. This paper extends the condensed index in two ways: (1) further performance gains by selectively replacing direct access (i.e. POINT=) with sequential access (FIRSTOBS and LASTOBS), and (2) application to datasets in which each level of the sort variable has just one observation.

This presentation will demonstrate, with sample DATA steps, how to create and use a condensed index, and compare its performance to SAS indices, and to our previous results. Other advantages such as precise prediction of the number of retrieved records, and further disk saving possibilities, will be discussed.

We will conclude with a brief overview of when this technique should be considered.

This paper assumes the reader has an intermediate level of familiarity with the SAS DATA step. The use of the “point=” option of the SET statement will be briefly introduced and will be central to the paper. Some macro coding will be used as well.

Mark has been using SAS® since it was documented in a single book. His professional interests are in high-speed retrieval from large datasets, and research applications using financial, demographic, and health data.


2:30
User-Written DATA Step Functions
Jason Secosky, SAS Institute
Paper BB13
For years, users have asked for the ability to write functions in DATA step syntax. The day has come when this is possible. In SAS®9, the FCMP procedure provides the ability to write functions using DATA step syntax. In SAS® 9.2, these functions can be called from a DATA step. This paper explains how to write functions with PROC FCMP and
how these functions are invoked from a DATA step. It also contains caveats when calling PROC FCMP functions from a DATA step.

Jason Secosky is a Principal Software Developer at SAS and is responsible for extending and maintaining the DATA step language as well as the new multi-threaded TSPL Table Server language. He has been at SAS since 1997. Prior to working at SAS, Jason received a B.S. in Computer Engineering from the University of California, San Diego and a M.S. in Computer Science from the University of Washington.


3:30
Using ODS Object Oriented Features To Produce A Formatted Record Layout
Suzanne M. Dorinski, US Census Bureau
Paper BB02
This paper uses the Fiscal Year 2005 State Library Agencies Survey to demonstrate the usefulness of storing the survey metadata in an Excel spreadsheet. The metadata were originally stored in a Word document, and not easily available to the programmer. When the metadata are stored in a spreadsheet, we can read it with SAS® and have it available to produce the required database documentation. We can also produce the formatted record layout as RTF, which looks almost identical to the original Word document. To produce the formatted record layout, we use the new data _null_ ODS object oriented features experimentally available in SAS 9.1.3. We note that when changes are made to the metadata in the Excel spreadsheet, they easily flow to both the formatted record layout and the database documentation.

Suzanne is a mathematical statistician in the Economic Directorate at the U.S. Census Bureau. She has been using SAS for 18 years and her current interests include figuring out how to use enough ODS syntax to avoid manual editing in Word or Excel.


4:00
SAS Macros To Help Create Report Quality Tables in Word Documents
Brendan Bartley, Harvard University, Center for Biostatistics in AIDS Research (CBAR)
Heather Ribaudo, Harvard University, Center for Biostatistics in AIDS Research (CBAR)
Paper BB03
Abstract
This paper describes some macros to enhance RTF output for reports. The first macro allows the user to move tables within a document and have the table numbering change corresponding to their location in the document. It also sets up bookmarks for reference in a report. Another macro eliminates all but the first section breaks in a RTF document. The last macro gives a table its own style name so that its formatting does not change when the formatting of the text in the document changes.
SAS Product: Base SAS, Skill Level: Any, KeyWord: Macros, ODS, RTF, no_section, caption, bookmark, Wordstyle, Word field instructions, Word, \sect.

Brendan Bartley currently works as a programmer at the Center for Biostatistics in AIDS Research (CBAR) and has been using SAS for 7 years. His flexible work schedule allows him to watch several European soccer matches in the afternoons, especially The Champions League, The World Cup, and The European Championships.

Heather Ribaudo is a Senior Research Scientist at Harvard University, Center for Biostatistics in AIDS Research, with a PhD in Biostatistics from the University of London, England.


4:30
Cryptography, The Art of Disguising The Written Word
David Franklin, Self
Paper BB12
"Can we hide or encrypt that variable somehow so that it appears as complete gibberish?" That was the question
put to me on a Friday afternoon, which started the journey into what is known as Cryptography, the process of
converting information into unintelligible goblygook and then taking that text and converting it back into its original form. This paper takes a look at cryptography, introduces monoalphabetic, polyalphabetic and transposition
cyphers, and finally introduces key-based cypher that is considered to be the essential element in generating
modern cyphertext. Emphasis will be placed on encrypting a single variable within a dataset, rather than a whole
dataset as there are tools from SAS and third party software to do this task.

David began programming back in 1981 and was introduced to SAS in 1985 when working in New Zealand. He moved to the UK in 1990 where he had the chance to enter the Pharmaceutical sector as a SAS Analyst Programmer and later left to establish his own consultancy company based in London, England. David is now based in New Hampshire where he continues to contract out to Pharmaceutical companies around North America and EU.

Wednesday - Kings Garden Le Bateau
8:00
A Row is a Row is a Row, or is it? Get Comfortable with Transposing your Data
Christianna S. Williams, Abt Associates Inc.
Paper BB09
Sometimes life would be easier for the busy SAS programmer if information stored in multiple rows (observations) were all accessible in one observation, using additional columns (variables) to hold that data. Sometimes it makes more sense to turn a short, wide data set into a long, skinny one (i.e. convert columns into rows). Base SAS® provides us with two primary methods for converting rows (observations) into columns (variables) or vice versa – PROC TRANSPOSE and our trusty old friend the DATA step. How do these two methods work? Which is best suited to different transposition problems, such as situations requiring multi-row arithmetic or transposing multiple variables? The purpose of this example-packed tutorial is to demonstrate various types of transpositions using the DATA step and to demystify the TRANSPOSE procedure (e.g. nail the BY statement and the NAME= option once and for all). Afterwards, you should be the office go-to gal/guy for reshaping data. Sweet!

Christianna Williams is a Senior Associate with Abt Associates in the Health Policy Division. She received her PhD in Epidemiology from Yale University in 2002. Christianna has been using SAS for data management and statistical analysis in research since 1985. A member of the NESUG Executive Committee, she was conference co-chair for NESUG 2007 in Baltimore. She can’t decide which she prefers – writing SAS programs or teaching other people about SAS!


9:00
From Obscurity to Utility: ADDR, PEEK, POKE as DATA Step Programming Tools
Paul M. Dorfman, Red Buffalo, Inc.
Paper BB06
APP functions is an (unofficial) collective abbreviation for the SAS® functions ADDR, PEEK, PEEKC, the CALL POKE routine, and their so-called LONG 64-bit counterparts - SAS tools designed to directly read from and write to the physical memory in the Data step and SQL Procedure.

APP functions have long been a SAS user dark horse. Firstly, the examples of APP usage in SAS documentation boil down to a few tidbits in a technical report, all intended for system programming tasks, with no hint how the functions could be used in plain data management SAS programming. Secondly, the note about the CALL POKE routine in the SAS documentation is so intimidating in tone that many a folk may have decided to avoid the potentially precarious route altogether.

However, nothing can stand on the way of a curious SAS programmer daring to take a closer look; and it turns out that APP functions are very simple and useful tools! They can be used to explore how things “really work”, make code more concise, implement “en masse” (group) data moves, and, oftentimes, significantly improve execution efficiency. The authors have been exploring the APP world since 1998, occasionally letting the SAS-L community to peek at their findings. This tutorial is an attempt to the results in a systematic way. Welcome to the APP world! You are in for a few pleasant surprises.

Paul started using SAS while pursuing a Ph.D. in computational plasma physics. Thereafter, he has worked as an Independent SAS Consultant in telops, banking, credit card, pharmaceuticals, and managed health care industries. When particularly idle, Paul delves into Data step implementations of high-performance algorithms. Over years, he has earned a number of honorable nicknames, such as “SasHole” from a group of COBOL bigots, “Most Valuable SAS-Ler” and “Hall-of-Famer” from SAS-L, and “Hash-Man” from SAS R&D.


10:00
How Do I Love Hash Tables? Let Me Count the Ways!
Judy Loren, Health Dialog Analytic Solutions
Paper BB07
I love hash tables. You will, too, after you see what they can do. This paper will start with the classic 2 table join. Nothing new, you say? But this version does it in one step without sorting. And, it's the fastest method around. Next, you will see the use of hash tables to join multiple datasets on different keys in one pass, again with no sorting. How about unlimited recursive chained lookups (like when you need to update an ID through as many incarnations as it may have had)? Hash tables solve that one, too. And before you catch your breath, you'll see how to create n datasets from one (or more), where n is determined (at runtime) by the number of values encountered in a variable. No muss, no fuss. One step (well, OK, this one does require a prior sort) and you're done. We’ll wind up with an outer join, just to show that hash tables can do that, too. Take a look at what they can deliver, and you'll be counting the ways you love hash tables before the year is out.

Judy Loren is a Senior Analyst at Health Dialog Analytic Solutions, which partners with insurance payers to improve member health and healthcare. Her current project involves designing and implementing measures of provider effectiveness and efficiency. An avowed SAS bigot, Judy is proud to follow in her grandmother's footsteps--the one who converted the State of Maine payroll to a computer-based system back when programming meant hard-wiring boards.


11:00
Extending the Power of SAS with Java
Joseph Belice, Prudential
Kevin C. Harper, Matrix Consulting
Steven Schwartz, Prudential Financial
Paper BB05
Many complex problems cannot be solved using the SAS products licensed at your installation either due to budget limitations or to limitations of SAS itself. You may need a special graph not easily produced with GMAP or GANNO, you may have a special access problems such as reading Excel or Word documents on Unix, or computational problems such as numerical integration that can be programmed using the SAS Base Language (or IML), but are not easily supportable.

A good approach for addressing these problems is to bridge Java programs into SAS applications. Java, like SAS, is easily transported between platforms, and in addition, has many public open source libraries that will shorten development time.

SAS and Java are very compatible and can be easily integrated using the SAS Macro facility. Employing Java extensions will allow SAS programmers to address previously unsolved problems without additional software expenditures.

Joseph Belice is Systems Analyst and Development Specialist in the IIG Systems department at Prudential Financial. He graduated Cum Laude from Kean University where he earned a Bachelor of Science degree in Industrial Technology. He also attended Ocean County College where he earned an Associates in Applied Science degree in Electronic Engineering Technology.

Kevin Harper is currently a SAS/Java consultant at Prudential Financial. He holds PhD degrees in Mathematics and Computer Science from the University of Washington. He is a Computer World Laureate and ardent VRML developer.

Steve Schwartz is currently a Systems Manager in the MIS/Business Intelligence group at Prudential Financial ,Inc. He holds a BS degree in Mechanical Engineering from Rutgers University and an MBA degeree in Finance from Fairleigh Dickinson University. He also holds a CFP certification.


Statistics & Analysis

Monday - Rivers
8:00
An Introduction to the SAS® Survey Analysis PROCs
Xiuhua Chen, Social & Scientific Systems
Paul Gorrell, Social & Scientific Systems, Inc.
Paper SA06
In version 8 SAS® introduced new procedures for the analysis of complex surveys. This paper provides an introductory overview of the survey analysis PROCS: SURVEYFREQ, SURVEYMEANS, SURVEYLOGISTIC and SURVEYREG. For all procedures we will discuss the STRATA, CLUSTER and WEIGHT statements with respect to specifying the sample design and generating weighted estimates. We will also discuss the use of the DOMAIN statement in SURVEYMEANS and the importance of not deleting observations in order to analyze subpopulations, as well its use in analyzing data with missing values. Other PROC-specific statements will be discussed, e.g. RATIO in SURVEYMEANS and MODEL in SURVEYLOGISTIC. In addition we will briefly discuss the Taylor linearization method for variance estimation used by SAS and how SAS (by default) handles situations where there is only one cluster in a stratum. Concrete examples will be used (with SAS 9). This paper will be of interest to SAS programmers who need to analyze the results of complex (i.e. not simple, random,) surveys.

Xiuhua Chen is a Programmer Analyst at Social & Scientific Systems. She has been programming with SAS since 1993 and has extensive experience analyzing complex healthcare survey data.

Paul Gorrell is a Project Manager at Social & Scientific Systems, Inc. He uses SAS primarily to analyze healthcare data, especially medical-expenditure data and measures of healthcare quality. He is a member of the DCSUG Steering Committee and the NESUG Executive Committee.


9:00
Try, Try Again: Replication-Based Variance Estimation Methods for Survey Data Analysis in SAS® 9.2
Pushpal K. Mukhopadhyay, SAS
Paper SA18
Complex survey samples are constructed with selection schemes that affect the usual random assumptions, so SAS/STAT® software provides specialized procedures to analyze them: SURVEYMEANS, SURVEYFREQ, SURVEYREG, and SURVEYLOGISTIC for means, frequencies, regression, and logistic analysis. These procedures all use the Taylor series expansion method for variance estimation, which is usually considered to be the "gold standard" when it is practical to compute. However, replication methods are also widely used in practice for variance estimation. Replication methods, such as jackknifing and balanced repeated replication (BRR), replace complex algebra with simple repeated analysis. They enable you to analyze the data without the original sample design, protecting survey security, and they ease the task of estimating variances for nonlinear quantities.

With the release of SAS® 9.2, the SAS/STAT survey analysis procedures now also implement replication methods, including jackknifing, BRR, and user-supplied replication weights. This paper discusses replication methods, comparing them to Taylor expansion with respect to both technical characteristics and practical utility, and giving examples of where each would be appropriate. This paper also discusses other significant enhancements to the survey design and analysis procedures in SAS 9.2.

Pushpal Mukhopadhyay is a research statistician developer in the Linear Models R&D group at SAS Institute Inc. Pushpal received his Ph.D. degree in Statistics from Iowa State University and has been in SAS since 2006. He develops survey analysis procedures.


10:00
Fitting Generalized Additive Models with the GAM Procedure in SAS® 9.2
Weijie Cai, SAS
Paper SA05
Generalized additive models provide a very general approach for finding predictor-response relationships in many kinds of data without giving a specific model. They combine the ability to explore many nonparametric relationships simultaneously with the distributional flexibility of generalized linear models. The approach often brings to light invisible nonlinear dependency structures in your data. This paper discusses several examples of fitting generalized additive models with the GAM procedure, which provides multiple types of smoothers with automatic smoothing parameter selection. It also illustrates the use of ODS Statistical Graphics in PROC GAM, available with the SAS® 9.2 release, to produce integrated additive and smoothing component plots.

Weijie Cai is a Research Statistician Developer in the Advanced Regression Research Department at the SAS Institute. He received his PhD in computational statistics from George Mason University. He joined SAS in 2007 and currently develops software for nonparametric regression.

Tuesday - Kings Garden North
8:00
Surviving Survival Analysis – An Applied Introduction
Christianna S. Williams, Abt Associates Inc.
Paper SA20
By incorporating time-to-event information, survival analysis can be more powerful than simply examining whether or not an endpoint of interest occurs, and it has the added benefit of accounting for censoring, thus allowing inclusion of individuals who leave the study early. This tutorial-style presentation will go through the basics of survival analysis, starting with examining and comparing survival curves using PROC LIFETEST and leading into estimating Cox regression models using PROC PHREG. The evaluation of the proportional hazards assumption, methods of dealing with tied event times, and coding of time-dependent covariates will also be explained. The emphasis will be on application, not theory, but pitfalls the analyst must watch out for will be covered. Examples will be taken from real-world data from health research.

Christianna Williams is a Senior Associate with Abt Associates in the Health Policy Division. She received her PhD in Epidemiology from Yale University in 2002. Christianna has been using SAS for data management and statistical analysis in research since 1985. A member of the NESUG Executive Committee, she was conference co-chair for NESUG 2007 in Baltimore. She can’t decide which she prefers – writing SAS programs or teaching other people about SAS!


9:00
Analysis of Correlated Recurrent and Terminal Events Data in SAS
Li Lu, The EMMES Corporation
Chenwei Liu, SAIC-Frederick, Inc.
Paper SA16
Recurrent events data have been increasingly important in clinical studies. There are many methods to analyze this type of data. Several papers have been presented about how to perform repeated events analysis in SAS. In clinical studies, we may encounter recurrent disease episodes in patients with a terminal event such as death, and the terminal event is often strongly correlated with the recurrent event process. In this paper, using a simulated organ transplant dataset as example, we demonstrate how to model and analyze correlated recurrent and terminal events data in SAS.

Li Lu is a biostatistician at the EMMES Corporation. Currently, she works on a multi-center kidney transplant phase IV trial. Before joining EMMES, Li worked at Medstar Research Institute. As a statistician, she provided statistical consulting for clients on various clinical research projects. Li has an MS in Computer Science and an MS in Biostatistics.

Chenwei is a Biostatistician at SAIC, working for the NCI/FDA clinical proteomics program. He has been developing cancer biomarker discovery and validation tools using machine learning algorithms and statistical methods. A system he built includes Partial Least Square, Support Vector Machine and C5 decision tree. He also developed various mass spec data pre-processing programs using SAS and MatLab. Before join SAIC, Chenwei worked for SmithHanley Consulting Group on multi-center clinical trial projects.


9:30
SAS Program for Bivariate Growth Curve with Kalman Filter
Amy E. Begley, UPMC
Qianyu Dang, University of Pittsburgh
Patricia R. Houck, UPMC
Sati Mazumdar, University of Pittsburgh
Paper SA01
Amy Begley(1), Qianyu Dang(2), Patricia Houck(1) and Sati Mazumdar(1,2)

Longitudinal studies follow the same group of individuals over a period of time. Repeated measures on the same subject tend to be correlated. Correlations between any pair of observations from the same subject may remain constant or observations from the same subject that are closer together may have higher correlations than observations that are further apart. The longitudinal data may be unequally spaced due to a flexible study design or missing observations. Subjects are also generally observed for multiple outcome variables and the relationship between these outcomes can be of major interest.

A random effect model on bivariate outcomes using the Kalman filter with state space approach allows flexibility in choosing the within error correlation structure even in the presence of unequally spaced observations (Jones 1993; Dang 2004). The state-space approach avoids inverting large matrices resulting in efficient computation. In addition, this bivariate model allows the possibility of examining time-dependent cause and effect relationships among the outcome variables. We present SAS code to implement this technique in a psychiatric longitudinal study measuring depression and drug levels in an elderly unipolar depressed sample.

(1)Department of Psychiatry, School of Medicine, University of Pittsburgh
(2)Department of Biostatistics, Graduate School of Public Health, University of Pittsburgh

Supported by ACISR (P30-MH71944).

References:
Jones RH. Longitudinal Data with Serial Correlation: A State-Space Approach. Chapman & Hall; London, UK 1993.

Dang et al. Communications in Statistics: Theory and Methods 2005; 34:1821-1831.

Amy Begley is currently a Senior Statistical Coordinator in the Advanced Center for Intervention and Services Research for Late Life Mood Disorders at UPMC, University of Pittsburgh.

Dr. Dang obtained his PhD from the Biostatistics department of the Graduate School of Public Health, University of Pittsburgh. He is Assistant Professor of Biostatistics and School of Medicine.

Patricia R. Houck obtained her Masters in Biostatistics from Graduate School of Public Health, University of Pittsburgh. She is currently working in psychiatry research at UPMC (University of Pittsburgh Medical Center) mostly on clinical trials and sleep data with a strong interest in longitudinal data analyses and missing data issues.

Dr. Mazumdar is a Professor of Biostatistics and Psychiatry at the University of Pittsburgh. She is PI of a Statistics in Psychiatry Training Grant from NIMH.


10:00
Early Detection of Epidemic Outbreaks and Financial Bubbles Using Autoregressive Models with Structural Changes
Ernest S. Shtatland, eStatConsulting
Timur Shtatland, eStatConsulting
Paper SA19
This paper is a further development of our previous work presented at SUGI 2006, NESUG 2007 and SGF 2008. Our basic model is AR(1) (first-order autoregression). This model emerges as a natural approximation of a classic susceptible-infectious-recovered (SIR) model. It inherits first principles of SIR models and can be used in both epidemiological and financial applications for early detection of epidemics and financial bubbles. We consider epidemic outbreaks or financial bubbles as structural changes in the autoregressive coefficient in AR(1) models. We propose two methods of estimation of the autoregressive parameter: least-squares and median-ratio based methods, discuss the questions of bias correction and confidence intervals construction. The value of our first-order autoregressive coefficient less than one corresponds to a stationary, no-epidemic/no-bubble regime. If the parameter is greater than one, we have an explosive case (outbreak of epidemic or bubble). When the coefficient is equal to one, we have a unit root case. Under some conditions, least-squares estimates and confidence intervals, based on the observed data in a chosen time window, allow us to decide which case is more appropriate. We propose two alternative strategies for early detection of structural changes. In both strategies we use some generalizations of the Fisher’s F-test: so-called supremum F-tests (essentially equivalent to supremum Likelihood-Ratio tests), and end-of-sample breakpoint S-tests. These tests can be used in rather general situations and usually have a better power performance. Also we provide simulation results.

The intended audience: SAS users of all levels who work with SAS/STAT® and SAS/ETS®.

Ernest Shtatland has a PhD in Mathematical Statistics, and he has presented papers at NESUG, SUGI and SGF conferences. His research interests include: R-Square measures of fit in logistic regression; Automatic model selection in logistic regression with many predictors; Autoregressive modeling in biosurveillance, economic and financial time series, and geophysics.




10:30
Time Series Analysis with SAS® and R
Samuel T. Croker, Independent Consultant
Paper SA07
When you need to analyze time series data but all you have is Base SAS® then you are faced with the decision to conduct the analysis outside of SAS. This usually requires you to break the workflow into several different steps, which increases the work and potential for errors. One attractive solution is to use SAS for all data preparation and reporting while using R to conduct the analysis and data visualization. R is open source statistical computing and graphics software available for Windows, UNIX/LINUX and Mac OS X. The key to the simplicity of this technique is that all of the programming can be done within a SAS program. This technique should please both SAS and R enthusiasts and can be extended well beyond the boundaries of time series analysis.

Sam Croker has been a SAS(r) user for over 10 years. He has a Master of Science degree in Statistics from The University of South Carolina and is a SAS Certified Advanced Programmer. He has presented papers at SAS Global Forum, NESUG and SESUG conferences. His work and research is focused on time series analysis and forecasting but also includes application development.


11:00
Optimizations in Marketing Mix Modeling
Patralekha Bhattacharya, Thinkalytics
Paper SA03
Practitioners in the media industry are frequently faced with the problem of diverting limited resources among several alternative channels. The paper looks at this problem of optimal allocation of limited resources to maximize an objective function within the context of media mix modeling. If the objective function is linear or convex these problems can be easily solved by applying standard methods of linear or geometric programming. However, in the media world, non linear relationships between sales and media variables and advertising carry over effects can lead to non convex objective functions that make matters more complicated.
In this paper, we develop an alternative solution using an algorithm (which we deploy with the help of a SAS macro) that can be used to obtain a “close to” global solution for the optimal media mix. The algorithm uses an iteration method to obtain the value of the objective function for all potential allocations. The allocation that maximizes the objective function can then be chosen as the most favorable media mix. Since the method works with the transformed variables, non linear transformations and complicated carryover effects can be incorporated within this structure. This allows for a more realistic estimation of media impacts.

Patralekha Bhattacharya is the founder and CEO of Thinkalytics, an analytics and training firm located in New Jersey. A Yale alumni, her experience covers several Fortune 500 corporations, market research agencies and non profit organizations. At Thinkalytics, she uses her expertise to provide analytics solutions for small businesses and non profit organizations. Her specializations are linear and logistic regression analysis, forecasting, marketing mix modeling, segmentation and cluster analysis and survey research techniques.


1:30
PROC LOGISTIC: Traps for the unwary
Peter L. Flom, BrainScope, Inc.
Paper SA09
Of the commonly used statistical PROCS, LOGISTIC has, probably, the greatest potential for 'gotchas' - that is, errors that do not give warnings or errors in the LOG, and may not even give notes, but which, nonetheless, give unexpected, unintuitive, or confusing results.

This paper will cover some of these, including:
1. The odd behavior that often requires the DESCENDING option
2. The default choice of effect coding for CLASS variables
3. Quasi-complete and complete separation
4. Confusion about the output "percent concordant" and "percent discordant"
5. Problems with interactions
6. Confusion about the LACKFIT option and what it does.
and others as time and space permit.

Peter Flom is a statistician at BrainScope, Inc in New York City and a private consultant. He earned his PhD in Psychometrics from Fordham University in 1999.


2:30
Proc Logistic Plus: The Power Of Variable Transformations
Krishna Mehta, Inductis
Nitin K. Jain, Inductis
Varun Aggarwal, Inductis (India) Private Limited
Paper SA17
Logistic Regressions are used to drive analytics for a wide range of industry applications. In almost all of these applications, the focus of the analysis is to identify a list of targets with the highest possible accuracy. These targets could be prospects a business wants to acquire, or existing customers who are likely to respond to a promotion, attrite or default on a payment.

Due to its focus on creating rank ordered list of customers or prospects, predictive accuracy (lift) is the one of key metrics to compare, when evaluating the quality of a logistic model. While logistic regression can be implemented by various procedures in SAS, PROC LOGISTIC is probably the most commonly used. Its popularity stems from the fact that it allows the practitioner to develop high quality models fairly easily.

In this paper we illustrate an approach where we improve the predictive capability of PROC LOGISTIC, by combining it with some very creative variable transformation and interaction techniques. These techniques range from simple bivariate profiling to more complex techniques involving classification trees and genetic algorithms. By applying these techniques, we have been able to improve the lift of a model by a few hundred basis points.

Krishna Mehta is the Director of Methodology at Inductis. Krishna has worked on several research projects and presented them at top industry conferences and published them in leading industry journals. Krishna has over 10 years experience working with SAS products. Krishna’s areas of expertise include modeling customer acquisition, fraud, retention analytics, segmentation, Time Series Analytics and Design of Experiments. Krishna’s educational training is in Economics and Marketing Research with a Graduate Degree from Yale.

Nitin is an engineering graduate with 3 years of rich and diverse experience in data analytics and predictive modeling. He has good knowledge of various analytics tools and packages. He has been a part of different research initiatives in analytics for the past 2 years.

Varun Aggarwal is an Analyst at Inductis. As part of the consulting team, he works on client deliverables and as part of the methodology team, he works on statistical tool development processes. Varun’s areas of specialization include Econometrics and Statistics. He has worked on an intensive modeling project for one of the leading credit-card companies. He holds a Master’s Degree in Economics from Delhi School of Economics and a Bachelor’s Degree from University of Delhi.


3:00
Dummy Variables and the Relationship of Deaf and Hearing Growth Using SAS/GRAPH
Rich Dirmyer, Scannell & Kurz, Inc.
Sara Schley, NTID
Paper SA08
Historically, deaf education in the United States has achieved poor results. An oft-quoted statistic is that on average, deaf students graduating from high school (at age 18-21) perform at the level of hearing 8-10 year olds in terms of reading and writing skills (Allen, 1994; Traxler, 2000). In this research, deaf children and their hearing siblings from a longitudinal database are tracked during their elementary and secondary school years. This presentation will focus on graphic displays of the longitudinal data, focusing on presenting individual data points and sub-group regression lines on a single graph (here, one regression line for the deaf sample, and one for the hearing siblings), tracking their school progress from K-12. These displays inform statistical data analysis. Detailed examples of code will be shared, as well as insights into the value of combining graphic displays with data analysis.

Rich most recently graduated from the Rochester Institute of Technology, finishing a dual BS/MS degree in Applied Statistics. He also works full time as a Statistical Programmer/Analyst for Scannell & Kurz, Inc. which is an enrollment management consulting firm based out of Pittsford, NY. The paper submitted directly relates to research that Rich has been a part of regarding the relationship between deaf and hearing children.

Dr. Sara Schley is currently a Senior Senior Institutional Researcher in at the National Technical Institute for the Deaf, at the Rochester Institute of Technology. She holds an Ed.D degree in Human Development from the the Harvard University Graduate School of Education.


3:30
SAS Macro for Calculating Sample Size and Power on GLM Models with Correlated Binary Outcomes
Qianyu Dang, University of Pittsburgh
Patricia R. Houck, UPMC
Sati Mazumdar, University of Pittsburgh
Paper SA12
Patricia R. Houck, MSH(1), Qianyu Dang, PhD(2,3), Sati Mazumdar, PhD(1,3)

SAS PROC GLIMMIX has become a popular procedure to run generalized linear mixed models. One of the most useful applications is for binary outcomes in longitudinal studies. Dang et al has derived formulas for power and sample size calculations for longitudinal designs with attrition over time. These estimates depend on the within-subject correlations and the size of random effects. SAS macros have been created to calculate sample size (glimmixsamplesize) and power (glimmixpower). An application on a late-life study will be demonstrated.

Dang Q, Mazumdar S, Houck PR. Sample size and power calculations based on generalized linear mixed models with correlated binary outcomes. Computer Methods and Programs in Biomedicine, in press.

This work supported in part by the Intervention Research Center and Advanced Center for Intervention and Services Research for Late Life Mood Disorders (P30-MH71944).

(1)Department of Psychiatry, University of Pittsburgh
(2)Department of Medicine, University of Pittsburgh
(3)Department of Biostatistics, University of Pittsburgh

Dr. Dang obtained his PhD from the Biostatistics department of the Graduate School of Public Health, University of Pittsburgh. He is Assistant Professor of Biostatistics and School of Medicine.

Patricia R. Houck obtained her Masters in Biostatistics from Graduate School of Public Health, University of Pittsburgh. She is currently working in psychiatry research at UPMC (University of Pittsburgh Medical Center) mostly on clinical trials and sleep data with a strong interest in longitudinal data analyses and missing data issues.

Dr. Mazumdar is a Professor of Biostatistics and Psychiatry at the University of Pittsburgh. She is PI of a Statistics in Psychiatry Training Grant from NIMH.


4:00
Breakthrough Improvements through Reliable Modern Testing using SAS and JMP
Sunil Gupta, Thinktodo, LLC
Paper SA11
Conducting experiments that put competing alternatives to test (A/B testing) has long been a best practice for fact-based decision making by leading direct marketers. Now, with the growth of online merchandising and the availability of free online tools such as the Google Website Optimizer, the number of companies that can do statistical testing, the number of alternatives they can test simultaneously, and the frequency with which they can monitor interim results has multiplied greatly.

SAS software – from Base to Stat to QC, from ADX to PSS, and from IML to JMP – can play very important roles in improving and simplifying the design, monitoring, and evaluation of experiments.


Using examples from various online tests – conducted with and without Google’s Website Optimizer – this paper shows just how all of SAS’ s offerings should be used to get the best results. SAS and JMP code along with relevant Excel worksheets will be provided.

Sunil provides consulting services, concentrating on the strategic integration of interactive, analytical and database management services. He has helped a global insurance company launch and build predictive analytics capabilities in various European and Asian countries, developed segmentation schemes based on transactional data for online services, and helped many companies use testing and multivariate experimentation. Sunil, serves as an instructor for the DSA/DMA’s Essential of Modeling seminar, and on the Journal of Interactive Marketing’s Editorial Board.