HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

MWSUG 2016 Papers - Index

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

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 A DDE Macro to Put Data Anywhere in Excel Ting Sa,
Shiran Chen
In this paper, the authors introduce a SAS macro that integrates the SAS DDE techniques so you can use this macro to put data anywhere in your EXCEL file. SAS users only need to prepare the input data and call the macro for the data to be automatically inserted into the EXCEL file. This macro will be very helpful if you have large amount of data to be inserted into different cells in the EXCEL file excel, dataset, macro variable, sample 5
2 A Demonstration of Various Models Used in a Key Driver Analysis Steven M. LaLonde A key driver analysis investigates the relationship between predictor variables and a response, such as customer satisfaction or net promoter score. The response is often measured on a five, seven, or ten- point scale, and collected using a survey. The predictors are generally other scaled questions, asked on the same survey, or demographics. Analyses often use multiple linear regression to fit the response as a function of the predictors, and some function of the regression coefficients as a measure of i mportance of individual predictors. This approach suffers from two major criticisms. The scaled response, especially if each point on the scale is individually labeled, may not be an interval scale, which would make the linear regression model invalid predictor variable, proc step, regression analysis, logistic distribution, multiple regression, logistic regression, correlation, proc reg, ordinal logistic regression, proc logistic, feature selection, response variable, binary variable, proc freq, proc means, proc sql, proc transpose, dataset, create table, macro variable, stepwise selection, histogram 17
3 A Failure To EXIST: Why Testing for Data Set Existence with the EXIST Function Alone Is Inadequate for Serious Software Development in Asynchronous, Multiuser, and Parallel Processing Environments Troy Martin Hughes The Base SAS EXIST function demonstrates the existence (or lack thereof) of a data set. Conditional logic routines commonly rely on EXIST to validate data set existence or absence before subsequent processes can be dynamically executed, circumvented, or terminated based on business l ogic. In synchronous software design where data sets cannot be accessed by other proces ses or users, EXIST is both a sufficient and reliable solution. However, because EXIST captures only a split-second snapshot of the file state, it provides no guarantee of file state persistence. Thus, in asynchronous, multiuser, and parallel processing environments, data set existence can be assessed by one process but instantaneously modified (by creating or deleting the data set) thereafter by a concurrent process , leading to a race condition that causes failure parallel processing, batch job, if-then-else, cpu time, set statement, sas base, exception handling, sas batch, macro function, macro definition, %if-%then-%else 8
4 A Hands-on Introduction to SAS DATA Step Hash Programming Techniques Kirk Paul Lafler SAS users are always interested in learning techniques that will help them improve the performance of table lookup, search, and sort operations. SAS software supports a DATA STEP programming technique known as a hash object to associate a key with one or more values. This presentation introduces what a hash object is, how it works, the syntax required, and simple applications of it use. Essential programming techniques will be illustrated to sort data and search memory-resident data using a simple key to find a single value hash table, proc transpose, lookup, proc step, sas log, composite key, dataset, proc sort, sas base 12
5 A Hands-On Introduction to SAS Visual Analytics Reporting David Foster This Hands-On work shop will walk through SAS Visual Analytics functionality and will allow users to build a report(s) using data loaded into memory sas management console, dataset 9
6 A Macro That Can Fix Data Length Inconsistency and Detect Data Type Inconsistency Ting Sa Common tasks that we need to perform are merging or appending SAS data sets. During this process, we sometimes get error or warning messages saying that the same fields in different SAS data sets have different lengths or different types. If the problems involve a lot of fields and data sets, we need to spend a lot of time to identify those fields and write extra SAS codes to solve the issues. However, if you use the macro in this paper, it can help you identify the fields that have inconsistent data type or length issues. It also solves the length issues automatically by finding the maximum field length among the current data sets and assigning that length to the field. An html report is generated after running the macro that includes the information about which fields' lengths have been changed and which fields have inconsistent data type issues create table, group by, proc step, %if-%then-%else 7
7 A Macro that can Search and Replace String in your SAS Programs Ting Sa In this paper, a SAS macro is introduced that can search and replace any string in the SAS programs. To use the macro, the user only needs to pass the folder name, the search string to it. If the user wants to use the replacement function, the user also needs to pass the replacement string to the macro . The macro will check all the SAS programs in this folder and the subfolders to find out which files contain the search string. The macro will generate new SAS files for the replacement so that the old files will not be affected. An html report will be generated by the macro to include the original file locations, the line number of the SAS codes that contain the search string and the SAS codes with search string highlighted in yellow. If you use the replacement string function, the html report will also include the location information for the new SAS files. The location information in the html report is created with hyperlinks, so the user can directly open the files from the report macro definition, sample, create table, macro variable, proc sql 7
8 A Predictive Logistic Regression Model for Chronic Kidney Disease Jingye Wang machine learning, response variable 1
9 A Quick Macro to Replace Missing Values with NULL for Numeric Fields within a CSV File John Schmitz When large file uploads to RDBMS systems are required, CSV file imports can provide a faster alternative than using SAS to insert the records. However, some RMDBS systems will convert null CSV columns to 0, creating a potentially undesirable result. This macro using the original dataset and resulting CSV file to identify and replace missing values with NULL for all numeric columns in the CSV output proc step, missing value, proc export, data cleaning 4
10 A SAS Macro to Create a Data Dictionary with Ease Amy Gravely,
Barbara Clothier
Creating a data dictionary offers a huge added value over PROC CONTENTS output to communicate what is contained in a dataset. For example, a data dictionary shows the actual formatted values for each variable and organizes variables into chunks delineating them with sub-headings and even sub-sub headings. This creates a clear, complete, organized view of what is contained in a dataset. There is no need for the user to look up formatted values or to sift through variables labels to fin d what they are looking for. Not only can a data dictionary save time and prevent frustration for the data analyst, it can also provide a clear, self-explanatory view of what is contained in a dataset when handing off a dataset to someone else on your team or outside of your company. Data dictionaries can also help to keep your own projects organized when working with just one dataset or many. However, creating such a data dictionary by hand can be time consuming with cutting, pasting and typing data dictionary, proc contents, proc step, macro parameter, adam dataset 7
11 A Sysparm Companion, Passing Values to a Program from the Command Line Ronald J. Fehd macro put, macro variable 8
12 Accessing Teradata through SAS, common pitfalls, solutions and tips Kiran Venna There are some common pitfalls while accessing Teradata from SAS and Vice Versa. SAS Options and SAS Macro's efficiently handle these pitfalls. Owing to its unique architecture, Teradata primary index has to be designed properly for both space and efficiency of accessing data in Teradata. Data Set option dbcreate_table_opts handles creation of primary index, when Teradata tables are created through SAS. Inefficient data types are created, when Teradata tables are created using SAS. Data Set option dbtype helps in creating efficient data types. SAS Macro can help to automate dbcreate_t able_opts and dbtype Data Set options, when SAS is used to create Teradata tables. Case Specificity of Teradata and also right truncation of string data can cause major concern, when Explicit SQL Pass -Through is used. By issuing appropriate mode in connect statement these concerns can be resolved sql pass-through, proc sql, proc append, proc step, dataset, create table 8
13 All Aboard! Next Stop is the Destination Excel William E. Benjamin Jr. Over the last few years both Microsoft EXCEL file formats and the SAS interfaces to those EXCEL formats have changed. SAS has worked hard to make the interface between the two systems easier to use. Starting with "Comma Separated Variable" files and moving to PROC IMPORT and PROC EXPORT, LIBNAME processing, SQL processing, SAS Enterprise Guide, JMP, and then on to the HTML and XML TAGSETS like MSOFFICE2K, and EXCELXP. Well, there is now a new entry into the processes available for SAS users to send data directly to EXCEL. This new entry into the ODS arena of data transfer to EXCEL is the ODS destination called EXCEL. This process is included within SAS ODS and produces native format EXCEL files for version 2007 of EXCEL and later. It was first shipped as an experimental version with the first maintenance release of SAS 9.4. This ODS destination has many features similar to the EXCELXP TAGSETS excel, ods excel, proc step, output delivery system, xls, by group processing 13
14 An Analysis of the Repetitiveness of Lyrics in Predicting a Song's Popularity Drew Doyle In the interest of understanding whether or not there is a correlation between the repetitiveness of a song's lyrics and its popularity, the top ten songs from the year-end Billboard Hot 100 Songs chart from 2006 to 2015 were collect. These songs then had their lyrics assessed to determine the count of the top ten words used. These words counts were then used to predict the number of weeks the song was on the chart. The prediction model was analyzed to determine the quality of the model and if word count is a significant predictor of a songs popularity. To investigate if song lyrics are becoming more simplistic over time there were several tests completed in order to see if the average word counts have been changing over the years. All analysis was completed in SAS using various PROCs scatter plot, predictor variable, forward selection, correlation, backward selection, proc step, significance level, stepwise selection 12
15 An Animated Guide: Deep Neural Networks in SAS Enterprise Miner Russell M. Lavery Recent advances in algorithms and hardware (the GPU chip) have made it possible to build neural nets that are both deeper and wider than had been practical in the past. This paper explores the theory, and a bit of the practice, associated with the building of deep neural networks in SAS Enterprise Miner neural network, proc step, data mining, deep learning, catalog entry, residual, training set, histogram, regression analysis 47
16 An Animated Guide: Insights into the Logic of the ROC Curve Russell M. Lavery The ROC curve is often taught without any explanation. I've seen teachers simply say that the area under the ROC curve for a random process is .5 and a good model has an area greater than .5. This paper suggests that comparing histograms of "successes" and "failures", plotted on the same X axis, can provide insights into the logic, and use, of the ROC curve. Insights can be gleaned fr om the shape of the ROC Curve roc curve, histogram, type i error, sensitivity analysis 8
17 An Animated Guide: Penalized variable selection techniques in SAS and Quantile Regression Russell M. Lavery,
Peter Flom
This paper is about some new PROCs for modeling using penalized variable selection and some PROCS for building models that are a richer description of your data than OLS. The four PROCS we will cover are: Reg, GLMSelect, QuantReg and QuantSelect. The paper explains theory and gives examples of SAS code and output for four PROCS. Figure 1 proc step, regression analysis, proc reg, proc quantreg, elastic net, sample, bootstrap, ridge regression, proc glmselect, estimate, proc glm, proc mixed, feature selection, correlation, predictor variable, proc genmod, macro variable, maximum likelihood estimation, odds ratio, p-value, training set, likelihood function 24
18 An Animated Guide: The Internals of PROC REPORT Russell M. Lavery PROC REPORT is an exciting "big file technique" that every programmer should know. PROC REPORT allows the creation of complicated reports, with many levels of summarization, while only reading a large source file one time. PROC REPORT allows -in just one step- summarization to a desired level, calculation of new variables and the appending of different kinds reports into one complex report. ALL this happens in one read of the input data. Especially interesting is that the internal file for PROC REPORT, a file that holds "the combined multiple report" can be sent to a SAS data set and used as a input data. This paper will attempt to show the time sequence of the internal actions of PROC REPORT. Knowing the time sequence of actions, especially calculations, is crucial to doing complicated PROC REPORTs. This paper supports a highly animated PowerPoint deck where the time sequence could be demonstrated as a sequence of events proc report, proc step, if-then-else 13
19 An Application of CALL VNEXT John Henry King VNEXT is a SAS call routine that allows the examination of the program data vector (PDV), each call to the routine alters the values of its arguments to return information about each variable in the PDV. The data returned is variable name and optionally variable type and length. This Rapid Fire talk presents a short program that uses VNEXT to write a CSV file that includes the name row followed by the data rows all in one very short DATA STEP put statement, variable list, by group processing 4
20 An Innovative Method of Customer Clustering Brian Borchers This paper describes an innovative way to identify groupings of customer offerings using SAS software. The authors investigated the customer enrollments in nine different programs offered by a large energy utility. These programs included levelized billing plans, electronic payment options, renewable energy, energy efficiency programs, a home protection plan, and a home energy report for managing usage. Of the 640,788 residential customers, 374,441 had been solicited for a program and had adequate data for analysis. Nearly half of these eligible customers (49.8%) enrolled in some type of program. To examine the commonality among programs based on characteristics of customers who enroll, cluster analysis procedures and correlation matrices are often used. However, the value of these procedures was greatly limited by the binary nature of enrollments (enroll or no enroll), as well as the fact that some programs are mutually exclusive (limiting cross-enrollments for correlation measures) logistic distribution, cluster analysis, correlation, proc step, logistic regression, proc fastclus, proc logistic, predictor variable, regression analysis, data cleaning, proc princomp 6
21 An Introduction to the HPFOREST Procedure and its Options Carl Nord,
Jacob Keeley
The acquisition of big data into usable formats can be quite a challenge. There is a large emphasis being placed on the efficiency and scope of data acquisition in many industries. With the increasing amount of data available to analyse, the best methods for creating predictive models from big data banks is becoming a desire of many sectors. In particular, sectors where prediction is the sole goal of the model. Decision tree techniques are a common and effective approach for creating optimal predictive models. A procedure, the HPFOREST procedure, creates random forests models in a high performance environment. There is limited amount of information on this procedure, which makes it a prime candidate for discussion. This procedure allows for a predictive model to be created based on decision tree methodology. This method of model averaging has been known to produce predictive models t hat generalize quite favourably (Breiman, 2001) proc hpforest, proc step, data mining, sas enterprise guide, response variable 12
22 Analyzing sentiments in tweets for Tesla Model 3 using SAS Enterprise Miner and SAS Sentiment Analysis Studio Tejaswi Jha,
Praneth Guggilla
Tesla Model 3 is making news in the history of automobiles as never seen before. The new electric car already has more than 400,000 reservations and counting. We carried out a descriptive analysis of sales of all Tesla models and found that the number of reservations till date are more than three times sales of all previous Tesla cars combined. Clearly there is a lot of buzz surrounding this and such buzz influences consumers' opinions and sentiments and which in turn lead to bookings. This paper aims to summarize findings about people's opinions, reviews and sentiments about Tesla's new car Model 3 using textual analysis of tweets. For this, we used the live streaming data from Twitter over time and studied its pattern based on the booking timeline. We have been collecting data from March 2016 when the interest of people in this model spiked suddenly. A sample of 1000 tweets was analyzed from a total of about 10,000 collected via fumes data mining, proc freq, sample, parsing, data cleaning 12
23 Analyzing the Effect of Weather on Uber Ridership Snigdha Gutha,
Anusha Mamillapalli
Uber has changed the face of taxi ridership, making it more convenient and comfortable for riders. But, there are times when customers are left unsatisfied becau se of shortage of vehicles which ultimately led to Uber adopting surge pricing. It's a very difficult task to forecast number of riders at different locations in a city at different points in time. This gets more complicated with changes in weather. In thi s paper we attempt to estimate the number of trips per borough on a daily basis in New York City. We add an exogenous factor, weather to this analysis to see how it impacts the changes in number of trips. We fetched six month worth data (approximately 1 m illion records) of Uber rides in New York City ranging from January 2015 to June 2015 from GitHub. We also gathered weather data (from Weather Underground) of New York City Borough wise for the same period of six months from Jan 2015 to June 2015 regression analysis, data cleaning, time series analysis, response variable, sample 11
24 Anatomy of a Merge Gone Wrong Joshua M. Horstman The merge is one of the SAS programmer's most commonly used tools. However, it can be fraught with pitfalls to the unwary user. In this paper, we look under the hood of the DATA STEP and examine how the program data vector works. We see what's really happening when datasets are merged and how to avoid subtle problems merge statement, pdv, by group processing, out= 5
25 Annotating the ODS Graphics Way! Dan Heath For some users, having an annotation facility is an integral part of creating polished graphics for their work. To meet that need, we created a new annotation facility for the SAS ODS Graphics (SG) procedures in SAS 9.3. Now, with SAS 9.4, the Graph Template Language (GTL) supports annotation as well! In fact, the GTL annotation facility has some unique features not available in the SG procedures, such as using multiple sets of annotation in the same graph and the ability to bind annotation to a particular cell in the graph. This presentation will cover some basic concepts of annotating that are common to both GTL and the SG procedures. Then, I will apply those concepts to demonstrate some unique abilities of GTL annotation proc step, proc sgplot, bubble plot, proc template 15
26 Array of Sunshine: Casting Light on Basic Array Processing Nancy Brucken An array is a powerful construct in DATA STEP programming, allowing the application of a single process to multiple variables simultaneously, without having to resort to macro variables or repeat code blocks. Arrays are also useful in transposing data sets when PROC TRANSPOSE does not provide a necessary degree of control. However, they can be very confusing to less-experienced programmers. This paper shows how arrays can be used to solve some common programming problems array, proc transpose, vital signs, proc step 5
27 Assessing the Impact of Communication Channel on Behavior Changes in Energy Efficiency Angela Wells,
Ashlie Ossege
With the increase in government and commissions incentivizing electric utilities to get consumers to save energy, there has been a large increase in the number of energy saving programs. Some are structural, incentivizing consumers to make improvements to their home that result in energy sa vings. Some, called behavioral programs, are designed to get consumers to change their behavior to save energy. Within behavioral programs, Home Energy Reports are a good method to achieve behavioral savings as well as to educate consumers on structural energy savings. This paper examines the different Home Energy Report communication channels (direct mail and e-mail) and the marketing channel effect on energy savings, using SAS for linear models proc step, treatment period, proc genmod, proc glm, proc fastclus 14
28 Automating the Process of Generating Publication Quality Regression Tables through SAS Base Programming Ji Qi Regression modeling is a widely used statistical method for scientific investigation. A series of rules on how to report regression result have also been established to standardize the way it is presented in formal settings. The default output from major SAS/STAT regression procedures, however, does not usually meet such requirement and is therefore not directly usable for final presentation. While it is acceptable to manually edit the raw output, such task can easily become tedious and error-prone when a large number of regression models are to be presented. This paper describes several SAS Base programming techniques for automating the process of generating publication quality regression tables. Using the birth weight data set offered through the SAS.HELP library, we provide a detailed illustration on creating nicely-constructed output under the context of linear and logistic regression model regression analysis, proc step, proc glm, nominal variable, logistic regression, logistic distribution, proc genmod, estimate, proc logistic, confidence interval, format statement, output delivery system, response variable, proc reg, create table, macro loop, macro definition, proc format, proc sql, predictor variable, macro variable, macro function 16
29 Avoiding Code Chaos - Architectural Considerations for Sustainable Code Growth David L. Ward As projects grow in complexity - both in terms of code and personnel - source code can quickly become very difficult to maintain, extend, and test. While this problem certainly occurs across programming languages, SAS seems uniquely suited for unmanageable complexity. First, SAS programmers are often trained more as analysts than as s oftware engineers, so they tend to think more about organizing data than a complex code base. Second, the procedural nature of the language itself can contribute to code chaos by allowing for extremely long programs without much re - usable code. Third, t hough the macro language is powerful, it can often be used to create code that is very hard to understand. This paper will present the essential components that must be considered when designing a SAS application that will thrive under growth and make conc rete recommendations for their implementation macro variable, data step, dataset, macro facility, macro definition 11
30 Base SAS and SAS Enterprise Guide ~ Automate Your SAS World with Dynamic Code; Your Newest BFF (Best Friend Forever) in SAS Kent Phelps,
Ronda Phelps
Communication is the basic foundation of all relationships including our SAS relationship with the Server, PC, or Mainframe. To communicate more efficiently ~ and to increasingly automate your SAS World ~ you will want to learn how to transform Static Code in to Dynamic Code that automatically recreates the Static Code, and then executes the recreated Static Code automatically. Our presentation highlights the powerful partnership which occurs when Dynamic Code is creatively combined with a Dynamic FILENAME St atement, the INDSNAME SET Option, and the CALL EXECUTE Command within 1 SAS Enterprise Guide Base SAS Program Node. You will have the exciting opportunity to learn how 1,469 time-consuming Manual Steps are amazingly replaced with only 1 time-saving Dynami c Automated Step. 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 Friend Forever) in SAS filename statement, call execute, sas base, sas enterprise guide 33
31 Be Prompt - Part II! Advanced Prompting Techniques in SAS? Enterprise Guide Ben Cochran With some fairly simple (and some not so simple) programming behind the scenes, you can take basic Enterprise Guide prompts, that are already pow erful, and make them even more robust. This paper show s many examples on how to do this as w ell as how to overcome some challenges to 'out of the box' prompts. Things like 'verifying' prompt selections and how to cut and paste values into prompts w ill be illustrated in this presentation where statement, proc print, proc step, sas enterprise guide, macro variable 15
32 Be Prompt! Do it Now! Creating and Using Prompts in SAS Enterprise Guide Ben Cochran Several years ago, Enterprise Guide was given the ability to create prompts. The developers at have continually enhanced this process over the last several releases of Enterprise Guide (EG) and today the user can create quite a wide range of prompts to be deployed in the EG environment. This paper takes a look at some of the prompts that can be created macro variable, sas enterprise guide 12
33 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 CHOOSE and WHICH families of functions, as well as some more esoteric methods. We'll also make sure we understand the difference between a regular IF and the %IF macro statement if-then-else, ifn, select, macro definition, sas programmer, subsetting if, whichn, %if-%then-%else, missing value, proc format, ifc, when, proc step 6
34 Building a Better Dashboard Using Base SAS Software Kirk Paul Lafler,
Joshua M. Horstman,
Roger D. Muller
Organizations around the world develop business intelligence dashboards, sometimes referred to as enterprise dashboards, to display the current status of "point-in-time" metrics and key performance indicators. Effectively designed dashboards extract real-time data from multiple sources for the purpose of highlighting important information, numbers, tables, statistics, metrics, performance scorecards and other essential content on a single screen. This presentation explores the basic rules for "good" dashboard design, the metrics frequently used in dashboards, and the use of best practice programming techniques in the design of highly interactive, filterable, and drill-down dashboards using Base-SAS software proc step, bar chart, vertical bar chart, proc format, if-then-else, dataset, proc template, proc print, ods html, footnote statement, proc sgpanel, user-defined format, histogram 17
35 Calculating Cardinality Ratio in Two Steps Ronald J. Fehd proc step, macro variable, create table, proc freq, proc sql, proc append, dimension table, key, ods output, if-then-else, out=, output delivery system 22
36 Data Analysis with User-Written DS2 Packages Robert S. Ray,
William Eason
The DATA STEP and DS2 both offer the user a built-in general purpose hash object that has become the go-to tool for many data analysis problems. However, there are occasions where the best solution would require an object specifically customized for the problem space. The DS2 package syntax enables the user to create objects that can be linked to form structures in memory such as trees or lists that can then be traversed and manipulated. For data that can describe many more states than actually exist, dynamic structures such as this can provide a compact way to represent and analyze the data. The SAS In- Database Code Accelerator enables these custom packages to be deployed in parallel on massive data grids. Further, with the use of the SAS Macro facility, it is possible to create a package template that facilitates code reuse in a strongly typed system proc freq, macro definition, by group processing, hash table, proc step, macro facility 11
37 Defensive Coding by Example: Kick the Tires, Pump the Brakes, Check Your Blind Spots, and Merge Ahead! Nancy Brucken,
Donna E. Levy
As SAS programmers and statisticians, we rarely write programs that are run only once and then set aside. Instead, we are often asked to develop programs very early in a project, on immature data, following specifications that may be little more than a guess as to what the data is supposed to look like. These programs will then be run repeatedly on periodically updated data through the duration of the project. This paper offers strategies for not only making those programs more flexible, so they can handle some of the more commonly encountered variations in that data, but also for setting traps to identify unexpected data points that require further investigation. We will also touch upon some good programming practices that can benefit both the original programmer and others who might have to touch the code data cleaning, batch job, raw data, missing value, proc step, drop statement, if-then-else, macro variable, best response 16
38 Discover the golden paths, unique sequences and marvelous associations out of your big data using Link Analysis in SAS Enterprise Miner TM Delali Agbenyegah,
Candice Zhang
The need to extract useful information from large amount of data to positively influence business decisions is on the rise especially with the hyper expansion of retail data collection and storage and the advancement in computing capabilities. Many enterprises now have well established databases to capture Omni channel customer transact ional behavior at the product or Store Keeping Unit (SKU) level. Cr afting a robust analytical solution that utiliz es the se rich transactional data sources to create customized marketing incentives and product recommendations in a timely fashion to meet the expectation s of the sophisticated shopper in our current generation can be daunting link analysis, data mining, association rules, customer segmentation, next best offer, proc freq, offer recommendation 14
39 Document and Enhance Your SAS Code, Data Sets, and Catalogs with SAS Functions, Macros, and SAS Metadata Roberta J. Glass,
Louise S. Hadden
Discover how to document your SAS programs, data sets, and catalogs with a few lines of code that include SAS functions, macro code, and SAS metadata. Do you start every project with the best of intentions to document all of your work, and then fall short of that aspiration when deadlines loom? Learn how SAS system macro variables can provide valuable information embedded in your programs, logs, lists, catalogs, data sets and ODS output; how your programs can automatically update a processing log; and how to generate two different types of codebooks proc step, macro variable, proc contents, proc datasets, excel, dataset, label statement 12
40 Don't Let Your Annual Report Be Such a Manual Report: Neat New Ways from SAS to Combine Text, Graphs and Tabular Reports in a Single Document Ben Cochran This paper looks at methods of combining all kinds of output, such as text, graphs and tables, into a single pdf file. The process is accomplished totally w ithin SAS. This paper is the product of having done this for an organization to improve its annual report process. What originally took a few months to produce, now takes only a few minutes txt, proc step, proc report, conditional do loop 14
41 Downloading, Configuring, and Using the Free SAS University Edition Software Kirk Paul Lafler,
Ryan 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 presents the process of downloading and configuring the SAS University Edition sas studio, proc step, sas base, data governance, proc sql, excel 15
42 Enterprise Architecture for Analytics Using TOGAF David J. Corliss Enterprise Architecture (EA) is a set of practices for development and implementation of the overall design of a system. EA embraces hardware, software and analytics in a single, enterprise-wide environment. As the leading end-to-end analytic solution for large enterprises, SAS systems can benefit greatly from the use of EA best practices. As a framework for enterprise architecture, TOGAF supports creation of a set of inter-connected building blocks. When applied to analytic systems, TOGAF practices promote greater efficiency, improved cost and ease of use, streamlining the delivery all desired analytic requirements. This presentation describes the principles of Enterprise Architecture and goes step -by-step through the TOGAF framework as applied to analytic architecture. Practical examples are given of both the process and benefits of the TOGAF framework in a variety of industries and settings liquidity gap, analytics platform, dataset 10
43 Establishing Similarity of Modeled and Experimental PK/PD Hysteretic Loops using Pseudo Time Series Analysis and Dynamic Time Warping Ron Smith An iterative Bezier curve cubic spline algorithm is used to approximate a hysteretic loop for a pharmacodynamics(PD) dose/response curve. The accuracy of the resulting vector-valued function is tested using graphs produced through PROC SGPLOT. The centroid of each curve is found through PROC IML. Euclidean distances from each centroid to points on the respective polygonal curves (experimental and model) produce several distance vectors for each curve. A sequence of these distance vectors is plotted as a Pseudo Time Series for both the original experimental and the adapted model curves. The graphical similarity of these curves is examined using the Dynamic Time Warping (DTW) algorithm in PROC SIMILARITY. The information produced from the DTW process gives a numerical measure of how well the model follows the experimental curve. The parametric equations from this a posteriori model can form a composition with a time-based function to produce the final PK/PD effect versus time equations time series analysis, euclidean distance, proc step, proc arima, do loop, proc iml 18
44 Finding National Best Bid and Best Offer - Quote by Quote Mark Keintz U.S. stock exchanges (currently there are 12) are tracked in real time via the Consolidated Trade System (CTS) and the Consolidated Quote System (CQS). CQS contains every updated quote from each of these exchanges, covering some 8,500 stock tickers. It provides the basis by which brokers can honor their fiduciary obligation to investors to execute transactions at the best price, i.e. at the NBBO (National Best Bid or Best Offer). With the advent of electronic exchanges and high frequency trading (timestamps are published to the nanosecond), data set size (approaching 1 billion quotes requiring 80 gigabytes of storage for a normal trading day) has become a major operational consideration for market behavior researchers recreating NBBO values from quotes. This presentation demonstrates a straightforward use of hash tables for tracking constantly changing quotes for each ticker/exchange combination to provide the NBBO for each ticker at each time point in the trading day hash table, if-then-else, macro definition 9
45 Fitting a Cumulative Logistic Regression Model Shana Kelly Cumulative logistic regression models are used to predict an ordinal response, and have the assumption of proportional odds. Proportional odds means that the coefficients for each predictor category must be consistent, or have parallel slopes, across all levels of the response. The paper uses a sample dataset to demonstrate how to test the proportional odds assumption, and use the UNEQUALSLOPES option when the assumption is violated. A cumulative logistic model is built, and then the performance of the cumulative logistic model on a test set is compared to the performance of a generalized multinomial model. This shows the utility and necessity of the UNEQUALSLOPES option when building a cumulative logistic model. The procedures shown are produced using SAS Enterprise Guide 7.1 logistic distribution, logistic regression, predictor variable, regression analysis, proc logistic, proc step 4
46 Fitting Complex Statistical Models with PROCs NLMIXED and MCMC Robin High proc step, estimate, proc mixed, binomial distribution, likelihood function, proc glimmix, response variable, poisson distribution, macro variable, fixed effects, main effect, proc genmod, array, sas log, predictor variable, probability distribution, beta distribution, nominal variable, binary variable 16
47 Fitting Your Favorite Mixed Models with PROC MCMC Fang K. Chen,
Gordon Brown,
Maura E. Stokes
The popular MIXED, GLIMMIX, and NLMIXED procedures in SAS/STAT software fit linear, generalized linear, and nonlinear mixed models, respectively. These procedures take the classical approach of maximizing the likelihood function to estimate model parameters. The flexible MCMC procedure in SAS/STAT can fit these same models by taking a Bayesian approach. Instead of maximizing the likelihood function, PROC MCMC draws samples (using a variety of sampling algorithms) to approximate the posterior distributions of model parameters. Similar to the mixed modeling procedures, PROC MCMC provides estimation, inference, and prediction. This paper describes how to use the MCMC procedure to fit Bayesian mixed models and compares the Bayesian approach to how the classical models would be fit with the familiar mixed modeling procedures. Several examples illustrate the approach in practice proc step, proc mixed, proc glimmix, covariance, random intercept, posterior probability, prior probability, nominal variable, response variable, regression analysis, likelihood function, sample, main effect, poisson distribution, covariance structure, binomial distribution 27
48 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
49 Fixed Item Parameter Calibration with MMLE-EM Using a Fixed Prior in SAS/IML Sung-Hyuck Lee,
Hongwook Suh
Fixed item parameter calibration (FIPC) has been pop ular in calibrating the parameters of pretest (new) items administered with a computer adaptive test. I n this study, a new FIPC method is proposed. In the new approach, the prior for the EM algorithm is computed using only the parameters of operational (scored) items and the responses to these items for the new calibration sample. During the EM cycles the prior is not updated but fixed in calibrating pretest items. The main advantage of this new method is that any potential contamination from poor pretest items (e.g., poor model fit) is eliminated since pretest items are excluded from computing the prior during the EM cycles. No commercial software is available to implement the new approach so a new SAS macro named SAS -FIPC is written in SAS/IML to calibrate the parameters of the pretest items. The calibration results of the new method are compared to the ones from the existing methods through a simulation study sample, proc means, estimate 7
50 Four Thousand Reports Three Ways Stephanie R. Thompson How do you go about generating over four thousand PDF reports in up to three different versions? When a large, southern 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 proc step, proc sql, macro variable, sas enterprise guide, proc gplot, sql server 12
51 Frequentist and Bayesian Interim Analysis in Clinical Trials: Group Sequential Testing and Posterior Predictive Probability Monitoring Using SAS Kechen Zhao In a fixed-sample clinical trial, data collected from all individuals are analyzed at the end of the trial. In contrast, an interim analysis conducts data analysis before the completion of data collection. An interim analysis in clinical trials provides advantages over a fixed-sample clinical trial. An interim analysis can effectively terminate a trial early for efficacy, futility or safety issues incurred. Not only does terminating a trial early cut cost, save valuable time and resources in drug development, prevent exposure of unsafe toxicity to the participants, but it also expedites the process of delivering an effective drug to the patients who need it most. Two mainstream designs in interim analysis are group sequential designs and post erior predictive probability designs. This paper reviews basic concepts of group sequential testing and demonstrates its usage in PROC SEQDESIGN and PROC SEQTEST procedures sample, null hypothesis, type i error, sample size, interim analysis, predictive probability, stage 1, clinical trial, phase ii, stage 2, alternative hypothesis, stage 3, normal distribution, confidence interval 14
52 From Stocks to Flows: Using SAS HASH objects for FIFO, LIFO, and other FO's Mark Keintz Tracking gains or losses from the purchase and sale of diverse equity holdings depends in part on whether stocks sold are assumed to be from earliest lots acquired (a FIFO queue) or the latest lots acquired (LIFO). Other inventory tracking applications have a similar need for application of either FIFO or LIFO rules. This presentation shows how a collection of simple ordered hash objects, in combination with a hash -of- hashes is a made-to-order technique for easy data-step implementation of FIFO, LIFO, and other less- likely rules (e.g. HIFO and LOFO) hash table, hash iterator 13
53 Generating Custom Shape Files for Data Visualization Stephanie R. Thompson There are times you may want to represent your data graphically but the existing options do not work. Using a custom shape file or even a file with coordinates you create yourself can get you what you want. This quick presentation will show you how proc gmap, proc step 3
54 Hashtag #Efficiency! An Introduction to Hash Tables Lakshmi Nirmala Bavirisetty,
Deanna Naomi Schreiber-Gregory,
Kaushal Chaudhary
Have you ever had to walk away from your computer during an analysis? Have you wondered if there is a way to increase your efficiency, save time, and be able to answer more questions? Hash tables to the rescue! This paper covers a brief introduction to the use of hash tables, their definition, benefits, concept, and theory. It also includes a review of some more applied approaches to hash table usage through code examples and applications that illustrate how using of hash tables can help improve performance time and coding efficiency. This paper will wrap up by providing a comparison of performance times between hash tables and traditional lookup and join/merge methods. This paper is intended for any level of SAS user who would like to learn about how hash tables can help process efficiency! hash table, proc step, proc sql, merge statement, memory usage, cpu time, sas log, attrib statement, proc means, hash iterator, conditional do loop 10
55 How to Create Sub-sub Headings in PROC REPORT and Why You Might Want to: Thinking about Non-traditional Uses of PROC REPORT Amy Gravely,
Barbara Clothier
Often a statistician or programmer has a report in mind that they would like to generate through PROC REPORT. Additionally they might also like to automate it through SAS macro techniques. They go to the literature and do not find examples close to what they would like to produce. However, they do find things that they can piece together to create the report that they want to see. This paper outlines a specifi c example of going this route. This paper outlines one non-traditional use of some PROC REPORT techniques to achieve sub-sub headings throughout the body of a report. Often the literature shows breaks, headings or summaries one time at the beginning or end of a report. One can also find examples of subheadings inserted into the body of a report whenever the value of a compute block variable changes within PROC REPORT, but the subheadings, breaks or summaries are not dynamic and the compute block variable must be in the analysis dataset proc report, data dictionary, proc step, adam dataset 5
56 How to Speed Up Your Validation Process Without Really Trying Alice M. Cheng,
Mike Wise
To ensure the quality of data in clinical trials, as well as, in other disciplines, double programming is often performed. The resulting datasets are then compared to ensure that the datasets are identical (same variables, same attributes, same observations and same variable values). While it is possible to compare two datasets by means of merging in DATA STEP, the SQL procedure and the CONTENTS procedure, the COMPARE procedure in SAS offers relatively simple, yet powerful way to perform validation. In this paper, the author will not only provide a brief introduction of the COMPARE procedure, but will also share with you her experience to speed up the validation process. Comparison discussed in this paper is mainly between two datasets, even though it is possible to compare variables within the same dataset using the COMPARE procedure. Below are the topics that will be covered in this paper proc compare, proc step, data cleaning, out=, sysrc, by group processing, call execute, where statement, clinical trial, adam dataset, cdisc 22
57 How to Use LinkedIn to Effectively Boost Your Career Development Nathaniel Derby Most of us have a LinkedIn profile and are connected with other professionals. But how can you make your LinkedIn activity really boost your career development? In this paper, from the perspectives of both a SAS programmer looking for jobs and a consultant looking for projects, I first describe your target market. With this target market in mind, I then describe the process of building up your profile, finding appropriate LinkedIn Groups (and posting to them), publishing on LinkedIn Pulse, and developing an effective network of connections. Finally, let's remember that this is a long-term process and that LinkedIn is best used as an accompaniment for face-to-face meetings and not a substitute for them. If you effectively use these strategies (or develop similar ones on your own), you should have considerably more and better career opportunities than you ever had before! 10
58 Hybrid recommendation system to provide suggestions based on user reviews Ravi Shankar Subramanian,
Shanmugavel Gnanasekar
If you have ever shopped on Amazon, Pandora or Netflix, you would have probably experienced recommendation systems in action. These systems analyze the historical buying behavior of their customers and make real time recommendations to them. The back end of these systems contain data mining models that make predictions about the product relevant to you. We plan to build a similar hybrid recommender system to suggest restaurants. We intend to combine content from Yelp reviews, users profile, and their ratings/reviews for each restaurant visited, restaurant details and tips provided by the user. To implement our idea, we downloaded 2.2M reviews and 591K tips by 552,000 users from the Yelp website. The dataset for 77,000 restaurants contain information such as user profile information. Traditional systems utilize only user's ratings to recommend new restaurants. However, the system we propose will use both user's reviews or content and ratings to provide recommendations recommendation engine, proc sql, macro loop, proc step, create table, macro definition, data mining 10
59 I Have a Secret: How Can I Hide Small Numbers from Public View? Fred Edora Due to many federal, state, and local regulations, maintaining privacy is not simply a requirement but also of utmost importance when reporting education data to the public. Special education data is no exception. Because of the highly sensitive nature of data associated with students, we must be vigilant in ensuring that data is transparent while also meeting all necessary privacy regulations. In most cases surrounding publicly reported data, numbers 10 and under must stay hidden and cannot be reversed engineered. How can this be achieved? SAS is no stranger to privacy and has multiple methods on hiding small numbers in publicly reported data. This paper will cover those methods and the pros and cons of each, and is intended for beginning or intermediate SAS users proc step, user-defined format, missing value, proc freq, proc report, format statement, proc format, sample 6
60 I've Got to Hand It to You; Portable Programming Techniques Arthur L. Carpenter,
Mary F. O. Rosenbloom
As technology expands, we have the need to create programs that can be handed off - to clients, to regulatory agencies, to parent companies, or to other projects, and handed off with little or no modification by the recipient. Minimizing modification by the recipient often requires the program itself to self-modify. To some extent the program must be aware of its own operating environment and what it needs to do to adapt to it. There are a great many tools available to the SAS programmer, which will allow the program to self-adjust to its own surroundings. These include location-detection routines, batch files based on folder contents, the ability to detect the version and location of SAS, programs that discern and adjust to the current operating system and the corresponding folder structure, the use of automatic and user defined environmental variables, and macro functions that use and modify system information. Need to create a portable program? We can hand you the tools macro variable, options statement, sas log, automatic macro variable, macro put, macro function, macro definition, autocall macro, macro flow control, put statement, macro call, libname statement, macro facility 20
61 Identifying the factors responsible for loan defaults and classification of customers using SAS Enterprise Miner Juhi Bhargava,
Prashanth Reddy Musuku
Lending business is crucial to the profitability of a bank or financial institution. Loan defaults, delay in repayment by customers lead to problems in cash flow position. The last economic crisis in US was triggered by loan defaults. This study aims to identify the factors contributing towards loan defaults, delay in repayments as well as the characteristics of a borrower who will honor all the obligations of a loan. The results enable us to determine the relationship between loan and customer characteristics and the probability to default. The results may also be used to appraise and monitor credit risk at the time of loan approval and during the currency of the loan. The data set consists of all loans issued through December, 201 5 along with the loan status proc hpsplit, default, logistic regression, proc hpforest, regression analysis, response variable, logistic distribution, neural network, sensitivity analysis, proc varclus 13
62 Implementing a Medicaid Claims Processing System using SAS software A Novel Implementation of BASE SAS Using Limited Resources in an Effective Manner Stephen C. DeVoyd When you think of Base SAS what comes to mind? A processor of huge amounts of data which can be presented in a myriad of ways? Charts and graphs, detailed spreadsheets? Perhaps you think of advanced statistical measures? The Ohio Department of Developmental Disabilities (ODoDD) utilizes base SAS in a novel or unconventional way. The purpose of this abstract will be to explain how ODoDD utilizes SAS to support claims processing for over 40,000 individuals served by almost 15,000 Medicai d waiver providers for each of the 4 Medicaid Waivers administered by ODoDD. Each week over 6,000 claims files are collected electronically at the DODD secured website. These files are processed by a series of complex programs which evaluate an average of 600,000 claims weekly using data from SAS datasets which are sized from a few records to over 200,000,000 records proc sql, options statement, bufsize, proc step, cpu time, keep statement, excel, sas base, set statement, txt 21
63 Importing CSV Data to All Character Variables Arthur L. Carpenter Have you ever needed to import data from a CSV file and found that some of the variables have been incorrectly assigned to be numeric? When this happens to us we may lose information and our data may be incomplete. When using PROC IMPORT on an EXCEL file we can avoid this problem by specifying the MIXED=YES option to force all the variables to be character. This option is not available when using IMPORT to read a CSV file. Increasing GUESSINGROWS can help, but what if it is not sufficient? It is possible to force IMPORT to only create character variables. Although there is no option to do this, you can create a process that only creates character variables, and the process is easily automated so that no intervention is required on the user's part proc import, proc step, dataset, character variable 5
64 Intermediate SAS Macro Programming Chuck Kincaid The SAS Macro Language powerfully enhances a programmer's capabilities by providing an advanced level of flexibility and robustness to otherwise static programs. Programmers can use the Macro language to create dynamic programs that can be re-used in new situations, driven by the data, dependent upon the operating environment, and made to handle repetition without extensive coding. This Hands -On Workshop will explore some of the more advanced capabilities with the SAS Macro Language that may not be familiar to those just starting in the language. Some of the features explored include understanding variable scope, interacting with data steps, evaluating expressions, quoting variables, macro looping, macro debugging, and creating data driven programs. Basic experience with macro programming is assumed macro variable, macro put, data step, macro loop, %if-%then-%else, decimal, macro facility, call symput, proc options, proc step, macro definition 19
65 Is My Model the Best? Methods for Exploring Model Fit Deanna Naomi Schreiber-Gregory In the submission/presentation phase of any research or analytics project, it is reasonable to expect the reception of many types of questions aimed at clarifying the reliability and accuracy of the project's results. One of the most common questions to expect would be: "So the model provides a feasible answer to the question, but does it provide the best answer?" One way to answer this question with utmost confidence is to provide a variety of model fit analyses designed to support the conclusion of your final model. This paper provides a variety of techniques aimed at model fit exploration including default procedure settings as well as additive options. This paper will review the theory behind each of these fit procedures and the pros and cons of their use. Optional R-square calculations will also be explored. This paper is intended for any level of SAS user. This paper is also written to an audience with a background in behavioral science and/or statistics proc step, akaike information criterion, bayesian information criterion, proc logistic, logistic distribution, response variable, proc genmod, proc reg, regression analysis, proc phreg 7
66 Key Tips for SAS Grid Users Venkateswarlu Toluchuri SAS Grid Manager, often mistaken as a single entity, has many facets and provides an overarching functional toolset to improve the performance and resource utilization of SAS applications and programs. While SAS Grid is a cluster node system, SAS Grid Man ager is the controller for job scheduling and load balancing which are instrumental to optimize processing. Built on a third-party product Platform LSF TM SAS Grid Manager enables SAS applications to manage workloads more efficiently across for many virtual and physical platforms. Thus, it is critical to understand how SAS Grid environment can be used effectively to manage available resources for critical application requirements, without dependency on SAS Administrator. This paper aims to highlight issues commonly faced by new SAS Grid users, specifically those have worked previously on a traditional environment (Non -Grid), and subsequently tips to navigate through those issues sas grid, sas programmer 10
67 Leads and Lags: Static and Dynamic Queues in the SAS DATA STEP Mark Keintz From stock price histories to hospital stay records, analysis of time series data often requires use of lagged (and occasionally lead) values of one or more analysis variable. For the SAS user, the central operational task is typically getting lagged (lead) values for each time point in the data set. While SAS has long provided a LAG function, it has no analogous "lead" function - an especially significant problem in the case of large data series. This paper will (1) review the lag function, in particular the powerful, but non-intuitive implications of its queue-oriented basis, (2) demonstrate efficient ways to generate leads with the same flexibility as the lag function, but without the common and expensive recourse to data re-sorting, and (3) show how to dynamically generate leads and lags through use of the hash object lag function, set statement, hash table, time series analysis, by group processing, missing value, hash iterator 15
68 List Processing Macro Function CallText: Read a Control Data Set and Unquote each Item Ronald J. Fehd macro variable, macro put, %if-%then-%else, macro function, proc print, proc step, macro loop, macro definition, data statement, macro quoting function 9
69 Macro method to use Google Maps and SAS to find the shortest driving and straight line distances between 2 addresses in the United States Laurie Bishop Google Maps is a very useful tool in finding driving distances between addresses and defining a geographic representation of an address which can be used to find straight line distances between two addresses. Often distances between addresses and geocoding for locations can be useful in research. Using macro and DATA STEP SAS code, the shortest driving distance between two addresses can be found by searching the html code resulting from a Google Maps driving directions search between two addresses in the United States. In addition, a search of the html code resulting from a singular address Google Maps search, will enable one to define the latitude and longit ude for a location. This will allow use of the SAS GEODIST function to find the strai ght line distance between locations. Partial addresses are taken into consideration with this method, which was developed using SAS v9.3 for Windows data step, filename statement 10
70 Mentoring and Oversight of Programmers across Cultures and Time Zones Chad W. Melson The career path of a SAS programmer often develops in one of two ways, either as a 100% full-fledged programmer or as a manager with little to no opportunity to contribute as a programmer. Jobs that provide the opportunity to do both are not always available, especially in the w orld of consulting. Fortunately, I had the opportunity to take a role as a liaison between clinical SAS programmers located in Ukraine and a client located on the US West Coast, while also maintaining my own project responsibilities as a programmer. This liaison position offered me a chance to mentor Ukrainian colleagues and apply and develop my technical and managerial skills. This was a new model for the client and there was some apprehension about the time difference and the unknowns of working with a team from a global region they had no prior experience with clinical sas, lag function, clinical programming, sas programmer, data science 6
71 Multicollinearity: What Is It and What Can We Do About It? Deanna Naomi Schreiber-Gregory proc corr, correlation 2
72 Name that Function: Punny Function Names with Multiple MEANings and Why You Do Not Want to be MISSING Out Ben Cochran,
Arthur L. Carpenter
The SAS DATA STEP is one of the best (if not the best) data manipulators in the programming world. One of the areas that gives the DATA STEP its flexibility and power is the wealth of functions that are available to it. With over 450 functions in the DATA STEP it is difficult to learn and remember them all, however understanding how to take advantage of the power of these functions is key to taking full advantage of the DATA STEP. This paper takes a PEEK at some of those functions whose names have more than one MEANing. While the subject matter is very serious, the material will be presented in a way that is guaranteed not to BOR the audience. Syntax will be discussed and examples of how these functions can be used to manipulate data will be demonstrated. With so many functions available and with less than an HOUR to present, we obviously will have to TRIM our list so that the presentation will fit within the allotted TIME date variable, sysdate9, character functions, poisson distribution 11
73 Painless Extraction: Options and Macros with PROC PRESENV Keith Fredlund,
Thinzar Wai
The PRESENV procedure was introduced as part of SASTM version 9.4, but little has been written about the capabilities of this procedure. The PRESENV procedure works in tandem with the PRESENV system option allowing the user to preserve certain global options, macro variables, formats, and temporary data across SAS sessions. The PRESENV option can be turned on and off anytime within a program and a collection of global statements will be collected accordingly. This paper details procedure syntax, provides example code and output, and describes potential uses and limitations. Emphasis within the paper is given to use of the procedure to debug code written by others, macro value evaluation and the creation of a template for other programs. This procedure would be beneficial for users with an intermediate level of SAS DATA STEP programming proc step, macro variable, options statement, sample, libname statement 7
74 Performing Pattern Matching by Using Perl Regular Expressions Arthur X. Li SAS provides many DATA STEP functions to search and extract patterns from a character string, such as SUBSTR, SCAN, INDEX, TRANWRD, etc. Using these functions to perform pattern matching often requires utilizing many function calls to match a character position. However, using the Perl Regular Expression (PRX) functions or routines in the DATA STEP will improve pattern matching tasks by reducing the number of function calls and making the program easier to maintain. In this talk, in addition to learning the syntax of Perl Regular Expressions, many real- world applications will be demonstrated numeric variable, prxparse, prxchange, prxmatch, sas log, substr function, cpu time, sas output, numeric constant, prxposn, character constant 12
75 Pre-Data Checks for SDTM Development Abhinav Srivastva In clinical trials SDTM development is a critical step in transforming raw data coming from CRFs into a standard format for FDA submission and building the foundation for downstream analysis and reporting (ADaM, TLFs, Define.xml etc). OpenCDISC (or Pinnacle 21) is a common tool used to validate SDTM datasets, but not enough effort is dedicated towards pre-processing the data coming from CRFs. The paper is targeted towards identifying basic data integrity checks that can be done at an early stage to get a full awareness of the data quality before proceeding with SDTM development. These checks are driven by CDISC compliance standards and are meant as pointers for SDTM programmers to initiate the investigation by raising a query with cross functional teams including Clinical data management, Vendors and Site representatives. Doing early quality checks on raw data provides an in- depth overview of how the final SDTM datasets will perform against the CDISC compliance tests adverse events, missing value, serious adverse event, sdtm domain, clinical trial, cdisc 10
76 Property and Casualty Insurance Predictive Analytics in SAS Mei Najim Although the statistical foundations of predictive analytics have large overlaps across the Property & Casualty (P&C) insurance, life insurance, banking, pharmaceutical, and genetics industries, etc., the business objectives, data availability, and regulations in these industries are different. Predictive analytics has been evolving rapidly in the P&C insurance industry for the past two decades. The use of predictiv e analytics has already become an industry best practice and will play an increasingly important role in the P&C insurance industry over the next decade. This paper will first provide an overview of predictive analytics in each of the following core business operations in the P&C insurance industry: marketing, underwriting, actuarial pricing, actuarial reserving, and claims. Then, a common P&C insurance predictive modeling process with large datasets will be illustrated with an example data mining, predictive analytics, data cleaning, proc hpsplit, feature selection, response variable, regression analysis, property insurance, insurance, logistic regression, neural network, model validation, sas enterprise guide, sas base, loss ratio, univariate analysis, significance level, logistic distribution, casualty insurance, model testing, stepwise selection, validation set, proc genmod, data transformation, incurred loss, model training, feature engineering, correlation 17
77 Protein NMR Reference Correction - A Statistical Approach for an Old Problem Xi Chen,
Hunter N. B. Moseley
scatter plot, covariance 1
78 Quantifying the relative importance of crime rate on Housing prices Aigul Mukanova As a part of Urban and Regional Economics class at University of Cincinnati students were required to have a small empirical project for hedonic house price model. Using SAS software author attempts to measure an effect of the crime on the house value in Ohio regression analysis, proc reg 7
79 Read html files and create standard tables for BISR at KUMC Chuanwu Zhang,
John Keighley,
Byron J. Gajewski
The Biostatistics and Informatics Shared Resource (BISR), an operation of University of Kansas Medical Center (KUMC) Biostatistics Department, collaborates with University of Kansas Cancer Center (KUCC) for new and revised grant applications, providing KUCC service in terms of study design, electronic Clinical Report Form (eCRF) creation, data management, statistical oversight, and analysis. Clinical trial data is entered and stored in the Velos system using eCRFs for data entry. Exporting data from tables in Velos and importing into SAS individually is time-consuming. The data entered into the eCRFs are exported into data files with an .xls file extension but they are actually html files. A macro was developed to automatically read the data from all of the html files in a folder into SAS datasets and CSV files simultaneously. This macro generates a summary report for each export/import cycle with built in error checks to ensure data quality of the conversion proc step, sample, dataset, adverse events, clinical trial, proc sql, proc transpose, clinical data, macro loop, data science, proc freq, cdisc 7
80 Recapping Two Winning ODS Layout Talks for SAS 9.4: ODS Destination for PowerPoint and the ODS PDF Destination Bari Lawhorn Get your seats now for an ODS layout doubleheader! Bari Lawhorn, SAS Senior Principal Technical Support Analyst, will present highlights from two very popular SAS Global Forum presentations about ODS layout: Jane Eslinger's 2016 paper, "The Dynamic Duo: ODS Layout and the ODS Destination for PowerPoint," and Scott Huntley's 2015 paper, "An Insider's Guide to ODS LAYOUT Using SAS 9.4." For the lead-off, Bari discusses the winning combination of ODS layout and the ODS destination for PowerPoint, which produces native PowerPoint files from your output. Using ODS destination for PowerPoint together with ODS layout enables you to dynamically place your output on each slide. Through code examples, Bari shows you how to create a custom title slide as well as place the desired number of graphs and tables on each slide. Next up in Bari's talk is the topic of the ODS LAYOUT syntax that has been preproduction in the PDF destination for many SAS versions proc step, output delivery system, title statement, end, by group processing 53
81 Recruiting and Retention Strategies for 2016 in the SAS Programmer Staffing Organizations Helen M. Chmiel,
Mindy Kiss,
Andrea Moralez
SAS Programmers in the IT staffing sector continue to be in high demand with projections of continued growth of 6% in 2016 (Braswell, December, 2015). IT overall employment from 1999 to 2013 jumped more than 41% compared with 5.5% for nonfarm employment. Additionally, median unemployment rate for "computer and mathematical occupations" through 3Q14 was 2.9% compared to the 5% overall median unemployment rate (Braswell, January, 2015). Based on these statistics, it is critical to business strategy to understand the challenges both recruiters and managers face in order to successfully mitigate them. An additional pressure on the Staffing sector is that organizations are relying more and more on a contingent workforce. The fierce competition to attract the best and the brightest talent among the limited supply of skilled workers to a market that is increasing in demand results in both a difficult recruiting and equally difficult retention environments sas programmer, sas programming 8
82 Red Rover, Red Rover, Send Data Right Over: Exploring External Geographic Data Sources with SAS Louise S. Hadden The intrepid Mars Rovers have inspired awe and Curiousity - and dreams of mapping Mars using SAS/GRAPH. This presentation will demonstrate how to import SHP file data (using PROC MAPIMPORT) from sources other than SAS and GfK to produce useful (and sometimes creative) maps. Examples will include mapping neighborhoods, zcta5 areas, postal codes and of course, Mars. Products used are Base SAS and SAS/GRAPH. SAS programmers of any skill level will benefit from this presentation proc step, proc gmap, response variable 9
83 Reducing Customer Attrition with Predictive Analytics for Financial Institutions Nathaniel Derby,
Mark Keintz
As smaller banks market themselves to increase their market share against the big banks, they understandably focus on gaining new customers. However, they must also retain (and further engage) their existing customers. Otherwise, the new customers they gain can easily be offset by existing customers who leave. Happily, by using predictive analytics as described in this paper, it can actually be much easier and less expensive to keep (and further cultivate) existing customers than to enlist new ones. This paper provides a step-by-step overview of a relatively simple but comprehensive approach to reduce customer attrition. We first prepare the data for a statistical analysis. With some basic predictive analytics techniques, we can then identify those customers who have the highest chance of leaving and the highest value. For each of these customers, we can also identify why they would leave, thus suggesting the best way to intervene to retain them data cleaning, attrition, gain chart 15
84 Regression Analysis of the Levels of Chlorine in the Public Water Supply in Orange County, FL Drew Doyle Public water supplies contain disease-causing microorganisms in the water or transport ducts. In order to kill off these pathogens, a disinfectant, such as chlorine, is added to the water. Chlorine is the most widely used disinfectant in all U.S. water treatment facilities. Chlorine is known to be one of the most powerful disinfectants to restrict harmful pathogens from reaching the consumer. In the interest of obtaining a better understanding of what variables affect the levels of chlorine in the water, this thesis will analyze a particular set of water samples randomly collected from locations in Orange County, Florida. Thirty water samples will be collected and have their chlorine level, temperature, and pH recorded. The chlorine levels will be read by a LaMotte Model DC1100 Colorimeter and will output the amount of chlorine in parts per million (ppm). This colorimeter will read the total chlorine of the sample, including both free and combined chlorine levels sample, binary variable, predictor variable, stepwise selection, proc step, regression analysis, backward selection, forward selection, f-test, outlier, proc reg, cook's distance, correlation 11
85 Removing Duplicates Using SAS Kirk Paul Lafler We live in a world of data - small data, big data, and data in every conceivable size between small and big. In today's world data finds its way into our lives wherever we are. We talk about data, create data, read data, transmit data, receive data, and save data constantly during any given hour in a day, and we still want and need more. So, we collect even more data at work, in meetings, at home, using our smartphones, in emails, in voice messages, sifting through financial reports, analyzing profits and losses, watching streaming videos, playing computer games, comparing sports teams and favorite players, and countless other ways. Data is growing and being collected at such astounding rates all in the hopes of being able to better understand the world around us proc step, proc sort, proc sql, proc means, group by 9
86 Ron Fehd, SAS-L's Macro Maven, Answers Your Macro Questions Ronald J. Fehd macro variable, macro definition 6
87 SAS Advanced Programming with Efficiency in Mind: A Real Case Study Lingqun Liu This paper uses a real work example to demonstrate the concept and some basic tips of SAS programming efficiency. The first section of the paper introduces the background of a SAS application and its performance metrics. The second section analyzes the structure and features of the SAS application. The third section analyzes the log of the application to identify efficiency issues. In addition, in this section a log analysis utility is introduced. The fourth section provides a re-developed version of the application with performance improved to reduce 99.6% of its runtime. The last section tries to raise awareness of SAS programming efficiency and suggests some basic tips. The application discussed in the paper has been tested with SAS 9.2, 9.3 and 9.4 on Windows machines. The target audience includes SAS programmers from beginner to advanced level proc step, macro definition, proc print, macro loop, do loop, file statement, sas programming, proc sort 10
88 SAS Automation & SAS Code Improvement (Making Codes Dynamic) Arjun Kumar Shrestha Process automation using dynamic SAS code will save time and money, giving your team more time to innovate rather than doing manua l work. SAS automation is achieved by having a good architectural design, database design, robust IT infrastructure, and fluid work environment with some easy considerations and out of the box thinking, it is possible to build more dynamic SAS codes proc sql, create table, proc step 14
89 SAS Debugging 101 Kirk Paul Lafler SAS users are almost always surprised to discover their programs contain bugs. In fact, when asked users will emphatically stand by their programs and logic by saying they are bug free. But, the vast number of experiences along with the realities of writing code says otherwise. Bugs in software can appear anywhere; whether accidentally built into the software by developers, or introduced by programmers when writing code. No matter where the origins of bugs occur, the one thing that all SAS users know is that debugging SAS program errors and warnings can be a daunting, and humbling, task. This presentation explores the world of SAS bugs, providing essential information about the types of bugs, how bugs are created, the symptoms of bugs, and how to locate bugs. Attendees learn how to apply effective techniques to better understand, identify, and repair bugs and enable program code to work as intended options statement, sas log, data cleaning, hash table, proc step 13
90 SAS Grid Administration Made Simple Scott Parrish,
Linda Zeng,
Paula Kavanagh
Historically, administration of your SAS Grid Manager environment has required interaction with a number of disparate applications including Platform RTM for SAS, SAS Management Console, and command line utilities. With the third maintenance release of SAS 9.4, you can now use SAS Environment Manager for all monitoring and management of your SAS Grid. The new SAS Environment Manager interface gives you the ability to configure the Load Sharing Facility (LSF), manage and monitor high-availability applications, monitor overall SAS Grid health, define event-based alerts, and much, much more through a single, unified, web-based interface sas grid, audit trail 53
91 SAS/GRAPH and GfK Maps: a Subject Matter Expert Winning Combination Louise S. Hadden SAS has an amazing arsenal of tools to use and display geographic information that is relatively unknown and underutilized. High quality GfK Geocoding maps have been provided by SAS since SAS 9.3 M2, as sources for inexpensive map data dried up. SAS has been including both GfK and "traditional" SAS map data sets with licenses for SAS/GRAPH for some time, recognizing there will need to be an extended transitional period. However, for those of us who have been putting off converting our SAS/GRAPH mapping programs to use the new GfK maps, the time has come, as the "traditional" SAS map data sets are no longer being updated. If you visit SAS MapsOnline, you will find only GfK maps in current maps. The GfK maps are updated once a year. This presentation will walk through the conversion of a long-standing SAS program to produce multiple US maps for a data compendium to take advantage of GfK maps. Products used are Base SAS and SAS/GRAPH proc step, proc freq, create table, proc sql 14
92 Simplifying Effective Data Transformation Via PROC TRANSPOSE Arthur X. Li You can store data with repeated measures for each subject, either with repeated measures in columns (one observation per subject) or with repeated measures in rows (multiple observations per subject). Transforming data between formats is a common task because different statistical procedures require different data shapes. Experienced programmers often use ARRAY processing to reshape the data, which can be challenging for novice SAS users. To avoid using complex programming techniques, you can also use the TRANSPOSE procedure to accomplish similar types of tasks. In this talk, PROC TRANSPOSE, along with its many options, will be presented through various simple and easy-to-follow examples proc transpose, proc step, by group processing, repeated measures 13
93 Simplifying Your %DO Loop with CALL EXECUTE Arthur X. Li One often uses an iterative %DO loop to execute a section of a macro repetitively. An alternative method is to utilize the implicit loop in the DATA STEP with the EXECUTE routine to generate a series of macro calls. One of the advantages in the latter approach is eliminating the needs of using indirect referencing. To better understand the use of the CALL EXECUTE, it is essential for programmers to understand the mechanism and the timing of macro processing to avoid programming errors. These technical issues will be discussed in detail in this paper call execute, macro loop, macro call, do loop, macro facility 5
94 Solving Common PROC SQL Performance Killers when using ODBC John Schmitz The PROC SQL routine is commonly used by many SAS programmers. However, poorly formed queries can create needless performance killers. This paper reviews common SQL coding practices observed in code reviews and provides simple alternatives that can dramatically reduce query run time and required resources. This paper will focus on techniques that should be comfortable to SQL programmers and yet can shave 75 percent or more off of query run times proc sql, proc step, where statement, create table, implicit sql pass-through, sql pass-through, lookup, create view, order by, natural key, character variable, dataset 11
95 Sorting a Bajillion Records: Conquering Scalability in a Big Data World Troy Martin Hughes "Big data " is often distinguished as encompassing high volume, velocity, or variability of data . While b ig data can signal big business intelligence and big business value, it also can wreak havoc on systems and software ill-prepared for its size. Scalability describes the ability of a system or software to meet the needs of additional users or its ability to utilize additional processors or resources to fulfill those added requirements. Scalability also describes the adequate and efficient response of a system to increased data throughput. Because sorting data is one of the most common as well as resource-intensive operations in any software language, inefficiencies or failures caused by big data are often first observed during sorting routines. Much SAS literature has been dedicated to optimizing big data sorts for efficiency, including minimizing execution time and, to a lesser extent, minimizing resource usage (i.e., memory and storage consumption ) proc sort, proc step, hash table, cpu time, sample, big data, proc sql, character variable, work library, memory usage, exception handling, sorted data, sas base, numeric variable, key performance indicator, options statement, macro variable, macro facility, macro loop, macro definition, by group processing, if-then-else, order by, sysrc, sas library, %if-%then-%else, macro put 29
96 Statistical Volunteering With SAS - Experiences and Opportunities David J. Corliss This presentation brings together experiences from SAS professionals working as volunteers for organizations, charities, and in academic research. Pro bono work, much like that done by physicians, attorneys and professionals in other areas is rapidly growing in statistical practice as an important part of a statistical career, offering the opportunity to utilize your skills in a places where they are so needed but cannot be supported in a for-pay position. Statistical volunteers also gain important learning experiences, mentoring, networking, and other opportunities for professional development. The presenter will share experiences from volunteering for local charities, NGO's and other organizations and causes, both in the US and around the world. The mission, methods and focus of some organizations are presented, including DataKind, Statistics Without Borders, Peace-Work and others data science, cluster analysis 8
97 StatTag: A New Tool for Conduction Reproducible Research with SAS Abigail Baldridge,
Luke Rasmussen,
Leah Welty
1
98 Stress Testing and Supplanting the SAS LOCK Statement: Implementing Mutex Semaphores To Provide Reliable File Locking in Multiuser Environments To Enable and Synchronize Parallel Processing Troy Martin Hughes The SAS LOCK Statement was introduced in SAS 7 with great pomp and circumstance, as it enabled SAS software to lock data sets exclusively. In a multiuser or networked environment, an exclusive file lock prevents other users and processes from accessing and accidentally corrupting a data set while it is in use. Moreover, because file lock status can be tested programmatically with the LOCK statement return code (&SYSLCKRC) , data set accessibility can be validated before attempted access , thus preventing file access collis ions and facilitating more reliable, robust software. Notwithstanding the intent of the LOCK statement, stress testing demonstrated in this text illustrates vulnerabilities in the LOCK statement that render its use inadvisable due to its inability to lock data sets reliably outside of the SAS/SHARE environment parallel processing, stress testing, txt, sysrc, sas base, proc freq, cpu time, dataset, sample, macro variable, likelihood function, sas enterprise guide, %if-%then-%else 27
99 Surviving Septic Shock: How SAS Helped a Critical Care Nursing Staff Fulfill Its Septic Shock Reporting Requirements Joe Palmer Sepsis is the result of a body's response to a bacterial or fungal infection and often results in organ damage and subsequent mortality. Starting in October 2015, The Centers for Medicare & Medicaid Services (CMS) requires hospitals to collect and submit data for patients that have severe sepsis and septic shock. Reporting requirements include pinpointing the time in which 2 indicators of Systemic Inflammatory Response Syndrome (SIRS) and 1 indicator of organ failure occur within a 6 hour period. In total, there are 4 indicators of SIRS and 8 indicators of organ failure. In addition, hospitals must report the time in which treatment was started. Manually looking up diagnostic and treatment times in the electronic medical record (EMR) system of a hospital is a lengthy process, even for an experienced nurse. A SAS program was created to query clinical data in a database fed by an electronic medical record system macro variable, proc step, proc report, proc sql, excel 12
100 The Joinless Join ~ The Impossible Dream Come True; Expand the Power of Base SAS and SAS Enterprise Guide in a New Way Kent Phelps,
Ronda Phelps
Base SAS and SAS Enterprise Guide can easily combine data from tables or data sets by using a PROC SQL Join to match on like columns or by using a DATA STEP Merge to ma tch 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 will teach you how to expand the power of Base SAS and 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 step, proc sql, proc freq, sas enterprise guide, sas base, data cleaning, proc report, record count, inner join 49
101 The Power of Cumulative Distribution Function (CDF) Plot in Assessing Clinical Outcomes Min Chen,
Patricia Kultgen
Clinical endpoints (e.g., antibody concentrations, quality of life scores ) are generally collected quantitatively at baseline and follow-up windows in clinical trials. One popular way of assessing efficacy is to use a prospectively determined criterion to define success. One caveat of this method is that the pre- defined criterion is generally subjective and might not be the best for specific studies. This is especially true for trials at exploratory phases. In addition, the success/failure outcome does not illustrate the whole story. The purpose of this paper is to encourage the use of the Cumulative Distribution Function (CDF) plot to display the empirical data, and evaluate outcomes at multiple standards. All the graphs and statistics are generated using SAS 9.2 in window system, and only basic SAS skills are required to repeat these efforts probability distribution, clinical endpoint, clinical trial, cumulative frequency, proc gplot, treatment effect, proc sql, proc step 6
102 The Practice of Credit Risk Modeling for Alternative Lending Keith Shields,
Bruce S. Lund
In recent years, data scientists in the credit risk profession have experienced less freedom to deviate from industry-accepted practices because the biggest users of credit risk models (banks and large lenders) are the very institutions that face increased regulatory pressure since the 2008 crisis. Regulators have thus been less anxious to bless practices that deviate from the "scorecard and cutoff score" paradigm. But things are changing. The lending industry is demanding innovation and creativity from its data scientists more than ever. The rise of alternative lending, driven mainly by Marketplace lenders (aka Pier -to-Pier lenders), is built on the notion that web-based platforms can integrate customer-facing technology and Big Data to acquire, fund, and underwrite loans in a manner that is more targeted and efficient than banks currently do today credit risk, regression analysis, credit score, data science, logistic regression, logistic distribution, sample 8
103 The State of Human Trafficking in the Cincinnati Metropolitan Area - a Statistical Case Study David J. Corliss,
Heather M. Hill
A statistical profile is presented of human trafficking in the Cincinnati area. Working data and expertise from local agencies combating this problem and data from the National Human Trafficking Resource Center (NHTRC), volunteer statisticians have performed geographic, demographic and socio -economic analyses. Summary statistics show the scope of the problem here in the Cincinnati area, while predicting modeling identifies locations, times, practices and other key indicators of this crime. These analyses are performed entirely using SAS University Edition, a free version of SAS software available to university researchers, students, and other non-commercial applications fixed effects, proc mixed, proc step, regression analysis, data science 8
104 Time is of Essence: The power of "MISS" is "NOT being missed"! Gowri Madhavan,
Brittney Delev
Faced with managing data from an external databases such as REDCap (research electronic data capture) for customers; one is often encountered with analyzing data and must conduct quick data manipulation for validating, error checking and running reports. REDCap provides the ability to export data into SAS using macro driven codes into SAS datasets. Time is always of essence and as your clock is ticking away, let the NMISS and CMISS twin codes take charge of your data that will display the number of missing values for each variables and count of missing values for each observation. The NMISS used with a PROC MEANS statement will display missing values for each variable. This coupled with the CMISS function can store the number of missing values for both numeric and character variable for each observation. These codes are powerful when used together to generate a SAS dataset using a mathematical operator that will produce the observations with missing values missing value, proc step, macro variable, dataset, missing function, proc mi, data cleaning 11
105 Tips and Tricks for Producing Time-Series Cohort Data Nathaniel Derby Time-Series cohort data are needed for many applications where we're tracking performance over time. We show some simple coding techniques for effectively and efficiently producing time-series cohort data with SAS macro variable, macro function, macro definition 6
106 To be two or not be two, that is a LOGISTIC question Robert G. Downer A binary response is very common in logistic regression modeling. The binary outcome could be the only possible construction of the response but it also could be the result of collapsing of additional response categories. Potential advantages of a binary response include easier interpretation of odds ratios and a single fitted model. Some information will be sacrificed through collapsing but what about other implications? Consequences such as model simplicity and prediction performance are explored through the investigation of data involving an immigration program. Two detailed PROC LOGISTIC examples give relevant syntax and output for a baseline multinomial logit model and a standard binary logistic model. Utilizing standard SAS Stat procedures for exploratory analysis is shown to be very practical for understanding the modeling. Some familiarity with logistic regression would be helpful for understanding this paper logistic distribution, logistic regression, proc logistic, proc step, regression analysis, interaction effect, main effect, maximum likelihood estimation, odds ratio, predictor variable, likelihood function 10
107 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, proc sql, cpu time, options statement, proc step, where statement 10
108 Two Shades of Gray: Implementing Gray's Test for Equivalence of CIF in SAS 9.4 Tyler Ward,
Zachary Weber
Prior to SAS 9.4, the only way to test for equivalence over CIFs for competing risks in survival analysis was to use the %cif macro. With the implementation of SAS 9.4 this test can be easily achieved using PROC LIFETEST. This paper will highlight, using a dataset of survival data, the two methods of completing this task in SAS with emphasis on the differing output and how the calculations vary slightly. The goal will be for the user to save time by switching from the macro and to begin using the standardized method through PROC LIFETEST proc step, proc phreg, competing risks 7
109 Use Multi-Stage Model to Target the Most Valuable Customers Chao Xu,
Jing Ren,
Hongying Yang
To predict the likelihood of customers to be engaged with the business, logistic model is usually employed in the current marketing industry. For example, marketers utilize logistic regression model to predict the probability of customer 's response to a marketing offer . As su ch, only those customers with higher propensity to respond will be selected for targeting to minimize the cost and maximize the return on investment (ROI). However, logistic model does not consider customer's value after response, which should be also important to the business. In this paper, we define the most valuable customers as the ones who have high propensity to respond and to be engaged longer. W e combine logistic regression model with survival model to target t hese most valuable customers. PROC LOGISTIC, PROC LIFETEST and PROC PHREG are explored and utilized in the two-stage model. We compare our predicted results with the results which are generated from traditional logistic regression model logistic regression, regression analysis, logistic distribution, proc step, likelihood function, survival analysis, kaplan-meier estimator, proc phreg, feature selection, survival function, hazard ratio, hazard function, proc plm, data cleaning, predictor variable, response variable 10
110 Using Animation to Make Statistical Graphics Come to Life Jesse M. Pratt The Statistical Graphics (SG) procedures and the Graph Template Language (GTL) are capable of generating powerful individual data displays. What if one wanted to visualize how a distribution changes with different parameters, how data evolve over time, or to view multiple aspects of a three dimensional plot? By utilizing macros to generate each a graph for each frame, combined with the ODS PRINTER destination, it is possible to create .gif files to create effective animated data displays. This paper outlines the syntax and strategy necessary to generate these displays, as well as provides a handful of exam ples. Intermediate knowledge of PROC SGPLOT, PROC TEMPLATE, and the SAS MACRO language is assumed normal distribution, proc sgplot, graph template language, proc step, sample, beta distribution, missing value, response variable 10
111 Using Big Data to Visualize People Movement Using SAS Basics Stephanie R. Thompson Visualizing the movement of people over time in an animation can provide insights that tables and static graphs cannot. There are many options but what if you want to base the visualization on large amounts of data from several sources? SAS is a great tool for this type of project. This paper will summarize how visualizing movement was accomplished using several datasets, large and small, and the various SAS PROCS to pull it together. The use of a custom shape file will also be highlighted. The end result is a gif which can be shared that provides insights not available with other methods proc step, macro variable, create table, proc gmap, proc sql, macro loop 10
112 Using SAS to Generate p-Values with Monte Carlo Simulation Brandy R. Sinco,
Edith Kieffer,
Michael S. Spencer,
Michael Woodford,
Gloria Palmisano,
Gretchen Piatt,
Michele Heisler
Background. When multiple comparisons are made between groups, the type-1 error rate, typically .05, becomes inflated. The statistical literature indicates that Monte Carlo simulation, using bootstrap and permutation tests, is an effective method to address the inflated error risk from multiple comparisons. Objective. Discuss the theory behind bootstrap and permutation tests, and demonstrate how to generate bootstrapped p-values for commonly used analysis methods. Techniques to be covered include comparisons of counts and percentages, t-tests for means, linear regression, logistic regression, and linear mixed models. SAS Procedure Focus. For comparisons between counts and percentages, PROC FREQ has user- friendly features to adjust for Monte Carlo simulation. Although PROC TTEST does not have multiple comparison adjustment, PROC MULTTEST is an excellent alternative. For logistic regression, PROC LOGISTIC has a Monte Carlo simulation option on both the Estimate and LSMEANS statements monte carlo, proc step, sample, proc plm, proc freq, proc mixed, confidence interval, bootstrap, regression analysis, permutation test, proc reg, proc genmod, logistic distribution, proc glm, proc glimmix, proc logistic, exact test, logistic regression, histogram, fisher exact test 14
113 Utilizing PROC CONTENTS with Macro Programming to Summarize and Tabulate Copious Amounts of Data Kathryn Schurr,
Erica Goodrich
As more complex data becomes available, the challenges and time needed to explore this data increases. Tabulating and summarizing large amounts of varying data takes a large amount of time and effort to code univariate explorations. By using PROC CONTENTS on similarly formatted fields within a data source and implementing macro programming, a user can produce numerous frequency or means tables with minimal coding effort proc contents, proc step, macro definition, macro variable, proc freq 9
114 WAPTWAP, but remember TMTOWTDI Jack N. Shoemaker Writing a program that writes a program (WAPTWAP) is a technique that allows one to solve computing problems in a flexible and dyn amic fashion. Of course, there is more than one way to do it (TMTOWTDI). This presentation will explore three WAPTWAP methods available in the SAS system proc step, put statement, macro variable, proc fcmp, proc print, title statement, macro loop, proc sql 4
115 Weight of Evidence Coding and Binning of Predictors in Logistic Regression Bruce S. Lund Weight of evidence (WOE) coding of a nominal or discrete variable is widely used when preparing predictors for usage in binary logistic regression models. When using WOE coding, an important preliminary step is binning of the levels of the predictor to achieve parsimony without giving up predictive power. These concepts of WOE and binning are extended to ordinal logistic regression in the case of the cumulative logit model. SAS code to perform binning in the binary case and in the ordinal case is discussed. Lastly, guidelines for assignment of degrees of freedom for WOE-coded predictors within a fitted logistic model are discussed. The assignment of degrees of freedom bears on the ranking of logistic models by SBC (Schwarz Bayes). All computations in this talk are performed by using SAS and logistic regression, logistic distribution, proc logistic, proc step, degrees of freedom, correlation, regression analysis, likelihood function, ordinal logistic regression, data mining, macro definition 16
116 What to Expect When You Need to Make a Data Delivery... Helpful Tips and Techniques Tom McCall,
Louise S. Hadden
Making a data delivery to a client is a complicated endeavor. There are many aspects that must be carefully considered and planned for: de-identification, public use versus restricted access, documentation, ancillary files such as programs, formats, and so on, and methods of data transfer, among others. This paper provides a blueprint for planning and executing your data delivery proc step, data wrangling, dataset, excel, label statement 7
117 What's Hot - Skills for SAS Professionals Kirk Paul Lafler 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 in the world of the professional SAS user. Topics include Enterprise Guide, PROC SQL, PROC REPORT, Output Delivery System (ODS), Macro Language, DATA STEP programming techniques such as arrays and hash objects, SAS University Edition software, technical support at support.sas.com, wiki-content on sasCommunity.org, published "white" papers on LexJansen.com, and other venues sas 9, sas base 18
118 When ANY Function Will Just NOT Do Richann J. Watson,
Karl Miller
1
119 Working with the SAS ODS EXCEL Destination to Send Graphs, and Use Cascading Style Sheets When Writing to EXCEL Workbooks William E. Benjamin Jr. This Hands-On-Workshop will explore the new SAS ODS EXCEL destination and focus on how to write EXCEL Worksheets with output from SAS Graph procedures and spice it up using Cascading Style Sheet features available on modern computer systems. Note that the ODS EXCEL destination is a BASE SAS product, which makes it available on all platforms. The workshop will be limited to the Windows platform, but it should be simple to port the code to other operating systems. The code will be on the computers and you will get a chance to see how it handles excel, xls, output delivery system, sas base, proc template, proc step, cdisc 19
120 Your Local Fire Engine Has an Apparatus Inventory Sheet and So Should Your Software: Automatically Generating Software Use and Reuse Libraries and Catalogs from Standardized SAS Code Troy Martin Hughes Fire and rescue services are required to maintain inventory sheets that describe the specific tools, devices, and other equipment located on each emergency vehicle . From the location of fire extinguisher s to the make, model, and location of power tool s, inventory sheets ensure th at firefighters and rescue personnel know exactly where to find equipment during an emergency , when restocking an apparatus, or when auditing an apparatus ' inventory. At the department level, inventory sheets can also facilitate immediate identification of equipment in the event of a product recall or the need to upgrade to newer equipment. Software should be similarly monitored within a production environment, first and foremost to describe and organize code modules-often SAS macros-so they can be discovered and located when needed sas enterprise guide, macro definition 4
121 Your Place or Mine: Data-Driven Summary Statistic Precision Nancy Brucken The number of decimal places required for displaying summary statistics on a specific parameter is generally a function of the precision of the raw values collected for that parameter and the specific summary statistic requested. This logic can easily be hard-coded for tables displaying only a limited number of parameters, but becomes more difficult to maintain for tables displaying many such parameters. This paper presents a data-driven solution to the problem of displaying summary statistics at the correct level of precision for a larger number of parameters, such as are commonly found on summaries of clinical laboratory data proc means, proc step, format statement, raw data, proc sql, laboratory data 4

Back to Conf go 2017 go 2015

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.