HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

MWSUG 2015 Papers - Index

92 papers. Source: MWSUG (Midwest SAS Users Group) conference proceedings.

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 %SYSFUNC Is Your Friend Kaushal Chaudhary,
Deanna Naomi Schreiber-Gregory
SAS DATA STEP has a number of functions but macro functions are meager in macro language. %SYSFUNC allows the use of almost all DATA STEP and user written functions in macro environment, thus bridging the gap between SAS DATA STEP and macro language. This adds a lot of flexibility for SAS programmers to write programs in SAS macro. In this paper we will introduce %SYSFUNC and present several examples of the uses of it macro function, macro facility, macro variable, macro definition, macro put 6
2 'V' for ... Variable Information Functions to the Rescue Richann J. Watson,
Karl Miller
There are times when we need to use the attributes of a variable within a data set. Normally, this can be done with a simple CONTENTS procedure. The information can be viewed prior to programming and then hardcoded within the program or it can be saved to a data set that can be joined back to the main data set. If the attributes are hardcoded then what happens if the data set changes structure, then the program would need to be updated accordingly. If the information from PROC CONTENTS is saved and then joined with the main data set, then this would need to be done for all data sets that need to be processed. This is where knowing your 'V' functions can come in handy. The 'V' functions can be used to return the label, format, length, name, type and/or value of a variable or a string within the DATA STEP. These functions can come quite in handy when you need to create summary statistics and if you need to perform an algorithm on a variable with a specific naming convention proc means, macro variable, proc step, numeric variable, character variable, proc sql, baseline characteristics, data step, label statement, sample, proc contents 16
3 A Macro for Systematic Treatment of Special Values in Weight of Evidence Variable Transformation Chaoxian Cai Weight of evidence (WOE) recoding is a commonly applied technique in credit sco ring model development to transform continuous predictor variables. Many predictor variables often come with some special values which are set beyond their normal ranges to annotate particular business meanings. PROC RANK and PROC UNIVARIATE are used to rank and group an input data into WOE bins for predictor variables. Special values are usually being placed at the last bucket after binning procedures. There is a possibility of losing valuable information and predictive power from these special values if w e do not separate them into di screte bins. This paper present s a macro that can systematically separate every special value from their normal values and compute the associated WOE for each special value. The macro can handle hundreds of predictor variables in large scale predictor variable, proc step, missing value, sample weight, sample, proc rank, logistic distribution, logistic regression, bivariate analysis, proc univariate, excel, regression analysis, interval variable, macro function, credit scoring, lookup, data transformation, proc sql, sas base, macro definition 9
4 A Macro to Easily Generate an interactive Google Map Report Ting Sa In this paper, a SAS macro is introduced to generate an interactive Google Map report. Using this macro, you can mark, or "drop a pin" on any location on a Google map by longitude and latitude coordinates. This paper also provides several ways you can find the longitude and latitude coordinates. Once a location is marked on the map, users can further use the mouse to hover over, or click the "pin" icon to display a pop out dialogue box with additional information about that location. The information shown in the dialogue box can be any multimedia information, such as plain text, images, videos, URL, email links, etc. The report generated by this macro retains all the functionalities of the Google map, allowing you to zoom in, zoom out, or move the map in the report, show the map in satellite mode, etc. The macro also has capability for you to display different styles of pin icons on the map macro loop, macro definition, %if-%then-%else, proc step 10
5 A Property & Casualty Insurance Predictive Modeling Process in SAS Mei Najim Predictive analytics has been developing in property & casualty insurance companies in the past two decades. Although the statistical foundations of predictive analytics have large overlaps, the business objectives, data availability, and regulations are different across property & casualty insurance, life insurance, banking, pharmaceutical, and genetics industries, etc. A property & casualty insurance predictive modeling process with large data sets will be introduced including data acquisition, data preparation, variable creation, variable selection, model building (a.k.a.: model fitting), model validation, and model testing. Variable selection and model validation stages will be introduced in more detail. Some successful models in the insurance companies will be introduced. Base SAS, SAS Enterprise Guide, and SAS Enterprise Miner are presented as the main tools for this process data mining, data cleaning, feature selection, response variable, proc hpsplit, model validation, regression analysis, casualty insurance, logistic regression, neural network, sas enterprise guide, proc step, sas base, univariate analysis, significance level, logistic distribution, insurer, predictive analytics, stepwise selection, proc genmod, data transformation, incurred loss, model training, model testing, validation set, feature engineering, correlation 14
6 A Simple Adjustment for Selection Bias Through Use of Propensity Scoring Deanna Naomi Schreiber-Gregory Observational studies are vital to the exploration of health outcomes research. They allow researchers to estimate the effect of a treatment or behavior on a specific health outcome. This is something we would not be able to through an experimental procedure due to risk and ethical concerns . One concern of observational studies, however, is the fact that we cannot randomize participant placement into the treatment groups. This can result in the unwanted inclusion of a selection bias. One quick and easy way to adjust for a selection bias is through the utilization of a propensity score analysis through regression adjustment. In order to demonstrate how to do this, this presentation will seek to answer the question of how patients with a substance abuse/dependent diagnosis compare to the rest of the patient population in terms of status upon discharge propensity score, odds ratio, sample, sas studio, logistic regression, regression analysis, logistic distribution, population, response variable 24
7 Advanced Techniques for Fitting Mixed Models Using SAS/STAT Software Jill Tao,
Kathleen Kiernan,
Phil Gibbs
Fitting mixed models to complicated data, such as data that include multiple sources of variation, can be a daunting task. SAS/STAT software offers several procedures and approaches for fitting mixed models. This paper provides guidance on how to overcome obstacles that commonly occur when you fit mixed models using the MIXED and GLIMMIX procedures. Examples are used to showcase PROCEDURE OPTIONS and programming techniques that can help you overcome difficult data and modeling situations proc step, proc mixed, proc glimmix, proc plm, covariance, fixed effects, covariance structure, repeated measures, correlation, degrees of freedom, confidence interval 18
8 An Autoexec Companion, Allocating Location Names during Startup Ronald J. Fehd macro put, macro variable, global symbol table, symbol table, options statement, in= option, macro function, proc sql 15
9 Are You Missing Out? Working with Missing Values to Make the Most of What is not There Arthur L. Carpenter Everyone uses and works with missing values, however many SAS programmers are unaware of the variety of tools, options, and techniques associated with using missing values. Did you know that there are 28 types of numeric missing values? Did you know tha t the numeric missing value (.) is neither the smallest or largest possible numeric missing value? Are you aware of the System options, DATA STEP functions, and DATA STEP routines that specifically deal with missing values? Do you understand how the macr o null value is the same, and different from DATA STEP missing values? Are you aware that observations with missing classification variables may or may not be excluded from analyses depending on the procedure and various options? This paper explores various aspects of the world of missing values. The above questions and others are discussed. Learn more about missing values and make sure that you are not missing out missing value, proc step, options statement, macro variable, by group processing, update statement, %if-%then-%else, macro loop, macro facility, proc print, proc report, transaction data, macro quoting function, proc freq 12
10 Automated LSTtoRTFtoPDF Converter Palanisamy Mohan In pharmaceutical industry the reports are usually created in LST, RTF or PDF file formats using SAS either to meet FDA requirements or the client's. These reports files are created using the concept of ODS in SAS. These files are often required to be converted either from LST to RTF, RTF to PDF or LST to PDF for many reasons. To convert the files one has to manually open the file and save it in a required format, may use SAS or any third party software. Manual conversion becomes very tedious, time consuming and error prone when the number of files to be converted are more.There are plenty of papers that talks about the file conversion methods using SAS & VBA combinations which required certain level of knowledge on both SAS & VBA. In addition to that, one has to spend time in creating SAS and VBA programs as per the instructions explained in those papers excel, macro definition 2
11 Base SAS Sentiment Analysis Using Catchprases Mike D. Tangedal The social media revolution has increased the level of opinion-based free-form text available for processing. The first consideration when tackling this text for means of sentiment analysis is first noting what constitutes a valid entry. Base SAS is quite adept at parsing text into individual words via help through Perl functions. Matching these individual words and word stems to credible lookup tables noting parts of speech and happiness rating is now simpler due to emphasis on text mining in the analytics community. Noting the percentage of types of words such as adjectives within text entries provides insight just as noting the percentage of positive or negative words based on the happiness rating. Sarcasm is a difficult challenge that can be mitigated somewhat though notation of affection and negation words. The final key to this method of sentiment analysis is through the building of emotionally charged multi word catchphrases raw data, lookup, proc freq, array 9
12 Basic SAS PROCedures for Quick Results Kirk Paul Lafler As IT professionals, saving time is critical. Delivering timely and quality looking reports and information to management, end users, and customers is essential. The SAS System provides numerous "canned" PROCedures for generating quick results to take care of these needs ... and more. Attendees learn how basic SAS PROCedures such as PRINT and FORMS produce detail output; CHART, FREQ, MEANS, PLOT, SQL, and UNIVARIATE summarize and create graphical, tabular, and statistical output; and utility PROCedures to manage data libraries; Additional topics include techniques for informing the SAS System which data set to use as input to a procedure, how to subset data using a WHERE statement (or WHERE= data set option), and how to perform BY- group processing proc step, proc means, numeric variable, proc sort, libname statement, proc freq, proc univariate 19
13 Beyond a One-Stoplight Town: A Base SAS Solution to Preventing Data Access Collisions through the Detection, Deployment, Monitoring, and Optimization of Shared and Exclusive File Locks Troy Martin Hughes The LOCKITDOWN SAS macro, introduced at WUSS in 2014, both detects and prevents data access collisions that occur when two or more SAS processes or users simultaneously attempt to access the same SAS data set. With the implementation of LOCKITDOWN, code reliability and robustness can be greatly improved through the elimination of this common source of process failure. And, as processes patiently wait for each other and play nicely without developer intervention or supervision, code autonomy and automation can be achieved. This autonomy, however, can hide inefficiencies that are created when processes continually vie for data set access and are forced to wait for each other repeatedly. This text introduces an expanded LOCKANDTRACK SAS macro that includes all functionality of LOCKITDOWN and which additionally records and monitors all successful (immediate and delayed) and unsuccessful file lock attempts through a unified control table dataset, access control, sysrc, macro variable, macro definition, sas base, %if-%then-%else 11
14 Beyond IF THEN ELSE: Techniques for Conditional Execution of SAS Code Joshua M. Horstman Nearly every SAS program includes logic that causes certain code to be executed only when specific conditions are met. This is commonly done using the IF…THEN…ELSE syntax. In this paper, we will explore various ways to construct conditional SAS logic, including some that may provide advantages over the IF statement. Topics will include the SELECT statement, the IFC and IFN functions, the COALESCE function, as well as some more esoteric methods, and we'll make sure we understand the difference between a regular IF and the %IF statement in the macro language if-then-else, select, sas programmer, ifn, macro definition, subsetting if, %if-%then-%else, when, coalesce function 3
15 Building PROC FORMAT Code from Data Dictionary Automatically Ran Gu,
Ashley Newmyer
In Public Health, software data collection systems gather information according to a data dictionary or data coding manual. A data dictionary provides tables for mapping a valid numeric input to a corresponding descriptive syntax, but typically the software will only record the numeric value into the dataset, not the descriptive syntax. In this case, the FORMAT procedure was used to convert the numbers back into words during data analysis. Specifically PROC FORMAT was used to map the numerical input back to the descriptive syntax for each data element. The PROC FORMAT needs to comply according to the same data dictionary. However writing PROC FORMAT code itself would be a tedious task, especially when the dataset contains many numeric fields to convert back to words. We present a method in which SAS generates PROC FORMAT code automatically for all of these variables at once based on the data dictionary table proc format, proc step, data dictionary, excel 4
16 Can You Stop the Guesswork in Your Marketing Budget Allocation? Marketing Mixed Modeling Using SAS Can Help! Delali Agbenyegah Even though marketing is inevitable in every business, each and every year the marketing budget is limited and prudent fund allocations are required to optimize marketing investment . In many businesses, the marketing fund is allocated based on the marketing manager's experience, departmental budget allocation rules and sometimes 'gut feelings' of business leaders. Those traditional ways of budget allocation yield sub optimal results and in many cases lead to money wasting on certain irrelevant marketing efforts. Market Mixed models can be used to understand the effects of marketing activities and identify the ke y marketing efforts that drive the most sales among a grou p of competing marketing activities. The results can be used in marketing budget allocation and take out the guess work that typically goes into the budget allocation. In this paper, we illustrate how t o develop and implement Market Mixed Modeling using SAS procedures from a practical perspective marketing mix, data science, proc mixed, model training, sample, estimate, regression analysis, unit root, proc reg, predictor variable 7
17 Cleaning Data with Just a Handful of SAS Functions Ben Cochran A function is a routine that return s a value based on its arguments. H undreds of functions are available through SAS and they can be used to do a number of tasks. This paper looks specifically at ways that you can use functions to clean dat a. Functions are also used widely to m anipulate data. This paper will look at ways to manipulate dirt right out of the data. After a brief introduction, th is paper is divided into six sections: each looking at a main function, but also included will be a discussion as to how to use several functions to get the job (cleaning data) done that allows users to create their own formats. That tool is the FORMAT procedure compress function, translate, substr function, character constant, proc step 8
18 Color, Rank, Count, Name; Controlling it all in PROC REPORT Arthur L. Carpenter Managing and coordinating various aspects of a report can be challenging. This is especially true when the structure and composition of the report is data driven. For complex reports the inclusion of attributes such as color, labeling, and the ordering of items complicates the coding process. Fortunately we have some powerful reporting tools in SAS that allow the process to be automated to a great extent. In the example presented in this paper we are tasked with generating an EXCEL spreadsheet that ranks types of injuries within age groups. A given injury type is to receive a constant color regardless of its rank and the labeling is to include not only the injury label, but the actual count as well. Of course the user needs to be able to control such things as the age groups, color selection and order, and number of desired ranks proc step, proc report, proc format, excel, proc rank 9
19 Controlling Colors by Name; Selecting, Ordering, and Using Colors for Your Viewing Pleasure Arthur L. Carpenter Within SAS literally millions of colors are available for use in our charts, graphs, and reports. We can name these colors using techniques which include color wheels, RGB (Red, Green, Blue) HEX codes, and HLS (Hue, Lightness, Saturation) HEX codes. But sometimes I just want to use a color by name. When I want purple, I want to be able to ask for purple not CX703070 or H03C5066. But am I limiting myself to just one purple? What about light purple or pinkish purple. Do those colors have names or must I use the codes? It turns out that they do have names. Names that we can use. Names that we can select, names that we can order, names that we can use to build our graphs and reports. This paper will show you how to gather color names and manipulate them so that you can take advantage of your favorite purple; be it 'purple', 'grayish purple', 'vivid purple', or 'pale purplish blue' proc step, proc format, txt, dataset, excel, proc report, proc sql 10
20 Creating Multi-Sheet Microsoft Excel Workbooks with SAS: The Basics and Beyond Part 2 Vincent DelGobbo This presentation explains how to use Base SAS 9 software to create multi-sheet EXCEL workbooks. You learn step-by-step techniques for quickly and easily creating attractive multi-sheet EXCEL workbooks that contain your SAS output using the ExcelXP Output Delivery System (ODS) tagset. The techniques can be used regardless of the platform on which SAS software is installed. You can even use them on a mainframe! Creating and delivering your workbooks on-demand and in real time using SAS server technology is discussed. Although the title is similar to previous presentations by this author, this presentation contains new and revised material not previously presented excel, xls, sas output, sas base, ods xml, proc report, sas log, proc tabulate, sample, adverse events, format statement, dataset 21
21 Cross-Cultural Comparison of the School Factors Affecting Students' Achievement in Mathematical Literacy: Based on the Multilevel Analysis of PISA 2012 Yage Guo Student achievement is a global concern as reflected in recent large-scale standardized assessments. This study compared PISA 2012 student mathematical literacy scores across four countries/regions with varying levels of student performance: Shanghai-China, the United States, Finland and Japan. Sixty-five countries participated in PISA 2012, which measured 15-year-old children's mathematical achievement. The study explored the relationship of principals' perceived levels of leadership, school policy, and educational resources with student attainment of mathematical literacy. School variables were treated as covariates when each effect of principal leadership was interpreted. All variables were included in a multilevel model and analyzed simultaneously. The means and standard deviations of outcome variables and the explanatory and control variables for the model of the study were calculated by including sampling weights and plausible values for mathematical literacy scores interval variable, type ii error 6
22 Cutpoint Determination Methods in Survival Analysis Using SAS: Updated %FINDCUT Macro Jeffrey P. Meyers,
Jayawant N. Mandrekar
Statistical analysis that uses data from clinical or epidemiological studies, include continuous variables such as patient's age, blood pressure, and various biomarkers. Over the years there has been increase in studies that focus on assessing associations between biomarkers and disease of interest. Many of the biomarkers are measured as continuous variables. Investigators seek to identify the possible cutpoint to classify patients as high risk versus low risk based on the value of the biomarker. Several data-oriented techniques such as median and upper quartile, and outcome-oriented techniques based on score, Wald and likelihood ratio tests are commonly used in the literature. Contal and O'Quigley (1999) presented a technique that used log rank test statistic in order to estimate the cutpoint. Their method was computationally intensive and hence was overlooked due to the unavailability of built in options in standard statistical software interval variable, hazard ratio, proc phreg, regression analysis, likelihood function, macro call, graph template language, data step, array, macro parameter 7
23 Data Labs with SAS and Teradata: Value, Purpose and Best Practices Helen Fowler,
Tho H. Nguyen
Success in today's global marketplace requires the agility to quickly test hypotheses and experiment with new concepts that drive innovation, uncover market opportunities and proactively react to competitive pressures. Companies need the ability to extend their analytic practice with the proper infrastructures, tools and technology to enhance the agility of analyzing data. That means adding critical flexibility for exploring new, unrefined data, pulling in external data sources and experimenting on emerging theories with 'production' Integrated Data Warehouse (IDW) data without long planning periods or always having to get IT to load their data. By considering a data lab, its value and purpose is to explore and examine new ideas, experiment, prototype new possibilities by combining new data with existing IDW data to create experimental designs and ad-hoc queries without interrupting the production environment data warehouse, data cleaning 6
24 Debt Collection Through SAS Analytics Lens Karush Jaggi,
Thomas Waldschmidt,
Harold Dickerson,
Eric Hayes,
Goutam Chakraborty
Debt Collection! The two words can trigger multiple images in one's mind - mostly harsh. However, let's try and think positively for a moment. In 2013, over $55 billion of debt were past due in the United States. What if all of these debts were left as is and the fate of credit issuers in the hands of good will payments made by defaulters? Well, not the most sustainable model to say the least. In this situation, debt collection comes in as a tool that is employed at multiple levels of recovery to keep the credit flowing. Ranging from in-house to third party to individual collection efforts, this industry is huge and plays an important role in keeping the engine of commerce running. In the recent past, with financial markets recovering and banks selling less of charged off accounts and at higher prices, debt collection has increasingly become a game of efficient operations backed by solid analytics proc hpsplit, debt collection, regression analysis, data mining, ks statistic, imputation, feature importance 11
25 Decision Management with DS2 Helen Fowler,
Tho H. Nguyen
We all make tactical and strategic decisions every day. With the presence of big data, are we making the right or the best decisions possible as data volume, velocity and variety continue to grow? As businesses become more targeted, personalized and public, it is imperative to make precise data-driven decisions for regulatory compliance and risk management parallel processing, proc step, proc sql, by group processing, elapsed time 6
26 Do we need Macros? An Essay on the Theory of Application Development Ronald J. Fehd proc step, proc freq, symbol table, global symbol table, macro variable, macro facility, proc sql, macro definition, macro put 10
27 Downloading, Configuring, and Using the Free SAS University Edition Software Kirk Paul Lafler,
Charles E. Shipp
The announcement of SAS Institute's free "SAS University Edition" is an exciting development for SAS users and learners around the world! The software bundle includes Base SAS, SAS/STAT, SAS/IML, Designer Studio (user interface), and SAS/ACCESS for Windows, with all the popular features found in the licensed SAS versions. This is an incredible opportunity for users, statisticians, data analysts, scientists, programmers, students, and academics everywhere to use (and learn) for career opportunities and advancement. Capabilities include data manipulation, data management, comprehensive programming language, powerful analytics, high quality graphics, world-renowned statistical analysis capabilities, and many other exciting features. This paper and presentation describes and illustrates the process of downloading, configuring and using the SAS University Edition software sas studio, proc step, sas base, data governance, proc sql, excel 15
28 Dynamic Dashboards Using Base-SAS Software Kirk Paul Lafler Dynamic interactive visual displays known as dashboards are most effective when they show essential graphs, tables, statistics, and other information where data is the star. The first rule for creating an effective dashboard is to keep it simple. Striking a balance between content and style, a dashboard should be void of excessive clutter so as not to distract and obscure the information displayed. The second rule of effective dashboard design involves displaying data that meets one or more business or organizational objectives. To accomplish this, the elements in a dashboard should convey a format easily understood by its intended audience. Attendees learn how to create dynamic interactive user- and data-driven dashboards, graphical and table- driven dashboards, statistical dashboards, and drill-down dashboards with a purpose key performance indicator, business intelligence 12
29 Easy Come, Easy Go - Interactions between the DATA Step and External Files Andrew T. Kuligowski Chances are, your raw data was not created within the SAS System. There is a good likelihood that your data may also need to be packaged and passed along to another non-SAS package. This presentation will provide basic answers to two questions common to new SAS users: How do I get my data into SAS for analysis? How do I get my data out of SAS? The focus for this presentation will be on two pairs of DATA STEP statements: INFILE / INPUT and FILE / PUT. We will discuss syntax and usage, citing various types of files as examples macro variable, file statement, sample, dataset 16
30 Essential DATA Step Merge Techniques Using SAS University Edition Software Kirk Paul Lafler,
Charles E. Shipp
After installing SAS Institute's free "SAS University Edition" you'll want to test drive the software. SAS University Edition includes Base SAS, SAS/STAT, SAS/IML, Designer Studio (user interface), and SAS/ACCESS for Windows, with all the powerful features found in the licensed SAS versions. To demonstrate the power found within SAS University Edition, we present conventional and unconventional DATA STEP merge programming techniques using Base SAS software. All SAS users are encouraged to attend and learn essential concepts, syntax and programming techniques character variable, numeric variable 8
31 Essential PROC SQL Join Techniques Using SAS University Edition Software Kirk Paul Lafler After installing SAS Institute's free "SAS University Edition" you'll want to test drive the software. SAS University Edition includes Base SAS, SAS/STAT, SAS/IML, Designer Studio (user interface), and SAS/ACCESS for Windows, with all the powerful features found in the licensed SAS versions. To demonstrate the power found within SAS University Edition, we present conventional and unconventional PROC SQL join programming techniques using Base SAS software. All SAS users are encouraged to attend and learn essential concepts, syntax and programming techniques proc sql, right join, proc step, data merging 8
32 Essentials of Macro Quoting Functions in SAS Kaushal Chaudhary SAS macro language is a text processing facility. Everything including numeric values is treated as text in SAS macro language. It is also composed of special characters, such as, (comma), ; ( semi colon), + (plus) and others. When a macro code contains, for example, ; (semi colon) sign, macro processor sees it as the end of SAS or macro statement rather than text. This might yield unintended result when you do not mean to end the statement. Macro quoting functions come to rescue from this situation by treating it as text. This paper will introduce macro quoting functions with examples macro quoting function, macro variable, macro facility, &variable, macro trigger, macro definition 4
33 Find your Way to Quick and Easy Table Lookups with FINDW Joshua M. Horstman Table lookups involve setting the value of one variable based on the value of another variable. There are many ways to perform table lookups in SAS, and many papers have been written on the various techniques. This paper demonstrates a quick and easy method using the FINDW function and discusses when it makes sense to use this lookup, character functions, findw, user-defined format, sas programmer, reference data 5
34 Fitting and Evaluating Logistic Regression Models Bruce S. Lund Logistic regression models are commonly used in direct marketing and consumer finance applications. In this context the paper discusses topics in the fitting and evaluation of logistic regression models. The first topic is the screening and transformation of predictor variables. The second topic is a comparison of two methods for finding multiple candidate models. The first method is the familiar "best subsets" approach. Then best subsets is compared to an outline of a new method based on combining models produced by backward and forward selection plus the models considered by backward and forward. This second method uses HPLOGISTIC with selection of predictors by SBC (Schwarz Bayes). The third topic is a discussion of model evaluation statistics to measure predictive accuracy and goodness -of-fit in support of the choice of a final model. The paper uses Base SAS and SAS/STAT degrees of freedom, logistic distribution, proc logistic, proc step, logistic regression, regression analysis, class variable, binary variable, validation set, likelihood function, sample, data cleaning, sample size, character variable, proc rank, feature selection, forward selection, predictor variable, training set, macro call, maximum likelihood estimation, macro definition 26
35 Five Little Known, But Highly Valuable and Widely Usable, PROC SQL Programming Techniques Kirk Paul Lafler The SQL Procedure contains a number of powerful and elegant language features for SQL users. This presentation highlights five little known, but highly valuable and widely usable, topics that will help users harness the power of the SQL procedure. Topics include using PROC SQL to perform FIRST., LAST. and Between in BY-group processing; constructing and searching the contents of a value-list macro variable for a specific value; data validation operations; data summary operations to process down rows and across columns; and using the MSGLEVEL= system option and _METHOD SQL option to capture and gain greater insight into the processes during query evaluation, the algorithm selected and used by the optimizer when processing a query, testing and debugging operations, and other processes proc sql, proc step, dictionary tables, where statement, macro variable, select, create table, inner join, sas log, order by, sas library, group by, macro facility, view, macro call, right join 20
36 Get the highest bangs for your marketing bucks using Incremental Response Models in SAS Enterprise Miner Delali Agbenyegah Traditional marketing predictive models target customers who are likely shop, make more trips or spend more. Whiles this approach generally yields higher marketing campaign performance results over random selection, it can sometimes lead to money wasting on customers who will shop regardless of marketing offers and 'do not disturb' customers who will rather stop shopping if you 'disturb' them with marketing offers.Net lift models are used to identify 'persuadable' customers who have higher likelihood to respond to marketing campaigns and help marketers maximize their return on marketing investments. This paper simplifies the basic concept of Net Lift modeling using real life examples and shows how this can easily be accomplished using SAS Enterprise Miner TM. The paper concludes with real life challenges of Net Lift modeling and suggests ways to handle some of those challenges as well as recommended situations where Net Lift models work best data mining, data cleaning, proc hpsplit, feature selection, validation set, regression analysis, logistic regression, response variable, logistic distribution, predictor variable 8
37 Getting and Staying Organized: Tips for Improving the SAS Data Analysis/Analyst Experience Harlan Sayles This paper discusses a variety of simple tips that users can use to be better organized and more efficient SAS users. Main points of emphasis include use of the autoexec.sas file, file structure organization, organization of the user's SAS program files, including use of the %INCLUDE statement, options, the FORMAT procedure, and code organization, and the writing of good, meaningful comments. The tips and recommendations are not restricted to any specific software or version of SAS. The targeted audience ranges from newer SAS users to those who have been using SAS for a little while and are looking for information about how to improve their skill and organization format statement, proc format, proc step, macro definition, dataset, proc freq 5
38 Getting Productive Fast in SAS ODS Graphics - a "Simple Look-See" Approach Roger D. Muller SAS ODS Graphics started appearing in version 9.2 of SAS. Some statistical capabilities with graphics were introduced with selected procedures in an earlier version. When first starting to use these tools, the traditional SAS/GRAPH user may come upon some very significant challenges in learning the new way to do things. This is further complicated by the lack of simple demonstrations and examples of capabilities. Most graphs in training materials and publications are of rather complicated more difficult graphs that, while useful, are not good teaching examples. This paper contains many examples of very simple ways to get very simple things accomplished. Over 20 different graphs will be developed using only a few lines of code each; using data from the SASHELP.CLASS and SASHELP.CARS data sets contained in all SAS installations. The use of PROC SGPLOT, PROC SGSCATTER and PROC SGPANEL will be shown proc step, proc template, proc sgplot, proc sgpanel, sas enterprise guide, sample, ods graphics, output delivery system, excel 22
39 Getting Started with SAS Add-in for MicroSoft Office Product Ben Cochran With the SAS Add-In for Microsoft Office product, users have transparent access to SAS for data access, reporting and analytics directly from within Microsoft Office products. Using menus and toolbars, users can access SAS from EXCEL, PowerPoint, Word, and Outlook email. The results can be directly distributed via Office products using native Office functionality. This paper looks at some of the functionality of the SAS Add-in for Microsoft Office product as it helps users as they begin their AMO journey excel, dataset, sas enterprise guide 9
40 Good SAS Programming Practices Pat O'Meara The PhUsewiki website is a collaboration of PhUse, FDA, and pharmaceutical industry members to provide a means to share information related to clinical trials informatics. Among the documents on the website is a white paper describing principles of good programming practice (GPP). This presentation describes the principles of GPP as they relate to SAS programming. Several "before and after" examples taken from real SAS programs are presented data step, proc sql, clinical trial, proc step 4
41 Greenspace: A Macro to Improve a SAS Data Set Footprint Brian K. Varney SAS programs can be very I/O intensive. SAS data sets with inappropriate variable attributes can degrade the performance of SAS programs. Using SAS compression offers some relief but does not eliminate the issue of inappropriately defined SAS variables. This paper intends to examine the problems inappropriate SAS variable attributes can cause as well as a macro to tackle the problem of minimizing the footprint of a SAS Data Set character variable, dataset, proc sql, proc step, cpu time, macro variable, view, length statement 6
42 How to Build a Hierarchical Mixed Model in SAS Sara Burns,
Amit Amin,
Eric Novak
Mixed models are characterized as containing both fixed and random effects. Hierarchical models, also known as multi-level models, share a defining feature of having individual observations grouped in some way. These models allow us to analyze the data on individuals nested within hierarchies (e.g., patients within hospitals, students within schools) while accounting for both the fixed and random effects. Hierarchical mixed models have been widely used in educational and behavioral research. Mixed models have been applied to healthcare data because they can adequately handle clustered data as well as repeated measures data. They are particularly useful in healthcare research because we often want to account for the variation across hospitals. Through an applied example, this paper will illustrate how SAS PROC MIXED can be utilized to build hierarchical mixed models proc mixed, proc step, fixed effects, covariance, predictor variable, covariance structure, sample, repeated measures 8
43 Importing multiple spreadsheets in an Excel Workbook: An introduction to Macros Nathan Becker,
William Muntean
The SAS IMPORT procedure makes importing Microsoft EXCEL files quite simple. However, this procedure can only import a single spreadsheet. Importing more than one sheet from a larger EXCEL workbook requires using the procedure multiple times and knowing the name of each spreadsheet. Furthermore, handling EXCEL files that vary in spreadsheet naming conventions necessitates changing SAS code every time encountering a new naming scheme. This is undesirable, especially for repetitive reports. The following paper provides a solution to importing multiple EXCEL spreadsheets without knowing their names. The concept of macros is introduced and demonstrates the power of generalizable code by being reusable excel, macro definition 3
44 Improving Data Collection Efficiency And Programming Process Flow Using SAS Enterprise Guide With Epi Info Chad Wetzel,
Anne O'Keefe,
Justin Frederick
Epi Info is a commonly used software program used by public health professionals for data collection, analysis, and reporting. There are many benefits of using Epi Info in conjunction with SAS. Using each of these two systems together enables users to benefit from the strengths of both to improve the efficiency of managing and analyzing public health data. Epi Info provides an easy to use data entry form for manual data entry and SAS provides robust capabilities to manage, analyze, and report data. SAS Enterprise Guide simplifies the complexities needed for running multiple SAS programs. In order to combine public health data reported electronically with manually entered data, numerous lines of SAS code are required to match variables and formats that can be converted to and from Epi Info sas enterprise guide, laboratory data, proc step, proc sort, proc freq 9
45 In Search of the LOST CARD Andrew T. Kuligowski "Everyone who's not here, raise your hand." It's an old joke, but it points out the difficulty of identifying persons or things that are not present. The SAS System has its own version of this chestnut, the SASLOG message indicating that there are one or more gaps in one's input data input statement, infile statement, sample, numeric variable, missing value 9
46 Intermediate SAS ODS Graphics Chuck Kincaid This paper will build on the knowledge gained in the Intro to SAS ODS Graphics. The capabilities in ODS Graphics grow with every release as both new paradigms and smaller tweaks are introduced. After talking with the ODS developers, a selection of the many wonderful capabilities was selected. This paper will look at that selection of both types of capabilities and provide the reader with more tools for their belt. Visualization of data is an important part of telling the story seen in the data. And while the standards and defaults in ODS Graphics are very well done, sometimes the user has specific nuances for characters in the story or additional plot lines they want to incorporate. Almost any possibility, from drama to comedy to mystery, is available in ODS Graphics if you know how. We will explore tables, annotation and changing attributes, as well as the BLOCK plot. Any user of Base SAS on any p latform will find great value from the SAS ODS Graphics procedures proc step, proc sgplot, bar chart, scatter plot, output delivery system, nominal variable, line chart 28
47 Introduction to ODS Graphics Chuck Kincaid This presentation teaches the audience how to use ODS Graphics. Now part of Base SAS, ODS Graphics are a great way to easily create clear graphics that enable any user to tell their story well. SGPLOT and SGPANEL are two of the procedures that can be used to produce powerful graphics that used to require a lot of work. The core of the procedures is explained, as well as some of the many options avail able. Furthermore, we explore the ways to combine the individual statements to make more complex graphics that tell the story better. Any user of Base SAS on any platform will find great value in the SAS ODS Graphics procedures proc step, series plot, sas base, numeric variable, proc sgplot, proc sgpanel 18
48 Introduction to PROC SQL Jennifer First-Kluge PROC SQL is a powerful Base SAS Procedure that combines the functionality of DATA and PROC steps into a single step. PROC SQL can sort, summarize, subset, join (merge), and concatenate datasets, create new variables, and print the results or create a new table or view all in one step! PROC SQL can be used to retrieve, update, and report on information from SAS data sets or other database products. This paper will concentrate on SQL's syntax and how to access information from existing SAS data sets. Some of the topics covered in this brief introduction include: Write SQL code using various styles of the SELECT statement. Dynamically create new variables on the SELECT statement. Use CASE/WHEN clauses for conditionally processing the data. Joining data from two or more data sets (like a MERGE!). Concatenating query results together proc sql, proc step, select, group by, order by, where statement, proc sort 13
49 Introduction to SAS Data Loader: The Power of Data Transformation in Hadoop Keith Renison Organizations are loading data onto Hadoop platforms at an extraordinary rate. However, in order to extract value from these platforms, the data must be prepared for analytic exploitation. As the volume of data grows, it becomes increasingly more important to reduce data movement, as well as to leverage the computing power of these distributed systems. This paper provides a cursory overview of SAS Data Loader, a product specifically aimed at these challenges. We cover the underlying mechanisms of how SAS Data Loader works, as well as how it's used to profile, cleanse, transform, and ultimately prepare data for analytics in Hadoop data cleaning, data profiling 7
50 Intuitive Demonstration of Statistics through Data Visualization of Pseudo-Randomly Generated Numbers in R and SAS Jack Sawilowsky Statistics training courses are offered to employees in a corporate environment. Monte Carlo simulations are created as teaching devices for live demonstrations of statistical concepts . These results are then coded into data visualizations to aid in intuitive understanding by the audience. Coding is done in both SAS and R, and a comparison is made to show how both platforms are capable of performing the required tasks. Both code and output plots are presented . KEYWORDS: SAS, R, Statistics, Data visualization, Monte Carlo simulation, Pseudo--random numbers correlation, pearson correlation, type i error, significance level, monte carlo 11
51 Just passing through ... Or are you? Determine when SQL Pass-Through occurs to optimize your queries Misty Johnson SAS/ACCESS has two recommended methods for accessing data within a relational database management system (DBMS), namely, the SAS/ACCESS LIBNAME interface engine and the Structured Query Language (SQL) Pass- Through Facility. This paper describes the use of the open database connectivity (ODBC) LIBNAME engine with 9.3 SAS code that does and does not invoke implicit SQL pass-through and its effect on run time. Also described is the use of the system options DEBUG and SASTRACE to determine if implicit SQL pass-through occurred, what triggers implicit SQL pass-through and the potential time savings. Knowledge of these methods, their triggers, and tracking options enables the intermediate SAS programmer to select the most efficient coding strategy proc sql, sql pass-through, implicit sql pass-through, libname engine, libname statement, options statement, proc step, cpu time, dataset 8
52 Keep the Formats When Exporting to Excel Ting Sa When using SAS to export data to EXCEL, the formats got lost. In this paper, we introduce a macro that can help you to export formatted SAS data to EXCEL files without losing the formats. The advantage of this macro is that it only requires you to provide the input data set and the location and the name of the output EXCEL file, it will then create the EXCEL file that preserves all the formats in the SAS data set for you excel, dataset, proc step, proc export, macro variable, proc sql, create view 6
53 Let SAS Cleanse Your Dirty Data Kaushal Chaudhary,
Deanna Naomi Schreiber-Gregory
In an ideal world, every data set is complete, clean, and properly formatted. However, in real world situations, the data available to us is very rarely presented in this form. They may contain any number of problematic events such as outliers, duplicate observations, missing values, invalid character and numeric data values, as well as many other issues. Given the necessity that the data being examined is as complete and clean as possible, it is very important that these issues are addressed prior to any analysis. In this paper we describe various cases of dirty data and techniques to clean them. These techniques are explored within the context of SAS 9.4 and presented in a way that would benefit beginning and moderate level SAS users proc step, date variable, sysdate9, outlier, numeric variable, datetime, missing value, proc univariate, proc means, date and time functions, dataset, character variable, input statement, put statement, box plot, character functions, time 13
54 Leveraging Hadoop from the Comfort of SAS Emily Hawkins,
Lal Puthenveedu Rajanpillai
Using Hadoop for distributed computing is rapidly becoming the most talked about, most sought after solution, and at times confusing ecosystem for big data. With a vast range of capabilities from data access tools to provisioning and governance tools, one can quickly become overwhelmed in a sea of funny names. However, by understanding a little bit about Hadoop the average SAS programmer can comfortably merge the Power of SAS with the distributed computing capabilities of Hadoop. This paper provides a basic introduction to Hadoop from a SAS programmer's perspective. It will explain why many companies see Hadoop as imperative to adopt into their enterprise solution. We we'll cover topics on connecting to HDFS using both LIBNAME and PROC SQL pass-through, as well as moving data in and out of HDFS with Pig using PROC HADOOP proc sql, proc step, hive, dataset, hadoop, sql pass-through, libname statement, create table, sas programmer, sas enterprise guide 9
55 Macro to Create Multiple SQL IN Clauses from One Column of Data Mark Millman When faced with linking data from multiple sources it is often necessary to pull data from one database using a list of IDs from another. While this can be accomplished many ways, using SQL pass-thru is often the best. In order to leverage SQL pass-thru you must supply any needed information from outside the database right in the query. Often you have this information in a dataset outside of the server. This macro separates a given column of data into one or more SQL-compliant "IN" clauses with a count of items that the user specifies proc sql, sql pass-through, proc step 8
56 Making Historical Versions of SAS Code While Developing in Enterprise Guide 7.1 Roger D. Muller A major new feature in SAS Enterprise Guide version 7.1 is the capability to retain historical versions of the SAS code as the programming is proceeding. The programmer has the option to return to a previous point where a "wrong turn in the road" was taken and resume the programming effort from there. All of this is done without keeping a folder of assorted backup versions with cleverly-coded sequential names. This facility essentially contains a menu item to commit the version to the history of the file, and a menu item to review this history and select one to restore if desired. This feature is only for the SAS code files stored internally (embedded) within the Enterprise Guide project. The capability is not for the project itself. Likewise it is not for SAS code files stored externally to the project. External files can be historically versioned by a 3rd party program such as Subversion which will be briefly addressed sas enterprise guide, sas enterprise guide project 9
57 Multiple Imputation for Arbitrary Missing Data: SAS and R Kaushal Chaudhary,
Deanna Naomi Schreiber-Gregory
Missing data values are a common problem in the vast majority of real world data analysis situations. With this problem being as prominent as it is, it is important to have a well-rounded arsenal of skills to combat it. Multiple imputation is one such tactic that is well-supported as an effective resolution to this issue, especially when the missing data has an arbitrary component to it. Multiple imputation can be conducted through several different programs, but SAS and R are by far the most popular choices. If both of these programs are available to the analyst, which should you choose? In this paper, the authors review different methods for conducting multiple imputation on arbitrary values in both SAS and R, with emphasis placed on the differences between these two programs. These techniques are explored within the context of SAS 9.4 and presented in a way that would benefit beginning and moderate level SAS users, especially those versed in both SAS and R missing value, imputation, multiple imputation, missing at random, regression analysis, missing completely at random, proc mi 7
58 Need Help Finding Something? Why Not Ask Your (Virtual) Community! A Collaborative Filtering Based Recommendation Engine in SAS Ben Elbert People have likely been recommending everything from where to eat to whom to meet since the dawn of man, but in the last twenty years we have seen the rise of automated, data driven, recommendation engines (also known as recommender systems, expert systems, etc.). One popular approach to recommending products to potential shoppers is collaborative filtering (CF), which relies on weighting the quantity, propensity, or rating of other shoppers by the similarity of the potential shopper's transactions to those of the community of shoppers (traditionally at an individual level). This traditional implementation of a CF-System has the drawback that new or early tenure shoppers may not have enough informative transactional data to make valuable recommendations proc distance, proc step, regression analysis, create table, inner join, recommendation engine, sample 12
59 Plotting LSMEANS and Differences in Generalized Linear Models with GTL Robin High A visual display of LsMeans and their pairwise differences in a generalized linear model is an important component of data analysis which allows one to view and compare differences Lsmeans. The SGPLOT procedure from SAS software will produce graphs from an ANOVA for LSMeans and their differences with confidence intervals including the forest plot and the mean-mean multiple comparison (MMC) plot. The mean-mean scatter plot is available with ODS Graphics. However, greater flexibility of making a combined plot of the LSMeans and their differences with a forest plot can be achieved with the Graph Template Language (GTL). The process consists of appending two data sets, one with the file of LSMeans and the other file containing their differences produced with ODS OUTPUT statements, into one data set in block diagonal form and then submitting this data set to a template with SGRENDER confidence interval, proc step, anova, macro variable, proc glimmix, ods output, forest plot, graph template language, output, data visualization, proc template, sample, character functions 9
60 Predictive Modeling Using Artificial Neural Networks in SAS Enterprise Miner Kechen Zhao A neural network is a set of connected input/output variables where each connection has a weight with it. Neural networks take non-linear functions of linear combinations of input variables. This is a powerful and very general approach for regression and classification, and has been shown to be the best machine learning method on many problems. Neural networks are especially effective in problems with high-noise ratio and settings where prediction without interpretation is the goal. It is nowadays one of the most popular data mining and pattern learning tools frequently used by many companies like Google. SAS Enterprise Miner implements tools for modeling and utilizing neural networks. However, literatures on neural network modeling using SAS Enterprise Miner are limited. This paper is a step-by-step introduction to neural network modeling using SAS Enterprise Miner 13.2. This paper will provide an introduction to the Neural Network node in SAS Enterprise Miner 13.2 neural network, missing value 4
61 Project Management of SAS Tasks - Excel Dashboard without Using Any Program Kalaivani Raghunathan Have you ever imagined having a fully automated, simple and live summary report of clinical SAS programming project tracker without running any program? Yes. This paper explains how your such a solution is feasible. A typical day of programmers in clinical research industry starts with SAS and ends with SAS since it is the one and only language widely used in clinical trial data analysis - due to FDA regulatory requirements. A typical clinical project requires several numbers of programs to be developed and managed. Often the project status is managed using Microsoft EXCEL which lists the primary and QC programs to be developed and assigned programmers name, date, status of the program, completion date and other attributes excel, clinical trial 5
62 Pruning the SASLOG - Digging into the Roots of NOTEs, WARNINGs, and ERRORs Andrew T. Kuligowski You've sat through constant design meetings. You've endured countless requests for "just one more little change". You even managed to find a creative solution to that nagging technical problem. But, you persevered, and despite all of the obstacles, you've managed to eliminate the final syntax error in your newest SAS routine. Time to sit back and relax -- uh, not quite ... The primary focus of this presentation will be on techniques to ensure comprehension of your inpu t data. We will look at several messages that are often found in the SASLOG, such as: NOTE: MERGE statement has more than one data set with repeats of BY values. that imply that there may be gaps in your knowledge of your data! Special emphasis will be placed on the use of ad-hoc queries to assist in finding data anomalies that can cause problems with your SAS code input statement, numeric variable, proc step, merge statement, out=, index, data cleaning, infile statement, proc means, dataset, e., sample, put statement 10
63 Reading a Column into a Row to Count N-levels, Calculate Cardinality Ratio and Create Frequency and Summary Output In One Step Ronald J. Fehd proc step, macro variable, proc print, proc append, proc freq, proc means 10
64 Retrieving Survey Data using the Qualtrics REST API with SAS Katie Tanner Qualtrics Research Suite is a powerful tool for collecting data online. It features a Representational State Transfer (REST) Application Programming Interface that allows for other programs to interact with the Qualtrics system. Using the HTTP procedure first introduced in SAS 9.2, SAS has the ability to interface directly with the Qualtrics system. Programs can be easily created to seamlessly transfer survey data from the data collection tool in to SAS for further analysis and manipulation. This paper will walk through a process for accessing the Qualtrics API and storing the resulting data in a SAS dataset. If the survey remains unchanged, this process could run automatically to provide continuous update of survey information for reporting and archival purposes proc http, rest api, filename statement 6
65 Sales Force Alignment Visualization with SAS Yu (Daniel) Wang SAS 9.4, OpenStreetMap(OSM) and JAVA APPLET provide tools to generate professional Google like maps. The zip code boundary data files from U.S. Census Bureau can be freely downloaded and imported into SAS by PROC DATAIMPORT. PROC GEOCODE, with the STREET method, can get the longitude and latitude of a street level address from the data files USM, USS, and USP downloaded from the SAS Maps Online website. A data set of sales force alignment is created after running the sales force optimization model implemented with SAS OPTMODEL. This paper demonstrates the use of all these data sets with SAS to exhibit sales force alignment and target locations on the Google like maps with cities, highways, roads, bodies of water and forests in the background. Each alignment defined area, territory, has its own color. Each territory ID is labelled at its 'center' location. Each sales people office location is marked with his/her name underneath. The boundary of each zip code in a territory is displayed proc step, proc gmap, macro definition, dataset 11
66 SAS Dates with Decimal Time John Henry King Did you know that a SAS-Date can have a decimal part that SAS treats as you might expect a fraction of a day also known as time? Often when data are imported from EXCEL an EXCEL date-time will be imported as SAS-Date with a decimal part. This Rapid Fire tip discusses how to identify these values and gives examples of how to work with them including how to convert them to SAS-Date-time excel, sysdate9, proc step 3
67 SAS Enterprise Guide Base SAS Program Nodes ~ Automating Your SAS World With a Dynamic FILENAME Statement, Dynamic Code, and the CALL EXECUTE Command; Your Newest BFF (Best Friends Forever) in SAS Kent Phelps,
Ronda Phelps
Communication is the basic foundation of all relationships including our relationship with SAS and the Server, PC, or Mainframe. One way to communicate more efficiently and to increasingly automate your SAS World, is to transform Static Code into Dynamic Code that automatically recreates the Static Code and to then execute the Static Code automatically. Our presentation highlights the powerful SAS P artnership which occurs when a Dynamic FILENAME Statement, Dynamic Code, and the CALL EXECUTE Command are creatively combined within SAS Enterprise Guide Base SAS Program Nodes. You will have the exciting opportunity to learn how 1,469 time-consuming Manual Steps are amazingly replaced with only 2 time-saving Dynamic Automated Steps. We invite you to attend our session where we will detail the UNIX syntax for our project example and introduce you to your newest BFF (Best Friends Forever) in SAS filename statement, call execute, sas base, sas enterprise guide 30
68 SAS Enterprise Guide for Managers and Executives Jennifer First-Kluge SAS Enterprise Guide is an extremely valuable tool for programmers, but it should also be leveraged by managers and executives to do data exploration, get information on the fly, and take advantage of the powerful analytics and reporting that SAS has to offer. This can all be done without learning to program. This paper will overview how the Enterprise Guide tool can improve the process of turning real time data into real time business decisions by managers sas enterprise guide, sas enterprise guide project, sas programmer 5
69 SAS Enterprise Guide System Design Jennifer First-Kluge,
Steven J. First
A good system should embody the following characteristics: It is planned, maintainable, flexible, simple, accurate, restartable, reliable, reusable, automated, documented, efficient, modular, and validated. This is true of any system, but how to implement this in SAS Enterprise Guide is a unique endeavor. We will provide a brief overview of these characteristics and then dive deeper into how an Enterprise Guide user should approach developing both ad hoc and production systems sas enterprise guide, proc sql, sas enterprise guide project, proc step, dataset, excel 12
70 SAS Software as an Essential Tool in Statistical Consulting and Research Erika Larsen,
Timothy E. O'Brien
Modelling in bioassay often uses linear, generalized linear (e.g., logistic or multi- category logit) and nonlinear regression models. As such, key matrices - and specialized software such as procedures in SAS/STAT and SAS/IML - are pervasive and wide-ranging since they are essential in point and interval estimation methods for the associated model parameters as well as for hypothesis testing and prediction. Using key representative illustrations, this paper highlights the forms of some of these important matrices in the context of estimation, hypothesis testing, and optimal experimental design. After pointing out the inadequacy of these "optimal" experimental designs to detect lack-of-fit, we demonstrate how "robust" optimal designs are obtained by working with generalizations of the model. These latter designs are thus useful for both parameter estimation and checking for goodness-of-fit. Examples are provided using models from toxicology and pharmacology proc nlin, regression analysis, logistic distribution, logistic regression, homoscedasticity, proc reg, simple linear regression, binomial distribution, predictor variable, likelihood function, estimate, hypothesis testing, covariance 13
71 SAS Spontaneous Combustion: Securing Software Portability through Self-Extracting Code Troy Martin Hughes Spontaneous combustion describes combustion that occurs without an external ignition source. With the right combination of fire tetrahedron components-including fuel, oxidizer, heat, and chemical reaction-it can be a deadly yet awe-inspiring phenomenon, and differs from traditional combustion that requires a fire source, such as a match, flint, or spark plugs (in the case of combustion engines.) SAS code as well often requires a "spark" the first time it is run or run within a new environment. Thus, SAS programs may operate correctly in an organization's original development environment, but may fail in its production environment until folders are created, SAS libraries are assigned, control tables are constructed, or configuration files are built or modified. And, if software portability is problematic within a single organization, imagine the complexities that exist when SAS code is imported from a blog, white paper, textbook, or other external source into one's own infrastructure sas library, libname statement, data validation rules, macro variable, data cleaning 9
72 Shifting Expectations: A practical algorithm for detecting level shifts using robust rolling statistics Matthew Bates In the world of predictive analytics, identifying level shifts in the data is like flying an airplane. The current observed altitude (level) generally contains more relevant information about the near future- and if not given proper attention the flight may end up crashing through a mountain. It is a sound practice of a forecaster to use level shift information to determine the ideal size for the training data, so long as seasonality and/or trending cannot be safely assumed. The proposed method to be discussed is intended for practitioner predictive modelers with a basic understanding of level shifts. All demonstrations are executed using SAS 9.2 and only requires SAS/STAT software (SAS/ETS software is not needed) training set, robust statistics, proc step, proc means 11
73 Slice and Dice your customers easily by using SAS Clustering Procedures Yanping Shen With the brighter economy, customer base is expanding at a fast pace for the retail industry in recent years. This growth in customer base coupled with the increase availability of many data attributes at customer level and the move towards personalized marketing efforts possess a new challenge to customer relationship management. In this paper, we illustrate how to innovatively utilize FASTCLUS and CLUSTER procedures in SAS to create customer segments using large data sets with variables of different uni ts of measurement. The paper concludes by suggesting several business applications that can be developed for each customer segment as well as opportunities to further slice and dice different customer segments to enhance personalized marketing efforts cluster analysis, proc step, proc cluster, sample, missing value, outlier, proc fastclus, macro variable, proc sql, out= 9
74 Staying Relevant in a Competitive World: Using the SAS Output Delivery System to Enhance, Customize, and Render Reports Chevell T. Parker Technology is always changing. To succeed in this ever-evolving landscape, organizations must embrace the change and look for ways to use it to their advantage. Even standard busi ness tasks such as creating reports are affected by the rapid pace of technology. Reports are key to organizations and their customers. Therefore, it is imperative that organizations employ current technology to provide data in customized and meaningful reports across a variety of media. The SAS Output Delivery System (ODS) gives you that edge by providing tools that enable you to package, present, and deliver report data in more meaningful ways, across the most popular desktop and mobile devices. To begin, the paper illustrates how to modify styles in your reports using the ODS CSS style engine, which incorporates the use of cascading style sheets (CSS) and the ODS document object model (DOM). You also learn how you can use ODS to customize and generate reports in the body of email messages excel, proc step, ods html, filename statement, output delivery system, by group processing, macro function, ods excel, proc template, proc sql, dosubl, proc print, options statement 26
75 Table Lookup Techniques: From the Basics to the Innovative Arthur L. Carpenter One of the more commonly needed operations within SAS programming is to determine the value of one variable based on the value of another. A series of techniques and tools have evolved over the years to make the matching of these values go faster, smoother, and easier. A majority of these techniques requir e operations such as sorting, searching, and comparing. As it turns out, these types of techniques are some of the more computationally intensive, and consequently an understanding of the operations involved and a careful selection of the specific technique can often save the user a substantial amount of computing resources. Many of the more advanced techniques can require substantially fewer resources. It is incumbent on the user to have a broad understanding of the issues involved and a more detailed understanding of the solutions available set statement, hash table, by group processing, merge statement, lookup, proc step, proc sql, data merging, proc format, key=, select, if-then-else, length statement, proc sort, index, dataset, key, conditional do loop 11
76 The Joinless Join ~ The Impossible Dream Come True; Expanding the Power of SAS Enterprise Guide in a New Way Kent Phelps,
Ronda Phelps
SAS Enterprise Guide can easily combine data from tables or data sets by using a Graphical User Interface (GUI) PROC SQL Join to match on like columns or by using a Base SAS Program Node DATA STEP Merge to match on the same variable name. However, what do you do when tables or data sets do not contain like columns or the same variable name and a Join or Merge cannot be used? We invite you to attend our exciting presentation on the Joinless Join where we teach you how to expand the power of SAS Enterprise Guide in a new way. We will empower you to creatively overcome the limit s of a standard Join or Merge . You will learn how to design a Joinless Join based upon dependencies, indirect relationships, or no relationships at all between the tables or data sets. In addition, we will highlight how to use a Joinless Join to prepare unrelated joinless data to be utilized by ODS and PROC REPORT in creating a PDF proc freq, sas enterprise guide, data cleaning, proc step, proc report, record count, inner join, proc sql 37
77 The REPORT Procedure: A Primer for the Compute Block Jane Eslinger It is well-known in the world of SAS programming that the REPORT procedure is one of the best procedures for creating dynamic reports. However, you might not realize that the compute block is where all of the action takes place! Its flexibility enables you to customize your output. This paper is a primer for using a compute block. With a compute block, you can easily change values in your output with the proper assignment statement and add text with the LINE statement. With the CALL DEFINE statement, you can adjust style attributes such as color and formatting. Through examples, you learn how to apply these techniques for use with any style of output. Understanding how to use the compute-block functionality empowers you to move from creating a simple report to creating one that is more complex and informative, yet still easy to use proc report, proc step, automatic variable, character variable, numeric variable, response variable, missing value 23
78 Tips and Tricks for Getting the Most Out of the SAS Macro Facility Scott A. Miller The Base SAS macro facility is a powerful tool to enable your SAS programs to work dynamically with data. However the richness of this tool can be very confusing, and even experienced SAS coders can be mystified by macros. Learn a variety of ways to improve your coding technique with SAS macro programs and macro variables macro variable, macro facility, macro definition, macro call, macro parameter, %macro parameters, keyword parameter, date variable, options statement 11
79 Top Ten SAS Performance Tuning Techniques Kirk Paul Lafler The Base-SAS software provides users with many choices for accessing, manipulating, analyzing, and processing data and results. Partly due to the power offered by the SAS software and the size of data sources, many application developers and end- users are in need of guidelines for more efficient use. This presentation highlights my personal top ten list of performance tuning techniques for SAS users to apply in their applications. Attendees learn DATA and PROC STEP language statements and options that can help conserve CPU, I/O, data storage, and memory resources while accomplishing tasks involving processing, sorting, grouping, joining (merging), and summarizing data dataset, cpu time, proc sql, options statement, proc step, where statement, performance tuning 7
80 Transitions in Depressive Symptoms After 10 Years of Follow-up Using PROC LTA in SAS and Mplus Seungyoung Hwang PROC LTA is the most popular and powerful SAS procedure for latent transition analysis used throughout a wide variety of scientific disciplines. However, PROC LTA does not provide standard errors of the parameter estimates and thus constructing 95% confidence intervals around estimates is not possible. In this paper, the author shows how to examine transitions in latent statuses of depressive symptoms after 10 years of follow-up using PROC LTA in SAS. The author then examines whether clinical characteristics predict membership in the different statuses and transitions between latent statuses over time using both SAS and Mplus. Mplus programming code is provided to compute standard errors of the parameter estimates. The dataset used is based on the Baltimore Epidemiologic Catchment Area Study (1-3) confidence interval, proc step, proc calis, estimate, odds ratio 11
81 Ushering SAS Emergency Medicine into the 21st Century: Toward Exception Handling Objectives, Actions, Outcomes, and Comms Troy Martin Hughes Emergency medicine comprises a continuum of care that often commences with first aid, basic life support (BLS), or advanced life support (ALS.) First responders, including firefighters, emergency medical technicians (EMTs), and paramedics, often are the first to triage the sick, injured, and ailing, rapidly assessing the situation, providing curative and palliative care, and transporting patients to medical facilities. Emergency medical services (EMS) treatment protocols and standard operating procedures (SOPs) ensure that, despite the singular nature of every patient as well as potential complications, trained personnel have an array of tools and techniques to provide varying degrees of care in a standardized, repeatable, and responsible manner. Just as EMS providers must assess patients to prescribe an effective course of action, software too should identify and assess process deviation or failure, and similarly prescribe its commensurate course of action exception handling, sysrc, data validation rules, macro variable, proc sort, cpu time, automatic macro variable, if-then-else, macro definition, macro put, quality control, return, macro flow control, missing value, key performance indicator, options statement, proc sql, sas log, macro function, goto, imputation, %if-%then-%else, macro facility 23
82 Using a Picture Format to Create Visit Windows Richann J. Watson Creating visit windows is sometimes required for analysis of data. We need to make sure that we get the visit/day in the proper window so that the data can be analyzed properly. However, defining these visit windows can be quite cumbersome especially if they have to be defined in numerous programs. This task can be made easier by applying a picture format, which can save a lot of time and coding. A format is easier to maintain than a bunch of individual programs. If a change to the algorithm is required, the format can be updated instead of updating all of the individual programs containing the visit definition code if-then-else, character constant 4
83 Using Enterprise Miner to Create Model Documentation And/or Reproducible Research Rex Pruitt Businesses need to automate the documentation of their models and integrate the resulting documentation into a Model Risk Management process. Most model documentation processes involve interactions with too many applications in order to produce the documentation necessary for hundreds of models in production. Limited model documentation has resulted in organizations being placed on written agreement with the Federal Reserve and/or Consumer Financial Protection Bureau (CFPB). This has led to billions of dollars in fines and/or penalties. SAS Software provides a nice solution to this model risk governance issue. Specifically, Enterprise Miner will support all of the necessary functionality to support the required model documentation to satisfy governance requirements. The key features that support Model Documentation are… model documentation, data mining, model risk management 11
84 Using SAS for the Longitudinal Analysis of Difference Scores Brandy R. Sinco,
Edith Kieffer,
Michael S. Spencer,
Gloria Palmisano,
Gretchen Piatt,
Michele Heisler
Background: When longitudinal data has no missing baseline values, analysis of difference scores is one method of normalizing the error terms, even if the original outcome variable is non-normal. Adjusting for the baseline value as a covariate enables estimation of difference scores, with adjustment for the starting value. Objective and Methods: Derive the linear mixed model (LMM) for difference scores, which will include terms for time, treatment group, interaction between time and treatment, and baseline value. Demonstrate how to use the SAS DATA STEP to prepare a dataset for longitudinal analysis of difference scores. Present a SAS macro that uses PROC MIXED for analysis of difference scores, with adjustment for the baseline values of treatment groups. Derive the formulas for contrasts between change scores between treatment groups, adjusted for baseline. Show how to convert the contrast equations to SAS Estimate statements proc step, proc mixed, proc glm, proc genmod, residual, randomization, output, monte carlo, correlation, macro definition 14
85 Using SAS Programs to Conduct Discriminate Analysis Mengyu Liu This paper describes the use of DISCRIM procedure in SAS to conduct a discriminate analysis. A Seal Vocalization data set containing the recordings of calls, which is comprised of eight features (one "response" variable and seven quantitative variables), of harp seals in three herds is used. The goal of this analysis is to determine whether the vocalization data can be used to construct a rule which discriminates between the three herds of seals. The STEPDISC procedure is used to select a subset of the quantitative variables for use in discriminating among the groups. Multivariate normality is checked in each of the three herds. Option POOL=TEST of PROC DISCRIM is used to test whether the same variance-covariance matrix of response across different groups. A quadratic discriminant function is derived based on the result of equal variance test. Moreover, since the multivariate normal assumptions are not satisfied, a nonparametric method based on kernel density estimates is also applied proc discrim, proc step, data cleaning, discriminant analysis, homoscedasticity, numeric variable, ordinal variable 6
86 Utilizing Propensity Score Analyses to Adjust for Selection Bias: A Study of Adolescent Mental Illness and Substance Use Deanna Naomi Schreiber-Gregory An important strength of observational studies is the ability to estimate a key behavior or treatment's effect on a specific health outcome. This is a crucial strength as most health outcomes research studies are unable to use experimental designs due to ethical and other constraints. Keeping this in mind, one drawback of observational studies (that experimental studies naturally control for) is that they lack the ability to randomize their participants into treatment groups. This can result in the unwanted inclusion of a selection bias. One way to adjust for a selection bias is through the utilization of a propensity score analysis. In this study we provide an example of how to utilize these types of analyses. Our concern is whether recent substance abuse has an effect on an adolescent's identification of suicidal thoughts propensity score, regression analysis, proc step, logistic distribution, proc freq, proc logistic, response variable, predictor variable, treatment effect, logistic regression, proc glm, proc genmod, proc rank 7
87 Visualize the Geography of your Business Insights using SAS MAP tools Xingrong (Candice) Zhang Illustrating business insights on maps do not only give analysts easier ways to show differen t findings across different regions but also give business leaders visual revelations of critical business insights to aid their planning and decision making. The GMAP procedure in SAS allows users to show data geographically. This paper will demonstrate how to present business insights using PROC GMAP with real life examples and show how additional map features can be added to SAS maps to make it visually stimulating by implementing annotated datasets. Sample code and a macro for map cosmetics will be provided proc gmap, response variable, proc step 14
88 What's Hot, What's Not - Skills for SAS Professionals Kirk Paul Lafler,
Charles E. Shipp
As a new generation of SAS user emerges, current and prior generations of users have an extensive array of procedures, programming tools, approaches and techniques to choose from. This presentation identifies and explores the areas that are hot and not-so-hot in the world of the professional SAS user. Topics include Enterprise Guide, PROC SQL, PROC REPORT, PROC FORMAT, Macro Language, ODS, DATA STEP programming techniques such as arrays and hashing, business intelligence, sasCommunity.org, JMP, SAS/GRAPH, SAS/STAT, and SAS/AF sas 9, sas base, proc step 6
89 When Reliable Programs Fail: Designing for Timely, Efficient, Push-Button Recovery Troy Martin Hughes Software quality comprises a combination of both functional and performance requirements that together specify not only what software should accomplish, but also how well it should accomplish it. Recoverability-a common performance objective-represents the timeliness and efficiency with which software or a system can resume functioning following a catastrophic failure. Thus, requirements for high availability software often specify the recovery time objective (RTO), or the maximum amount of time that software may be down following an unplanned failure or a planned outage. While systems demanding high or near perfect availability will require redundant hardware, network, and additional infrastructure, software too must facilitate rapid recovery. And, in environments in which system or hardware redundancy is infeasible, recoverability only can be improved through effective software development practices data validation rules, macro variable, quality control, sas programmer, exception handling, automatic macro variable, constraint, macro function 12
90 Why Would You Not Want to Learn About PROC DOCUMENT? Roger D. Muller PROC DOCUMENT is a little known PROC that can save you vast amounts of time and effort when managing the output of your SAS programming efforts. This PROC is deeply associated with the mechanism by which SAS controls output in the ODS system. Have you ever wished you didn't have to modify and rerun the report-generating program every time there was some tweak in the desired report? Use of PROC DOCUMENT allows you to store one version of the report as an ODS Document Object and then call it out in many different output forms without rerunning the code -- e.g. PDF, HTML, listing, RTF, etc. Have you ever wished you could extract those pages of the output that apply to certain "by" variables such as State, StudentName, CarModel? With PROC DOCUMENT you have "where" capabilities to extract these proc step, proc print, sas enterprise guide, output delivery system 7
91 Wow! You Did that with SAS Stored Processes? Dave Mitchell In this paper you will be introduced to advance SAS 9.4 functions developed with SAS Enterprise Guide 6.1 and surfaced thru HTML pages. The application design is based on SAS 9.4 client server architecture featuring a discussion of integration with metadata objects in the SAS Management Console. The audience will also learn practical techniques used to create stored processes that will cover: Direct Call to Stored Processes Macro Code Stored Process Linking Prompt Dependencies Hidden Prompts Prompt Groupings Dynamic Prompting Formats and Outputs - email and pdf This application is a set of linked stored processes that allow tracking of internal customer contracts. The application integrates several SAS tables driven by stored processes to: Maintaining a customer database Create projects from contracts Create work orders Allow posting of time spent for consultants Create output for a multitude of reports, emails and PDF files sas enterprise guide, where statement 11
92 You Can't Spell 'Assume' without S.A.S. Mike D. Tangedal The world of SAS programming is fraught with assumptions. One major assumption is to immediately apply fancy reporting SAS procedures directly to source data. However, preventative programming logic applied during the DATA STEP also might fall prey to assumptions due to the whims of the Program Data Vector. This paper serves to highlight the most frequent assumptions on the road from source data to reportable results. Included is the saga of date formatting, default value overriding, importing and exporting files, table joins, variable length and format, as well as assumptions made from what is not shown in the data. Through proactive SAS programming, assumptions can be eliminated resulting in the most credible reported proc step, proc import, sysdate9, proc report, raw data, sas programmer, sas log, date variable, missing value, sas programming, anova, excel 8

Back to Conf go 2016 go 2014

This site serves as a convenient hosting location and does not work as a publisher. All copyrights belong to their respective owners.

The information on this site is provided for general reference purposes only. Whilst every effort is made to ensure that the site is up to date and accurate, no warrant, nor any responsibility or liability for, the accuracy or completeness of the content or for any loss which may arise from reliance on information contained in this site is provided. Links to other sites are provided for your convenience but no responsibility or liability for the content of those sites or of any external site which links to this site is accepted. References to any specific commercial product, process, service, or corporation are also for information only, and do not constitute endorsement, recommendation or favoring.

SAS is a registered trademark of SAS Institute Inc. SAS, Statistical Analysis System, and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration.