WUSS 2016 Papers - Index
112 papers. Source: WUSS (Western Users of SAS Software) conference proceedings.
| # | Title× | Authors× | Abstract× | Keywords× | Extras | Pages |
|---|---|---|---|---|---|---|
| 1 | .LST Files with Proc Compare Result | Phaneendhar Reddy Vanam, Manvitha Yennam, Srinivas Vanam |
The most widely used method to validate programs is Double Programming, which involves two programmers working on a single program and finally comparing their outputs by using procedure like "compare". The PROC COMPARE results are generally produced in .LS T files. Most of the companies do the manual review by checking each and every .LST file to ensure that the outputs are similar. But this manual process is time consuming as well as error prone. The purpose of this paper is to use a SAS macro instead of following the manual review process. This SAS macro reads all the .LST files provided a path and creates a summary of the list files and indicating if it has issue or not and also the type of issue. |
proc compare, proc step, macro definition | source | 6 |
| 2 | A Brief Introduction to WordPress for SAS Programmers | Andra Northup | WordPress is a free and open-source content management system (CMS) based on PHP and MySQL. Features include a plugin architecture and a template system. WordPress is used by more than 26.4% of the top 10 million websites as of April 2016. In fact, SAS blogs (hosted at http://blogs.sas.com) use the WordPress platform. If you are considering starting a blog to share your love of SAS or to raise the profile of your business and are considering using WordPress, join us for a brief introduction to WordPress for SAS programmers. | source | 12 | |
| 3 | A Case of Retreatment - Handling Retreated Patient Data | Sriramu Kundoor, Seattle Genetics, Sumida Urval |
In certain clinical trials, if the study protocol allows, there are scenarios where withdrawn subjects are re-enrolled into the study for retreatment. As per CDISC guidelines these subjects need to be identified as the same subject across the multiple treatment experiences. The CDISC SDTM Implementation Guide versions 3.1.2 (Section 4.1.2.3) and 3.2 (Section 4.1.2.3) states: "The unique subject identifier (USUBJID) is required in all datasets containing subject-level data. USUBJID values must be unique for each trial participant (subject) across all trials in the submission. This means that no two (or more) subjects, across all trials in the submission, may have the same USUBJID. Additionally, the same person who participates in multiple clinical trials (when this is known) must be assigned the same USUBJID value in all trials 1." Therefore a re-treated subject cannot have two USUBJIDs in spite of being the same person undergoing the trial phase more than once. | clinical trial, sdtmig, cdisc | source | 4 |
| 4 | A Ringside Seat: The ODS Excel Destination versus the ODS ExcelXP Tagset | Chevell T. Parker | The new and highly anticipated SAS Output Delivery System (ODS) destination for Microsoft EXCEL is finally here! Available as a production feature in the third maintenance release of SAS 9.4 (TS1M3), this new destination generates native EXCEL (XLSX) files that are compatible with Microsoft Office 2010 or later. This paper is written for anyone, from entry-level programmers to business analysts, who uses the SAS System and Microsoft EXCEL to create reports. The discussion covers features and benefits of the new EXCEL destination, differences between the EXCEL destination and the older ExcelXP tagset, and functionality that exists in the ExcelXP tagset that is not available in the EXCEL destination. These topics are all illustrated with meaningful examples. The paper also explains how you can bridge the gap that exists as a result of differences in the functionality between the destination and the tagset. |
excel, format statement, proc step, output delivery system, ods excel, macro variable, proc import, datetime20., ods tagsets.excelxp, options statement, proc sgplot | source | 32 |
| 5 | A SAS macro for quick descriptive statistics | Jenna Carlson | Arguably, the most required table in publications is the description of the sample table, fondly referred to among statisticians as "Table 1". This table displays means and standard errors, and counts and percentages for the variables in the sample, often stratified by some variable of interest (e.g. disease status, recruitment site, sex, etc.). While this table is extremely useful, the construction of it can be time consuming and, frankly, rather boring. The following macro quickly constructs this table of descriptive statistics for continuous and categorical variables stratified by some grouping variable. | proc means, nominal variable, class variable, numeric variable, sample | source | 4 |
| 6 | A Waze App for Base SAS: Automatically Routing Around Locked Data Sets, Bottleneck Processes, and Other Traffic Congestion on the Data Superhighway | Troy Martin Hughes | The Waze application, purchased by Google in 2013, alerts millions of users a bout traffic congestion, collisions, construction, and other complexities of the road that can stymie motorists' attempts to get from A to B. From jackknifed rigs to jackalope carcasses, roads can be gnarled by gridlock or littered with obstacles that impe de traffic flow and efficiency. Waze algorithms automatically reroute users to more efficient routes based on user -reported events as well as historical norms that demonstrate typical road conditions. Extract -transform-load (ETL) infrastructures often repr esent serialized process flows that can mimic highways, and which can become similarly snarled by locked data sets, slow processes, and other factors that introduce inefficiency. The LOCKITDOWN SAS macro, introduced at WUSS in 2014, detects and prevents data access collisions that occur when two or more SAS processes or users simultaneously attempt to access the same SAS data set. | sysrc, key performance indicator, sample, sas base, sas enterprise guide, macro variable, %if-%then-%else, macro definition | source | 16 |
| 7 | A Well-Formatted and Easy-to-Navigate Solution for Submitting SAS Source Code in NDA Submission | Jeff Xia, Lugang Larry Xie |
As per the latest Study Data Technical Conformance Guide released by the FDA in March, 2016, sponsors are required to submit the software programs used to create all analysis datasets along with the tables and figures associated with primary and key secondary efficacy analyses. The submitted programs do not have to be executable in the agency's IT environment; they can be provided as either ASCII text files or PDF files. This paper briefly discusses the pros and cons between the formats of ASCII and PDF, and proposes a well- formatted and easy-to-navigate solution for submitting source code in an NDA. A set of SAS macros are provided to read in each individual SAS program in all folders and sub-folders, find all macros referenced, and combine them into a single PDF file with a bookmark for each section of code and each individual SAS program. | sample, macro call, adam dataset, ascii, txt, cdisc | source | 7 |
| 8 | Advanced Programming Techniques with PROC SQL | Kirk Paul Lafler | The SQL Procedure contains a number of powerful and elegant language features for SQL users. This hands-on workshop (HOW) emphasizes highly valuable and widely usable advanced programming techniques that will help users of Base-SAS harness the power of the SQL procedure. Topics include using PROC SQL to identify FIRST.row, LAST.row and Between.rows in BY-group processing; constructing and searching the contents of a value-list macro variable for a specific value; data validation operations using various integrity constraints; data summary operations to process down rows and across columns; and using the MSGLEVEL= system option and _METHOD SQL option to capture vital processing and the algorithm selected and used by the optimizer when processing a query. |
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, options statement | source | 20 |
| 9 | 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 | source | 13 |
| 10 | An Animated Guide: An Introduction to SAS Macro Quoting | Russell M. Lavery | This paper builds on a NESUG 2002 paper that described the general functioning of the SAS Macro Processor. This paper explains details of two macro masking functions: %Str and %NRStr. Basic concepts for this paper are: 1) the map of the SAS Supervisor 2) Tokens flow/pASS through the parts of the system 3) parts of the map monitor tokens as they pass through 4) the idea of SAS tokens as rule triggers for actions to be taken by parts of the map and 5) macro masking prevents the triggering of rules by preventing their recognition. Figure 1 is a map of the SAS system - the SAS Supervisor. It is suggested that this map is a very useful paradigm for understanding the SAS system. Boxes on the above map are either subroutines or storage areas and tokens flow through the components of the supervisor as SAS processes programs. | symbol table, macro catalog, macro variable, macro quoting function, %if-%then-%else, macro trigger, macro definition, macro facility, proc print, proc step, macro loop, macro function, macro call, &variable, sas base, if-then-else, txt | source | 18 |
| 11 | An Animated Guide: Incremental Response Modeling in Enterprise Miner | Russell M. Lavery | John Wanamaker is famous as a father of modern marketing. He is well-known for saying, "half of the money I spend on marketing is wasted; the trouble is I don't know which half." Net lift modeling is a technique that helps marketers to not spend money on marketing to people who would have bought the product without any marketing contact. The idea is: marketing efforts, to people who would have bought the product anyway, represent wasted effort and money. SAS Enterprise Miner has a module that makes net lift modeling both simple and fast. This paper explores some of the background and the SAS interface associated with net lift modeling. | data mining, logistic regression, regression analysis, logistic distribution, feature selection, data cleaning, effect size, roc curve, proc freq, binary variable | source | 19 |
| 12 | An Animated Guide: Insights into the Logic of the ROC Curve | Russell M. Lavery | The ROC curve is often taught to students 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 from the shape of the ROC Curve. | roc curve, histogram, type i error, sensitivity analysis | source | 8 |
| 13 | An Array of Fun: Macro Variable Arrays | Kalina Wong, Sarah Short |
When encountering repetitive programming tasks, arrays can be quite useful for reducing unnecessarily long lines of code. There are many different styles of arrays and their flavors can range from being eloquently simple to efficiently complex. The most popular or best-known uses of arrays are in DATA steps, where a couple of lines of code can individually process each variable in an array list. Although DATA STEP arrays are valuable, a programmer may want to use a list of variables outside of a DATA STEP (e.g. in a macro), in which case using macro variable arrays is more appropriate. With macro variable arrays, an array list is not limited to a single DATA STEP, but can be applied in different SAS procedures and data processing. There are many strengths and purposes of using macro variable arrays, but there are also some limitations. |
macro variable, proc step, proc sql, clinical research, macro definition, macro variable array | source | 5 |
| 14 | Animated Graphs for a New Era | Mitchell Collins, Cal Poly SLO |
As someone studying statistics in the data science era, more and more emphasis is put on illustrious graphs. Data is no longer displayed with a black and white boxplot. Using SAS macros and the Statistical Graphics procedure, you can animate graphs to turn an outdated two variable graph into a graph in motion that shows not only a relationship between factors but also a change over time. An even simpler approach for bubble plots is to use a function in JMP to create colorful moving plots that would typically require many lines of code, with just a few clicks of the mouse. | bubble plot, macro call, macro variable, proc step | source | 11 |
| 15 | Are you ready for Dec 17th, 2016 - CDISC compliant data submission? | Kevin Lee | Are you ready for Dec 17th, 2016? According to FDA Data Standards Catalog v4.4, all clinical trial studies starting after December 17th, 2016 with the exception of certain INDs will be required to have CDISC compliant data. Organizations who are unclear on their compliance status will have their understanding of FDA expectations elucidated in the paper. The paper will show how programmers can interpret and understand the crucial elements of the FDA Data Standards Catalog, which includes support begin date, support end date, requirement begin date and requirement end date of specific standards for both eCTD and CDISC. First, the paper will provide the brief introduction of regulatory recommendation of electronic submission, including methods, five modules in CTD especially m5, technical deficiencies in submission and etc. | sdtm domain, adam dataset, reviewer guide, data cleaning, data validation rules, clinical trial, cdisc | source | 6 |
| 16 | Avoid Change Control by Using Control Tables | Frank A. Ferriola | Developers working on a production process need to think carefully about ways to avoid future changes that require change control, so it's always important to make the code dynamic rather than hardcoding items into the code. Even if you are a seasoned programmer, the hardcoded items might not always be apparent. This paper assists in identifying the harder-to-reach hardcoded items and addresses ways to effectively use control tables within the SAS software tools to deal with sticky areas of coding such as formats, parameters, grouping/hierarchies, and standardization. The paper presents examples of several ways to use the control tables and demonstrates why this usage prevents the need for coding changes. Practical applications are used to illustrate these examples. | do loop, lookup, macro variable, macro loop, macro definition | source | 8 |
| 17 | Bayesian Concepts: An Introduction | John Amrhein | You employ Bayesian concepts to navigate your everyday life , perhaps without being aware that you are doing so. You rely on past experiences to assess risk, assign probable cause, navigate uncertainty, and predict the future. Yet, as a statistician, economist, epidemiologist, or data scientist, you h old tight to your frequentist methods. Why? This paper explores the philosophy of Bayesian reasoning, explains advantages to applying Bayes' rule, and confronts the criticism of subjective Bayesian priors. | bayesian statistics, posterior probability, likelihood function, sample, confidence interval, proc calis, sample size, scenario analysis, proc freq, regression analysis, prior probability | source | 8 |
| 18 | Best Practices in Machine Learning Applications | Brett Wujek | Building representative machine learning models that generalize well on future data requires careful consideration both of the data at hand and of assumptions about the various available training algorithms. Data are rarely in an ideal form that enables algorithms to train effectively. Some algor ithms are designed to account for important considerations such as variable selection and handling of missing values, whereas other algorithms require additional preprocessing of the data or appropriate tweaking of the algorithm options. Ultimate evaluation of a model's quality requires appropriate selection and interpretation of an assessment criterion that is meaningful for the given problem. This paper discusses many of the most common issues faced by machine learning practitioners and provides guidance for using these powerful algorithms to build effective models. | missing value, feature extraction, outlier | source | 23 |
| 19 | 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 w hen specific conditions are met. This is commonly done using the IF…THEN…ELSE syntax. In this paper, w e w ill explore various w ays to construct conditional SAS logic, including some tha t may provide advantages over the IF statement. Topics w ill include the SELECT statement, the IFC and IFN functions, the CHOOSE and WHICH families of functions , as w ell as some more esoteric methods. We'll also make sure w e understand the difference betw een 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 | source | 6 |
| 20 | Bringing Google Analytics, Facebook, and Twitter Data to SAS Visual Analytics | I-Kong B. Fu | Your marketing team would like to pull data from its different marketing activities into one report. What happens in Vegas might stay in Vegas, but what happens in your data does not have to stay there, locked in different tools or static spreadsheets. This paper demonstrates how to easily bring data from Google Analytics, Facebook, and Twitter into SAS Visual Analytics in order to create interactive explorations and reports on these data along with your other data for better overall understanding of your marketing effectiveness. | customer experience, web analytics | source | 12 |
| 21 | Building and Using User Defined Formats | Arthur L. Carpenter | Formats are powerful tools within the SAS System. They can be used to change how information is brought into SAS, how it is displayed, and can even be used to reshape the data itself. The Base SAS product comes with a great many predefined formats and it is even possible for you to create your own specialized formats. This paper will very briefly review the use of formats in general and will then cover a number of aspects dealing with user generated formats. Since formats themselves have a number of uses that are not at first apparent to the new user, we will also look at some of the broader application of formats. Topics include; building formats from data sets, using picture formats, transformations using formats, value translations, and using formats to perform table look-ups. | proc format, proc step, char., character variable, put statement, where statement, sysdate9, sas programmer, proc tabulate | source | 11 |
| 22 | Building Better ADaM Datasets Faster With If-Less Programming | Lei Zhang | One of major tasks in building ADaM datasets for a clinical study is to create derived variables based on a set of ADaM dataset specifications. Programmers frequently find this task time-consuming and prone to error. The main reason is that a clinical study typically has dozens of variables to derive for the safety and efficacy analyses, and those variables often have to be implemented with numerous if-else statements that require more time and effort to write, understand, and validate. In order to alleviate this tedious process, this paper introduces the if-less programming that promotes using fewer or no if-else statements in the programs. With this approach, programmers can not only write ADaM derivations shorter and quicker, but also make them easier to understand, modify, and reuse. What's more, this approach can be applied to the creation of ADaM datasets from both SDTM, and non-SDTM datasets. | if-then-else, adam dataset, when, clinical trial, data step, imputation, sample, %if-%then-%else, cdisc | source | 17 |
| 23 | Categorization of Fitbit's Customer Complaints on Twitter | Jacky Arora, Sapna Bhoir |
All companies are trying to be more customer-centric by implementing new measures to enhance the consumer experience. One such measure recently implemented by many companies is "Social Media Customer Service". According to J.D. Power, 67% of consumers have used a company's social media support page for customer service issue.[5] It has been reported that consumers can expect a reply within a couple of minutes from the support team regarding the severity of the issue. Fitbit is one such company, which has grown quite popular in the recent days. It has encouraged its customers to generate a buzz in social media by expressing their reviews, discussing the new product launch and utility of Fitbit in customer's day-to-day life. However, on the flip side, Fitbit's Twitter support page is flooded with issues that consumers are facing while using their products. There is at least one tweet (@FitbitSupport) every minute by a user or by the support team responding to a user's complaint. | parsing, dataset, data cleaning | source | 17 |
| 24 | Check Please: An Automated Approach to Log Checking | Richann J. Watson | In the Pharmaceutical industry, we find ourselves having to re-run our programs repeatedly for each deliverable. These programs can be run individually in an interactive SAS session which will allow us to review the logs as we execute the programs. We could run the individual program in batch and open each individual log to review for unwanted log messages, such as ERROR, WARNING, uninitialized, have been converted to, etc. Both of these approaches are fine if there are only a handful of programs to execute. But what do you do if you have hundreds of programs that need to be re-run? Do you want to open every single one of the programs and search for unwanted messages? This manual approach could take hours and is prone to accidental oversight. This paper will discuss a macro that will search through a specified directory and check either all the logs in the directory or check only logs with a specific naming convention or check only the files listed. | where statement, sample, macro variable | source | 10 |
| 25 | Clinton vs. Trump 2016: Analyzing and Visualizing Tweets and Sentiments of Hillary Clinton and Donald Trump | Siddharth Grover | The United States 2016 presidential campaign has seen an unprecedented amount of media coverage, numerous presidential candidates, and acrimonious debates over wide-ranging topics from candidates of both the Republican and the Democratic Party. Twitter is a dominant social medium for people to understand, express, relate and support the policies proposed by their favorite political leaders. In this paper, we analyzed the sentiment of the tweets posted by Hillary Clinton and Donald Trump on their Twitter feeds. We also analyzed the most frequent policy related keywords used by these candidates along with the Twitter handles they most frequently mentioned in their tweets. This paper demonstrates application of SAS Text Miner and SAS Sentiment Analysis Studio to process Twitter data. | proc freq, data mining | source | 9 |
| 26 | Collaborations in SAS Programming; or Playing Nicely with Others | Kristi Busico Metzger, Melissa R. Pfeiffer |
SAS programmers rarely work in isolation, but rather as part of a larger team that includes other SAS programmers such as data managers and data analysts, as well as non-programmers like project coordinators. Some members of the team -- including the SAS programmers -- may work in different locations. Given these complex collaborations, it is increasingly important to adopt approaches to work effectively and easily in teams. In this presentation, we discuss strategies and methods for working with colleagues in varied roles. We first address file organization -- putting documents in places easily found by team members -- including the importance of numbering programs that are executed sequentially. While documentation is often a neglected activity, we next review the importance of documenting both within SAS and in other forms for the non-SAS users of your team. We also discuss strategies for sharing formats and writing friendly SAS coding for seamless work with other SAS programmers. | sas programmer, excel, regression analysis, proc step | source | 8 |
| 27 | Color, Rank, Count, Name; Controlling it all in PROC REPORT | Arthur L. Carpenter | Managing and coordinating various aspects of a report can be challenging. This is especially true when the structure and composition of the report is data driven. For complex reports the inclusion of attributes such as color, labeling, and the ordering of items complicates the coding process. Fortunately we have some powerful reporting tools in SAS that allow the process to be automated to a great extent. In the example presented in this paper we are tasked with generating an EXCEL spreadsheet that ranks types of injuries within age groups. A given injury type is to receive a constant color regardless of its rank and the labeling is to include not only the injury label, but the actual count as well. Of course the user needs to be able to control such things as the age groups, color selection and order, and number of desired ranks. |
proc step, proc report, proc format, excel, proc rank | source | 9 |
| 28 | Combining Reports into a Single File Deliverable | Bill Coar | In day-to-day operations of a Biostatistics and Statistical Programming department, we are often tasked with generating reports in the form of tables, listings, and figures (TLFs). A common setting in the pharmaceutical industry is to develop SAS code in which individual programs generate one or more TLFs in some standard formatted output such as RTF or PDF. As trends move towards electronic review and distribution, there is an increasing demand for producing a single file as the deliverable rather than sending each output individually. Various techniques have been presented over the years, but they typically require post-processing individual RTF or PDF files, require a knowledge base beyond SAS, and may require additional software licenses. The use of item stores as an alternative has been presented more recently for TLFs [6][7][8]. Using item stores for PROC REPORT or the SG procedures, SAS stores the data and instructions used for the creation of each report. |
proc step, proc report, sample, adverse events, pharmaceutical industry | source | 15 |
| 29 | Constructing Confidence Intervals for the Differences of Binomial Proportions in SAS | William Garner | Given two independent binomial proportions, we wish to construct a confidence interval for the difference. The most widely known method is the Wald method (ie, normal approximation), but it can produce undesirable results in extreme cases (eg, when the proportions are near 0 or 1). Numerous other methods exist, broadly within two groups: approximate methods and exact methods. This paper presents 20 different methods for constructing such confidence intervals, 10 of which are available in SAS 9.4 procedures, while 6 others can be computed in SAS following formulas (or using PROC IML). The methods are compared by theoretical examples as well as a case study. Based on that, thoughts are given on which method to use. |
confidence interval, proc step, proc freq, likelihood function, confidence level, binomial distribution, clinical trial | source | 13 |
| 30 | Contributing to SAS By Writing Your Very Own Package | Hunter Glanz, Emily Johnson |
One of the biggest reasons for the explosive growth of R statistical software in recent years is the massive collection of user-developed packages. Each package consists of a number of functions centered around a particular theme or task, not previously addressed (well) within the software. While SAS continues to advance on its own, SAS users can now contribute packages to the broader SAS community. Creating and contributing a package is simple and straightforward, empowering SAS users immensely to grow the software themselves. There is a lot of potential to increase the general applicability of SAS to tasks beyond statistics and data management, and it's up to you! | sample, proc iml, proc step, excel | source | 5 |
| 31 | Controlling Colors by Name; Selecting, Ordering, and Using Colors for Your Viewing Pleasure | Arthur L. Carpenter | Within SAS literally millions of colors are available for use in our charts, graphs, and reports. We can name these colors using techniques which include color wheels, RGB (Red, Green, Blue) HEX codes, and HLS (Hue, Lightness, Saturation) HEX codes. But sometimes I just want to use a color by name. When I want purple, I want to be able to ask for purple not CX703070 or H03C5066. But am I limiting myself to just one purple? What about light purple or pinkish purple. Do those colors have names or must I use the codes? It turns out that they do have names. Names that we can use. Names that we can select, names that we can order, names that we can use to build our graphs and reports. This paper will show you how to gather color names and manipulate them so that you can take advantage of your favorite purple; be it 'purple', 'grayish purple', 'vivid purple', or 'pale purplish blue'. Much of the control will be obtained through the use of user defined formats. | proc step, proc format, txt, dataset, proc report, excel, proc sql | source | 11 |
| 32 | Creating Dynamic Documents with SAS in the Jupyter Notebook to Reinforce Soft Skills | Hunter Glanz | Experience with technology and strong computing skills continue to be among the most desired qualifications by employers. Programs in Statistics and other especially quantitative fields have bolstered the programming and software training they impart on graduates. But as these skills become more common, there remains an equally important desire for what are often called "soft skills": communication, telling a story, extracting meaning from data. Through the use of SAS in the Jupyter Notebook traditional programming assignments are easily transformed into exercises involving both analytics in SAS and writing a clear report. Traditional reports become dynamic documents which include both text and living SAS code that gets run during document creation. Students should never just be writing SAS code again. | data science, txt | source | 6 |
| 33 | Creating meaningful factors from dietary questionnaires | Jenna Carlson | In studying diet, the hypothesis is often focused on overall dietary patterns rather than individual questions about specific food/beverage consumption. Factor analysis is a useful tool in such situations to create meaningful variables from high dimensional data. However, traditional factor analysis is not appropriate for the commonly-used food- frequency questionnaires, as responses are categorical. Instead, factor analysis should be performed using polychoric correlation. I will demonstrate how to do factor analysis of high-dimensional food and beverage frequency data using polychoric correlation in SAS. In particular, beginning with SAS/STAT version 9.4, it is possible to compute polychoric correlation without the macro %polychor, increasing the ease with which polychoric correlation can be used in factor analysis. Data from a longitudinal study of Appalachian mother-baby pairs is used to illustrate this technique. |
factor analysis, correlation, proc freq, normal distribution, pearson correlation, nominal variable, proc princomp | source | 9 |
| 34 | Creating Viable SAS Data Sets From Survey Monkey Transport Files | John R. Gerlach, Independent Contractor |
Survey Monkey is an application that provides a means for creating online surveys. Unfortunately, the transport (EXCEL) file from this application requires a complete overhaul in order to do any serious data analysis. Besides having a peculiar structure and containing extraneous data points, the column headers become very problematic when importing the file into SAS. In fact, the initial SAS data set is virtually unusable. This paper explains a systematic approach for creating a viable SAS data set for doing serious analysis. |
dataset, data science, proc step, macro variable, response variable, proc import, excel, proc sql, proc contents, proc format, proc transpose | source | 11 |
| 35 | Customized Flowcharts Using SAS Annotation | Abhinav Srivastva | Data visualization is becoming a trend in all sectors where critical business decisions or assessments are made. In pharmaceuticals, flowcharts are used to provide a high -level overview of the clinical trials data such as summarizing patients' disposition, enrollments and summary of adverse events, medical history or dosing data. As opposed to most common layouts that SAS can generate using newer SG proced ures or GTL, these flowcharts have non -typical layouts and refer back to the concept of SAS/GRAPH Annotate Facility. The paper will have a brief discussion on some SAS annotation functions/macros paving the way for a SAS macro that allows user s to make the flowcharts customizable to meet their requirements and enabling the production of several forms with minimal programming effort. This flexibility is achieved through a naming system that has been developed and is discussed in great detail in following sections. |
macro call, clinical trial, macro definition | source | 10 |
| 36 | Customizing Plots to Your Heart's Content Using PROC GPLOT and the Annotate Facility | Debbie Huang | PROC GPLOT is a powerful procedure in SAS/GRAPH for creating two-dimensional graphs such as scatter plots, line plots, and bubble plots. While PROC GPLOT is easy to use, customization is not always straightforward. This paper introduces PROC GPLOT and the simple customizations of the plotting symbols and axes, then focus on not- so-straightforward customizations such as adding breaks or hashes to the Y-axis and labeling sample sizes below the X-axis for data plotted over time, using the annotate facility. |
sample, proc gplot, proc step, sample size, line chart | source | 9 |
| 37 | Demystifying the CONTRAST and ESTIMATE Statement | Hector Lemus | Many analysts are mystified on how to use CONTRAST and ESTIMATE statements in SAS to test a variety of general linear hypotheses (GLH). GLHs can be used to parsimoniously test key comparisons and complex hypotheses. However, setting up a simple GLH tends to intimidate some SAS users. Examples from various sources seem to magically come up with the correct answer. The key is to understand how the procedure parameterizes the model and then use that parameterization to construct the GLH. CONTRAST and/or ESTIMATE statements can be found in many of the modeling procedures in SAS. However, not all procedures use the same syntax for these statements. This presentation will demystify the use of the CONTRAST and ESTIMATE statements using examples in PROCs GLM, LOGISTIC, MIXED, GLIMMIX and GENMOD. | logistic distribution, proc logistic, proc genmod, proc step, logistic regression, numeric functions, sample, proc glm | source | 13 |
| 38 | Descriptive Analysis of Donation Amount Data and Text Mining of Tweets on Presidential Primaries using SAS | Aditya Jakkam, Swetha Nallamala |
2016 will be an historical year in the US presidential elections, Hillary Clinton being the first women candidate, comments made by the Trump etc., everything make it to that. Twitter is one of the major social platform widely used to make any comments about this election and the candidates. This paper is a summary of analysis made on people's reaction for the stand taken by these candidates on different issues. Descriptive statistics is also performed on the donations made to these candidates by the people. Twitter feeds have been collected for th e text mining and data of donations has been collected from the Federal Election Commission database. In this paper, we used SAS Enterprise Miner to build models for the analysis of these tweets. SAS Enterprise Guide has also been used for the data cle aning and descriptive statistics. Enterprise Miner nodes has helped us to analyze the people's tweets on different issues. | data mining, sas enterprise guide, parsing, excel, proc means, proc freq | source | 14 |
| 39 | Did the Protocol Change Work? Interrupted Time Series Evaluation for Health Care Organizations. | Carol Conell, Alexander C. Flint |
BACKGROUND: This paper introduces interrupted time series (ITS) analysis to the novice user. The primary objective of the paper is to enable intermediate level SAS programmers to apply this well-established econometric technique. As an illustration of ITS, we evaluate a one-time protocol change at Kaiser Permanente Northern California. Specifically we consider the impact on statin administration of requiring physicians admitting ischemic stroke patients to opt-out of ordering statins instead of requiring them to opt-in. . METHODS: We use PROC AUTOREG to investigate the structure of the outcome time series and evaluate whether the protocol change resulted in an increase in early statin administration. We also investigate the sensitivity of the estimates to the number of time periods available. Finally we show how the approach can be used to explore possible heterogeneity of treatment effects (HTE). |
time series analysis, proc autoreg, proc step, confidence interval, residual, likelihood function, treatment effect, datepart, proc means, regression analysis | source | 14 |
| 40 | Distance Correlation for Vectors: A SAS Macro | Thomas E. Billings | The Pearson correlation coefficient is well-known and widely-used. However, it suffers from certain constraints: it is a measure of linear dependence (only) and does not provide a test of statistical independence, and it is restricted to univariate random variables. Since its inception, related and alternative measures have been proposed to mitigate these constraints. Several new measures to replace or supplement Pearson correlation have been proposed in the statistical literature in recent years. Székeley et al. (2007) describes a new measure - distance correlation - that overcomes the shortcomings of Pearson correlation. Distance correlation is defined for 2 random variables X, Y (which can be vectors) as a weight or distance function applied to the difference between the joint characteristic function for (X,Y) and the product of the individual characteristic functions for X, Y . | correlation, pearson correlation, macro definition, proc step, covariance, sample, probability distribution, macro quoting function, regression analysis | source | 15 |
| 41 | Ditch the Data Memo: Using Macro Variables and Outer Union Corresponding in PROC SQL to Create Data Set Summary Tables | Andrea Shane | Data set documentation is essential to good programming and for sharing data set information with colleagues who are not SAS programmers. However, most SAS programmers dislike writing memos that must be updated each time a data set is manipulated. Utilizing two tools, macro variables and the OUTER UNION CORRESPONDING set operator in PROC SQL, we can write concise code that exports a single summary table containing important data set information serving in lieu of data memos. These summary tables can contain the following data set information: 1) changes in the number of records in a data set due to dropping records, collapsing across IDs, removing duplicate records; 2) summary statistics or frequencies of key variables; and 3) almost any other descriptive information about a data set. |
proc sql, macro variable, proc step, proc means, data wrangling, excel | source | 5 |
| 42 | Document and Enhance Your SAS Code, Data Sets, and Catalogs with SAS Functions, Macros, and SAS Metadata | Louise S. Hadden, Roberta J. Glass |
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, excel, proc datasets, dataset, label statement | source | 11 |
| 43 | Don't Forget About Small Data | Lisa Eckler | Beginning in the realm of data analytics and eventually flowing into mainstream media, we are seeing a lot about Big Data and how it can influence our work and our lives. Through examples, this paper will explore how Small Data -- which is everything Big Data is not -- can and should influence our programming efforts. The ease with which we can read and manipulate data from different formats into usable tables in SAS makes using data to manage data very simple and supports healthy and efficient practices. This paper will explore how using small or summarized data can help to organize and track program development, simplify coding and optimize code. | dataset, proc step, excel, sample, proc freq, proc compare, proc contents | source | 15 |
| 44 | Don't Get Blindsided by PROC COMPARE | Roger D. Muller, Joshua M. Horstman |
"NOTE: No unequal values w ere found. All values compared are exactly equal." Do your eyes automatically drop to the end of your PROC COMPARE output in search of these w ords? Do you then conclude that your data sets match? Be careful here! Major discrepancies may still lurk in the shadow s, and you'll never know about them if you make this common mistake. This paper describes several of PROC COMPARE's blind spots and how to steer clear of them. Watch in horror as PROC COMPARE glosses over important differences w hile boldly proclaiming that all is w ell. See the gruesome truth about w hat PROC COMPA RE does, and w hat it doesn't do! Learn simple techniques that allow you to peer into these blind spots and avoid getting blindsided by PROC COMPA RE! |
proc compare, proc step, data cleaning | source | 7 |
| 45 | Employing Latent Analyses in Longitudinal Studies: An Exploration of Independently Developed SAS Procedures | Deanna Naomi Schreiber-Gregory | This paper looks at several ways to investigate latent variables in longitudinal surveys by utilizing three independently created SAS procedures. Three different analyses for latent variable discovery will be reviewed and explored: latent class analysis, latent transition analysis, and latent trajectory analysis. The latent analysis procedures explored in this paper (all of which were developed outside of SAS Institute) are PROC LCA, PROC LTA, and PROC TRAJ. The specifics behind these procedures and how to add them to one's procedure library will be explored and then applied to an explorative case study question. The effect of the latent variables on the fit and use of the regression model compared to a similar model using observed data may also be briefly reviewed. The data used for this study was obtained via the National Longitudinal Study of Adolescent Health, a study distributed and collected by ADD Health. Data was analyzed using SAS 9.4. |
proc step, latent variable, regression analysis, logistic distribution, logistic regression, response variable, sample, proc means, proc reg, proc surveylogistic | source | 14 |
| 46 | Equivalence Tests | John Amrhein, Fei Wang |
Motivated by the frequent need for equivalence tests in clinical trials, this paper provides insights into tests for equivalence. We summarize and compare equivalence tests for different study designs, including designs for one-sample problem, designs for two-sample problem (paired observations, and two unrelated samples), and designs with multiple treatment arms. Power and sample size estimation are discussed. We also give examples to implement the methods using the FREQ, TTEST, MIXED, and POWER procedures in SAS/SAT software. |
sample, equivalence testing, null hypothesis, sample size, alternative hypothesis, proc step, binomial distribution, confidence interval, proc power, proc ttest, normal distribution, proc freq, standard deviation | source | 9 |
| 47 | Errors, Warnings, and Notes (Oh My) A Practical Guide to Debugging SAS Programs | Lora D. Delwiche, Susan J. Slaughter |
This paper is based on the belief that debugging your programs is not only necessary, but also a good way to gain insight into how SAS works. Once you understand why you got an error, a warning, or a note, you'll be better able to avoid problems in the future. In other words, people who are good debuggers are good programmers. This paper covers common problems including missing semicolons and character-to-numeric conversions, and the tricky problem of a DATA STEP that runs without suspicious messages but, nonetheless, produces the wrong results. For each problem, the message is deciphered, possible causes are listed, and how to fix the problem is explained. |
sas log, missing value, put statement, dataset, input statement, proc print, error message, character variable, infile statement, sas enterprise guide, proc step, sas studio, numeric variable, firstobs, options statement, excel | source | 16 |
| 48 | Exchanging Data Between SAS and Excel: Basic SAS Techniques | William E. Benjamin Jr. | This course will examine methods intermediate level SAS programmers may be familiar with. The detailed examples presented in the course demonstrate movement of data between SAS and EXCEL file structures using basic SAS methods, this course does not address DDE, VBS, or VBA solutions which are Microsoft solutions. These concepts and techniques will include the following: 1. Cut and paste, and accessing EXCEL data from the SAS Display Manager Window. 2. Conversion of text files to EXCEL using built in EXCEL data conversion features 3. PROC EXPORT and PROC IMPORT features 4. SAS LIBNAME methods 5. SAS Enterprise Guide methods to access EXCEL files 6. ODS destination and Tagset outputs (CSV, HTLM, MSOFFICE2K, EXCELXP, and EXCEL) 7. SAS procedures that output Tagset Template files Several features are available with only BASE SAS installed, however others require the installation of SAS/ACCESS for PC File Format software or SAS Enterprise Guide software. |
excel, sas enterprise guide, proc step, proc import, xls, proc export, txt, sas library, dataset, libname statement, sas base, name range list | source | 20 |
| 49 | File Management Using Pipes and X Commands in SAS | Emily Sisson | SAS for Windows can be an extremely powerful piece of software, not only for analyzing data, but also for organizing and maintaining output and permanent datasets. By employing pipes and operating system ('X') commands within a SAS session, you can easily and effectively manage files of all types stored on your local network. | dataset, call execute, data step | source | 5 |
| 50 | Finding All Differences in two SAS libraries using Proc Compare | Bharat Kumar Janapala, Individual Contributor |
In the clinical industry validating datasets by pa rallel programming and comparing these derived datasets is a routine practice, but due to constant updates in raw data it becomes increasingly more difficult to figure out the differences between two datasets. The CO MPARE procedure is a valuable tool to help in these situations, and for a variety of other purposes in cluding data validation, data cleaning, and pointing out the differences, in an optimized way, between datasets. The purpose for writing this paper is to demons trate PROC COMPARE's and SASHELP directories ability to identify the dataset s present in various SAS libraries by listing the uncommon datasets. Secondly, to provide details about the total number of observations and variables present in both datasets by listing the uncommon variables and datasets w ith differences in observation number. |
proc compare, proc step | source | 9 |
| 51 | Fitting Threshold Models using the SAS Procedures NLIN and NLMIXED | Todd Coffey | Threshold regression models have applications in diverse fields, including toxicology, cell biology, ecology, infectious disease, epidemiology, finance, and econometrics. The name of these models is derived from a location in the data in which the response changes abruptly and a new pattern emerges. The statistical model for data with this pattern requires two distinct equations, connected at the threshold. Often, the initial part of the model is a baseline response or background effect and the subsequent part after the threshold estimate includes a linear slope or nonlinear function. When the threshold, or common join point between the distinct models on either side of it is unknown, the statistical model is nonlinear in the parameters, regardless of the functional form of the piecewise models. In general, nonlinear models can be challenging to fit due to the lack of a closed-form estimate for parameters. | sample, proc step, estimate, proc nlin, proc calis, likelihood function, proc mixed, correlation, within-subject correlation, confidence interval, regression analysis | source | 11 |
| 52 | Fitting Your Favorite Mixed Models with PROC MCMC | Fang K. Chen | 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 | source | 27 |
| 53 | Getting it Done with PROC TABULATE | Michael Williams | The task of displaying statistical summaries of different types of variables in a single table is quite familiar to many SAS users. There are many ways to go about this. PROC FREQ tends to be a favorite for counts and percentages of categorical variables, while PROC MEANS/SUMMARY and PROC UNIVARIATE tend to be preferred for summary statistics of continuous variables. In addition, PROC REPORT has many desirable customizations for displaying datasets. PROC TABULATE combines the computational functionality of FREQ, MEANS/SUMMARY, UNIVARIATE with the customization abilities of PROC REPORT. In this presentation/paper, we will give an overview of PROC TABULATE syntax, and then discuss stylistic customizations, calculating percentages, dealing with missing values, creating and processing PROC TABULATE output data sets. |
proc tabulate, proc step, missing value, proc report, proc freq, excel, class variable, proc import, proc means, binary variable | source | 14 |
| 54 | Good Programming Practice [GPP] in SAS & Clinical Trials | Phaneendhar Reddy Vanam, Srinivas Vanam, Manvitha Yennam |
This Paper presents certain Tips and Techniques/Conventions that can be implemented in your Day-to- Day Programming activities to increase your Efficiency at Work. Since, SAS Institute (or) FDA does not specify any Standards for the development of Programs, SAS Users have the flexibility to write the programs in their own style. This might sound cool, but this results in having Inconsistent programs across the Project/Study. Hence following certain Principles/Conventions while Programming will make the programs an Asset to the Company. This target audience of this paper are both the Programmer (who creates the building blocks of the Project) and Manager (who oversees the entire Project and keeps all the building blocks together). | proc step, sas log, missing value, adverse events, cpu time | source | 10 |
| 55 | Handling longitudinal data from multiple sources: experience with analyzing kidney disease patients | Elani Streja, UC Irvine, Melissa Soohoo |
This paper focuses on handling multiple large databases for preparation for analyses and dealing with discordant values from respective databases, including demographic variables and dates. We will also discuss summarizing data by quarterly or monthly averages to be used in longitudinal analyses. | proc step, proc sort, proc print, longitudinal data, repeated measures | source | 6 |
| 56 | Hierarchical Generalized Linear Models for Behavioral Health Risk-Standardized 30-Day and 90-Day Readmission Rates | Allen Hom | The Achievements in Clinical Excellence (ACE) program encourages excellence across all behavioral health network facilities by promoting those that provide the highest quality of care. Two key benchmarks of outcome effectiveness in the ACE program are the risk adjusted 30-day readmission and risk adjusted 90-day readmission rates. Risk adjustment was performed with hierarchical general linear models (HGLM) to account for differences across hospitals in patient demographic and clinical characteristics. One year of administrative admission data (June 30, 2013 to July 1, 2014) from patients for 30-day (N=78,761, N Hospitals=2,233) and 90-day (N=74,540, N Hospital =2,205) time frames were the data sources. | sample, bootstrap, logistic regression, risk adjustment, logistic distribution, confidence interval, health insurance, regression analysis, odds ratio, proc glm, proc mixed, data cleaning, proc glimmix, proc step | source pptx |
20 |
| 57 | How D-I-D you do that? Basic Difference-in-Differences Models in SAS | Margaret Warton, Melissa Parker, Andrew Karter |
Long a mainstay in econometrics research, difference-in-differences (D-I-D) models have only recently become more commonly used in health services and epidemiologic research. D-I-D study designs are quasi-experimental, can be used with retrospective observational data, and do not require exposure randomization. This study design estimates the difference in pre-post changes in an outcome comparing an exposed group to an unexposed (reference) group. The outcome change in the unexposed group estimates the expected change in the exposed group had the group been, counterfactually, unexposed. By subtracting this change from the change in the exposed group (the "difference in differences"), the effects of background secular trends are removed. In the basic D-I-D model, each subject serves as his or her own control, removing confounding by known and unknown individual factors associated with the outcome of interest. | anova, repeated measures, interaction effect, repeated measures anova, proc mixed, proc genmod, regression analysis, proc glm, proc reg, trend analysis, least squares mean, sample, correlation, proc step | source | 11 |
| 58 | How to analyze correlated and longitudinal data? | Niloofar Ramezani | Longitudinal and correlated data are extensively used across disciplines to model changes over time or in clusters. When dealing with these types of data, more advanced models are required to account for correlation among observations. When modeling continuous longitudinal responses, many studies have been conducted using Generalized Linear Models (GLM); however, fewer studies on discrete responses over time have been completed. These studies require more advanced models within conditional, transitional and marginal models (Firzmaurice et al., 2009). Examples of these models which enable researchers to account for the autocorrelation among the repeated observations include Generalized Linear Mixed Model (GLMM), Generalized Estimating Equations (GEE), Alternating Logistic Regression (ALR) and Fixed Effects with Conditional Logit Analysis. The purpose of the current study is to assess modeling options for aforementioned models with varying types of responses. | proc step, correlation, proc mixed, response variable, longitudinal data, regression analysis, fixed effects, proc genmod, proc glimmix, logistic distribution, repeated measures, covariance, likelihood function, conditional logistic regression, predictor variable, odds ratio, logistic regression, missing value, anova, covariance structure, proc phreg | source | 8 |
| 59 | How to Speed Up Your Validation Process Without Really Trying | Alice M. Cheng, Mike Wise, Justina M. Flavin |
The COMPARE procedure in SAS offers relatively sim ple, yet powerful way to perform validation. In this paper, the authors not only provide a brief in troduction of the COMPARE procedure, but also share their techniques to speed up the validation process . These techniques include the standard use of options and the clever use of features in PROC COMP ARE. Also introduced are the use of &SYSINFO which summarizes the result of the comparison by a single numeric number, the macros %QCDATA and %QCDIR to validate a single dataset and all datasets in two directories, respectively. KEYWORDS: PROC COMPARE, Validation, Without Automa tion, &SYSINFO, With Automation |
proc compare, proc step, data cleaning, out=, sysrc, call execute, by group processing, clinical trial, adam dataset, cdisc | source | 20 |
| 60 | 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! | source | 10 | |
| 61 | How to Use PROC Tabulate - A Hands-on Workshop | Natasha Chapman | The purpose of this paper is to acquaint the reader with the basics of PROC TABULATE syntax. By the end of this paper, you should know how to create a basic table, use formats in your table, change headers and data labels, add row and column totals, and implement basic statistics. The following examples were originally created using SAS version 9.1.3. The output was created using ODS PDF in the SASweb style. Getting started - the basics of PROC TABULATE Before delving into the complexities2 of PROC TABULATE, let's break this procedure down to the bare bones. The simplest PROC TABULATE includes a Class statement and a Table statement. The Class statement tells SAS which variables you are going to be using in the table to categorize your observations (such as Male/Female, Yes/No, Tall/Medium/Short, etc.). Any variable that will be used for categorization in your table must be in the Class statement |
proc tabulate, proc step, class variable, missing value, proc report, format statement | source | 12 |
| 62 | How we know an intervention works: Program evaluation by example | AnnMaria De Mars | Read any publication, from national media to your local news website. Educational achievement, particularly in STEM fields, is a grave concern and billions of dollars are spent addressing this issue. How can SAS be applied to analyze the outcome of an intervention, and, equally important, convey the results of that analysis to a non-technical audience? Using real data from evaluations of educational games, this presentation walks through the steps of an evaluation, from needs assessment to validation of measurement to pre-post test comparison. Beginning with SAS Enterprise Guide for quick data checks to statistical techniques including PROC NPAR1WAY, PROC FREQ with options for correlated data, PROC FACTOR for factor analysis, PROC TTEST and PROC GLM for ANOVA it can be seen that a thorough evaluation really puts SAS through its paces. Happy use is made throughout of ODS Statistical Graphics |
proc step, factor analysis, proc freq, sas enterprise guide, proc contents, proc factor, scree plot, proc print, response variable, proc npar1way, anova, correlation, proc corr, date variable, data cleaning | source | 13 |
| 63 | Identifying Duplicates Made Easy | Yunin Ludena, Elizabeth Guerrero Angel |
Have you ever had trouble removing or finding the exact type of duplicate you want? SAS offers several different ways to identify, extract, and/or remove duplicates, depending on exactly what you want. We will start by demonstrating perhaps the most commonly used method, PROC SORT, and the types of duplicates it can identify and how to remove, or store them. Then, we will present the other less commonly used methods which might give information that PROC SORT cannot offer, including the DATA STEP (FIRST./LAST.), PROC SQL, and PROC FREQ. The programming is demonstrated at a beginner's level. |
proc step, proc sort, proc print, proc sql, by group processing, proc freq, sorted data | source | 5 |
| 64 | Indenting with Style | Bill Coar | Within the pharmaceutical industry, many SAS programmers rely heavily on PROC REPORT. While it is used extensively for summary tables and listings, it is more typical that all processing is done prior to final REPORT procedure rather than using some of its internal functionality. In many of the typical summary tables, some indenting is required. This may be required to combine information into a single column in order to gain more printable space (as is the case with many treatment group columns). It may also be to simply make the output more aesthetically pleasing. A standard approach it to pad a character string with spaces to give the appearance of indenting. This requires pre-processing of the data as well as the use of the ASIS=ON option in the column style. While this may be sufficient in many cases, it fails for longer text strings that require wrapping within a cell. Alternative approaches that conditionally utilize INDENT and LEFTMARGIN options of a column style are presented. |
character variable, proc report, system organ class, sample, adverse events, proc step, ods pdf | source | 7 |
| 65 | Introducing the HPGENSELECT Procedure: Model Selection for Generalized Linear Models and More | Robert N. Rodriguez | Generalized linear models are highly useful statistical tools in a broad array of business applications and scientific fields. How can you select a good model when numerous models that have different regression effects are possible? The HPGENSELECT procedure, which was introduced in SAS/STAT 12.3, provides forward, backward, and stepwise model selection for generalized linear models. In SAS/STAT 14.1, the HPGENSELECT procedure also provides the LASSO method for model selection. Y ou can specify common distributions in the family of generalized linear models, such as the Poisson, binomial, and multinomial distributions. Y ou can also specify the Tweedie distribution, which is important in ratemaking by the insurance industry and in scientific applications. Y ou can run the HPGENSELECT procedure in single-machine mode on the server where SAS/STAT is installed. |
proc hpgenselect, binomial distribution, poisson distribution, proc genmod | source | 18 |
| 66 | Introduction to Survival Analysis in SAS | Leanne Goldstein, Rebecca Ottesen |
Analysis of time to event data is common in biostatistics and epidemiology but can be extended to a variety of settings such as engineering, economics and even sociology. While the statistical methodology behind time to event analysis can be quite complex and difficult to understand, the basic survival analysis is fairly easy to conduct and interpret. This workshop is designed to provide an introduction to time to event analyses, survival analysis and assumptions, appropriate graphics, building multivariable models, and dealing with time dependent covariates. The emphasis will be on applied survival analysis for beginners in the health sciences setting. | proc step, kaplan-meier plot, hazard ratio, proc phreg, survival analysis, proportional hazards assumption, binary variable, rank test, log-rank test, time-dependent covariate, nominal variable, interval variable, stepwise selection, maximum likelihood estimation, confidence interval, proc calis, likelihood function, regression analysis | source | 19 |
| 67 | Jumping Into SAS ODS Graphics Overnight | Roger D. Muller | SAS Output Delivery System (ODS) Graphics started appearing in SAS 9.2. When first starting to use these tools, the traditional SAS/GRAPH software user might come upon some very significant challenges in learning the new way to do things. This is further complicated by the lack of simple demonstrations of capabilities. Most graphs in training materials and publications are rather complicated graphs that, while useful, are not good teaching examples. This paper contains many examples of very simple ways to get very simple things accomplished. Over 20 different graphs are developed using only a few lines of code each, using data from the SASHELP data sets. The use of the SGPLOT, SGPANEL, and SGSCATTER procedures are shown. In addition, the paper addresses those situations in which the user must alternatively use a combination of the TEMPLATE and SGRENDER procedures to accomplish the task at hand. |
proc step, proc template, sas enterprise guide, proc sgplot, proc sgpanel, sample, sas programmer | source | 13 |
| 68 | Knowledge is Power: The Basics of SAS Proc Power | Elaina Gates | There are many statistics applications where it is important to understand how the power function of a specific distribution behaves. Coding a power function from scratch can be an arduous process and can become complicated when investigating effect size and sample size. This presentation will cover the basic uses of PROC POWER in regards to testing proportions and include examples of power analyses. It will also demonstrate the simplicity of using PROC POWER to generate plots of power curves and obtain other valuable information. |
sample size, sample, proc power, effect size, proc step, power analysis | source | 5 |
| 69 | Let SAS Do Your DIRty Work | Richann J. Watson | Making sure you have all the necessary information to replicate a deliverable saved can be a cumbersome task. You want to make sure that all the raw data sets are saved, all the derived data sets, whether they are SDTM or ADaM data sets, are saved and you prefer that the date/time stamps are preserved. Not only do you need the data sets, you also need to keep a copy of all programs that were used to produce the deliverable as well as the corresponding logs when the programs were executed. Any other information that was needed to produce the necessary outputs needs to be saved. All of these needs to be done for each deliverable and it can be easy to overlook a step or some key information. Most people do this process manually and it can be a time-consuming process, so why not let SAS do the work for you? | macro variable, dataset, cdisc | source | 6 |
| 70 | Let the CAT Out of the Bag: String Concatenation in SAS 9 | Joshua M. Horstman | Are you still using TRIM, LEFT, and vertical bar operators to concatenate strings? It's time to modernize and streamline that clumsy code by using the string concatenation functions introduced in SAS 9. This paper is an overview of the CAT, CATS, CATT, and CATX functions introduced in SAS 9, and the new CATQ function added in SAS 9.2. In addition to making your code more compact and readable, this family of functions also offers some new tricks for accomplishing previously cumbersome tasks. | character functions, sas 9, catq, ifc, sas programmer | source | 7 |
| 71 | Let the Environment Variable Help You: Moving Files across Studies and Creating SAS Library On-The-Go | David Liang | In clinical trials, datasets and SAS programs are often stored under different studies and pr oduct s in the UNIX file system . SAS p rogrammers need to access those locations frequently, to read in data for programming, or to copy files for reuse in new analysis. Typing the lengthy directory path is very time consuming and nerve - racking. This paper d escribes an efficient way to store the various directory paths in advance through environment variables . Those pre - defined environmen t variables can be used for UNIX file operation (cop y ing, deleting, searching for files, etc.). Information carried by thos e variables can also be passed into SAS to con struct libraries at your convenience . | sas library, libname statement, macro variable | source | 6 |
| 72 | Macro Basics for New SAS Users | Cynthia L. Zender | Are you new to SAS? Do you look at programs written by others and wonder what those & and % signs mean? Are you reluctant to change code that has macro variables in the program? Do you need to perform repetitive programming tasks and don't know when to use DO versus %DO? This paper provides an overview of how the SAS macro facility works and how you can make it work in your programs. Concrete examples answer these and other questions: Where do the macro variables live? What does it mean when I see multiple ampersands (&&)? What is a macro program, and how does it differ from other SAS programs? What's the big difference between DO and IF and %DO and %IF? | macro variable, sas enterprise guide, macro facility, macro definition, sas log, &variable, put statement, macro put, if-then-else, proc step, macro function, macro trigger, proc print, title statement, %if-%then-%else, global symbol table, keyword parameter, %macro parameters, proc contents, symbol table, macro loop, error message, options statement, upcase function | source | 26 |
| 73 | Macro Replacer | Rituraj Saxena | For a statistical programmer in the pharmaceutical industry each work day is new. A project you have been working on for a few months can be changed at a moment's notice and you need to implement changes quickly and accurately. If the task entails doing a find and replace sort of thing in all the SAS Programs in a directory (or multiple directories), a macro called "Replacer" can come to the rescue to ensure that the desired changes are done quickly, and most especially, accurately. By doing the find and replace programmatically, Replacer saves lots of time and effort and ensures the accuracy of its output as well. | dataset, if-then-else | source | 4 |
| 74 | Making Prompts Work for You: Using SAS Enterprise Guide Prompts with Categorization of Output | Edward Lan, Kai-Jen Cheng |
In statistical and epidemiology units of public health departments, SAS codes are often re-used across a variety of different projects for data cleaning and generation of output datasets. Each SAS user will edit common SAS codes into their own program and use it to generate datasets for analysis. In order to simplify this process, SAS Enterprise Guide (EG) prompts can be used to eliminate the need for the user to edit the SAS code. This paper explores using EG 7.1 prompts to automate the process of generating a customizable output dataset and how to overcome issues with the categorization prompt. | macro variable, sas enterprise guide, do loop, out= | source | 5 |
| 75 | Making SAS the Easy Way Out: Harnessing the Power of PROC TEMPLATE to Create Reproducible, Complex Graphs | Debra A. Goldman | With high pressure deadlines and mercurial collaborators, creating graphs in the most familiar way seems like the best option. Using post-processing programs like Photoshop or Microsoft Powerpoint to modify graphs is quicker and easier to the novice SAS User or for one's collaborators to do on their own. However, reproducibility is a huge issue in the scientific community. Any changes made outside statistical software need to be repeated when collaborator preferences change, the data changes, the journal requires additional elements, and a host of other reasons The likelihood of making errors increases along with the time spent making the figure. Learning PROC TEMPLATE allows one to seamlessly create complex, automatically generated figures and eliminates the need for post-processing |
proc step, proc template, waterfall chart, macro facility, bar chart, macro definition, statistical software, kaplan-meier plot | source | 23 |
| 76 | MIghty PROC MI to the rescue! | Cynthia Alvarez | Missing data is a feature of many data sets, as participants may withdraw from studies, not provide self-reported measures, and at times, technical issues may interfere with data collection. If we use only completed observations, we are left with larger standard errors, wider confidence intervals, and larger p-values. Missing data methods such as complete case analysis or imputation may be used but the missing data mechanisms and patterns should be understood first. This paper gives an overview of missing data sources, patterns and mechanisms. A complete dataset is used to obtain true regression analysis results. Two datasets with missing values are created, one with data missing completely at random and one with data missing not at random. The missing data methods of complete case, single and multiple imputation will be applied. PROC MI and MIANALYZE are used in SAS 9.4 for the analysis. The results of the missing data methods are compared to each other and to the true results. |
missing value, imputation, multiple imputation, proc calis, proc mi, proc step, regression analysis, proc mianalyze, missing completely at random, missing not at random, estimate, sensitivity analysis, proc reg, monte carlo | source | 10 |
| 77 | Proc Document, The Powerful Utility for ODS Output | Roger D. Muller | The DOCUMENT procedure is a little known procedure that can save you vast amounts of time and effort when managing the output of your SAS programming efforts. This procedure is deeply associated with the mechanism by which SAS controls output in the Output Delivery System (ODS). Have you ever wished you didn't have to modify and rerun the report-generating program every time there was some tweak in the desired report? PROC DOCUMENT enables you to store one version of the report as an ODS Document Object and then call it out in many different output forms, such as PDF, HTML, listing, RTF, and so on, without rerunning the code. Have you ever wished you could extract those pages of the output that apply to certain BY variables such as State, StudentName, or CarModel? With PROC DOCUMENT, you have where capabilities to extract these. |
proc step, output delivery system | source | 8 |
| 78 | PROC DS2: What's in It for You? | Viraj R Kumbhakarna | In this paper, we explore advantages of using PROC DS2 procedure over the DATA STEP programming in SAS. DS2 is a new SAS proprietary programming language that is appropriate for advanced data manipulation. We explore use of PROC DS2 to execute queries in databases using FED SQL from within the DS2 program. Several DS2 language elements accept embedded FedSQL syntax, and the run-time generated queries can exchange data interactively between DS2 and supported database. This action enables SQL preprocessing of input tables, which effectively allows processing data from multiple tables in different databases within the same query thereby drastically reducing processing times and improving performance. We explore use of DS2 for creating tables, bulk loading tables, manipulating tables, and querying data in an efficient manner. |
proc step, proc sql, data step, set statement, sas base, input statement, run, sas log, ansi sql, end, implicit loop, cpu time | source | 11 |
| 79 | Reproducible Data Science Using SAS in a Jupyter Notebook | Hunter Glanz | From state-of-the-art research to routine analytics, the Jupyter Notebook offers an unprecedented reporting medium. Historically tables, graphics, and other output had to be created separately and integrated into a report piece by piece amidst the drafting of the text. The Jupyter Notebook interface allows for the creation of code cells and markdown cells in any kind of arrangement. While the markdown cells admit all the typical sorts of formatting, the code cells can be used to run code within and throughout the document. In this way, report creation happens naturally and in a completely reproducible way. Handing a colleague a Jupyter Notebook file to be re-run or revised is much easier and simpler than passing along at least two files: the code and the text. With the new SAS kernel for Jupyter, all of this is possible and more! | data science, txt | source | 6 |
| 80 | SAS Graphing Done Right: Two Good Alternatives to PROC GPLOT/GCHART, Part 2 | Isaiah Lankham | When graphing data in SAS, many users rely on classic yet quirky SAS/GRAPH procedures like PROC GPLOT and PROC GCHART. Some users have good reasons for sticking with SAS/GRAPH, like creating choropleth maps with PROC GMAP, but most would benefit from switching to alternatives like PROC SGPLOT, which is part of the ODS Graphics functionality in Base SAS, or creating graphics with the R programming language using an interface available in SAS/IML. In this follow-up to an award-winning WUSS 2015 paper, we take a deeper dive into PROC SGPLOT, including the combination of PROC TEMPLATE and a special Graph Template Language to create highly customized plots/charts. We also provide side-by-side instructions for creating comparable visualizations using the highly acclaimed R package ggplot2, along with a discussion of the advantages and disadvantages of each approach. |
proc step, proc sgplot, proc iml, proc gplot, scatter plot, proc template, sashelp, bar chart, sas base, proc gmap, class variable, proc gchart, options statement, graph template language, dataset, proc freq | source | 17 |
| 81 | SAS integration with NoSQL database | Kevin Lee | We are living in the world of abundant data, so called "big data". The term "big data" is closely associated with any structured data - unstructured, structured and semi-structured. They are called "unstructured" and "semi-structured" because they do not fit neatly in a traditional row-column relational database. A NoSQL (Not only SQL or Non- relational SQL) database is the type of database that can handle any structured data. For example, a NoSQL database can store any structured data such as XML (Extensible Markup Language), JSON (JavaScript Object Notation) or RDF (Resource Description Framework) files. If an enterprise is able to extract any structured data from NoSQL databases and transfer it to the SAS environment for analysis, it will produce tremendous value, especially from a big data solutions standpoint. This paper will show how any structured data is stored in the NoSQL databases and ways to transfer it to the SAS environment for analysis. | sas programmer, dataset, rest api, unstructured data, big data, libname engine, proc sql, structured data | source | 9 |
| 82 | SAS Jeopardy | Natasha Chapman | proc step, proc sql, character variable, proc means, proc report, proc univariate, standard deviation | 46 | ||
| 83 | SAS Office Analytics: An Application In Practice Data Monitoring and Reporting Using Stored Process | Mansi Singh, Kamal Chugh, Chaitanya Chowdagam, Smitha Krishnamurthy |
Time becomes a big factor when it comes to ad -hoc reporting and real -time monitoring of data while the project work is on full swing. There are always numerous urgent requests from various cross -functional groups regarding the study progress. Typically a p rogrammer has to work on these requests along with the study work which can become stressful. To address this growing need of real -time monitoring of data and to tailor the requirements to create portable reports, SAS has a powerful tool called SAS Office Analytics. SAS Office Analytics with Microsoft Add -In provides excellent real -time data monitoring and report generating capabilities with which a SAS programmer can take ad-hoc requests and data monitoring to next level. Using this powerful tool, a prog rammer can build interactive customized reports as well as give access to study data. | excel, sas enterprise guide, sas management console, xls, macro variable, dataset | source | 12 |
| 84 | SAS Studio: A New Way to Program in SAS | Lora D. Delwiche, Susan J. Slaughter |
SAS Studio is an important new interface for SAS, designed for both traditional SAS programmers and for point-and- click users. For SAS programmers, SAS Studio offers many useful features not found in the traditional Display Manager. SAS Studio runs in a web browser. You write programs in SAS Studio, submit the programs to a SAS server, and the results are returned to your SAS Studio session. SAS Studio is included in the license for Base SAS, is the interface for SAS University Edition and is the default interface for SAS OnDemand for Academics. Both SAS University Edition and SAS OnDemand for Academics are free of charge for non-commercial use. With SAS Studio becoming so widely available, this is a good time to learn about it. | sas studio, sas log, sas programmer, proc sql, sas library, sas enterprise guide, proc step, libname statement | source | 20 |
| 85 | SDD project management tool, real-time and hassle free---- A one-stop shop for study validation and status tracking | Chen Shi | Are you a lead SAS programmer for a long, messy or even very out-of-control study? If you are or if you have been in that position, you will appreciate how wonderful there is a tool to automate all these endless checking of layers of programs and simply does the study completion status report and even validation sign off sheet for you. If you are not in the shoes, next time, you will have a great talk with your lead programmer. Santen programming team has developed a self-reporting tracking tool on SDD with features including: TIMESTAMP logic check Pinnacle 21 validator traffic lighting Logscan in batch Scheduled job of running the sequenced above tasks * Study completion report |
data cleaning, in= | source | 4 |
| 86 | SDTM Bookmarking Automation: Leveraging SAS, Ghostscript and Form-Visit Study Data | Nasser Al Ali, Maria Paz |
The United States Food and Drug Administration (FDA) requires that annotated Case Report Forms (aCRF) be submitted as part of the electronic data submission for every clinical trial. This annotated CRF is a PDF document that maps the captured data in a clinical trial to their corresponding variable names in the Study Data Tabulation Model (SDTM) datasets. The SDTM Metadata Submission Guidelines recommend that the aCRF should be bookmarked in a specific way. A one-to-one relationship between the bookmarks and aCRF forms is not typical; one form may have two or more bookmarks. Therefore, the number of bookmarks can easily reach thousands in any study! Generating the bookmarks manually is a tedious, time consuming job. This paper presents an approach to automate the entire bookmark generation process by using SAS 9.2 and later releases, Ghostscript, a PDF editing tool, and leveraging the linkages between forms and their corresponding visits. | crf, clinical trial, excel, adverse events, cdisc | source | 6 |
| 87 | Selection Bias: How Can Propensity Score Utilization Help Control For It? | Deanna Naomi Schreiber-Gregory | An important strength of observational studies is the ability to estimate a key behavior or a treatment's effect on a specific health outcome. This is a crucial strength as most health outcomes research studies are unable to use experimental designs due to ethical and other constraints. Keeping this in mind, one drawback of observational studies (that experimental studies naturally control for) is that they lack the ability to randomize their participants into treatment groups. This can result in the unwanted inclusion of a selection bias. One way to adjust for a selection bias is through the utilization of a propensity score analysis. In this paper we explore an example of how to use these types of analyses. In order to demonstrate this technique, we will s eek to explore whether recent substance abuse has an effect on an adolescent's identification of suicidal thoughts. | propensity score, regression analysis, logistic distribution, sample, proc step, sample size, akaike information criterion, likelihood function, logistic regression, bayesian information criterion, randomization, causal inference, response variable, predictor variable, proc freq, proc logistic, treatment effect, proc genmod | source | 13 |
| 88 | Short Introduction to Reliability Engineering and PROC RELIABILITY to Non-Engineers | Danny Rithy | Reliability engineering specializes how often a product or system fails under stated conditions over time. In the modern world, it is important for a product or system maintains for a long time. Because technology is well-developed these days, some systems will eventually fail. Mathematical and statistical methods are useful for quantifying and for analyzing reliability data. However, the most important priority of reliability engineering is to apply engineering knowledge to prevent the likelihood of failures. This paper introduces the idea of reliability engineering to non- engineers as well as PROC RELIABILITY that demonstrates some applications of reliability data. |
proc step, probability distribution, hazard function, likelihood function, data science, weibull distribution, sample | source | 7 |
| 89 | Simulating Queuing Models in SAS | Danny Rithy | This paper introduces users to how to simulate queuing models using SAS. SAS will simulate queuing system in which entities (like customers, patients, cars or email messages) arrive, get served either at a single station or at several stations in turn, might have to wait in one or more queues for service, and then may leave. After the simulation, SAS will give a graphical output as well as statistical analysis of the desired queuing model. | poisson distribution, exponential distribution, histogram, key performance indicator, proc means, proc step | source | 14 |
| 90 | Social Media, Anonymity, and Fraud: HP Forest Node in SAS Enterprise Miner | Taylor K. Larkin, Denise J. McManus |
With an ever-increasing flow of information from the Web, droves of data are constantly being introduced into the world. While the internet provides people with an easy avenue to purchase their favorite products or participate in social media, the anonymity of users can make the internet a breeding ground for fraud, distribution of illegal material, or communication between terrorist cells. In response, areas such as author identification through online writeprinting are increasing in popularity. Much like a human fingerprint, writeprinting quantifies the characteristics of a person's writing style in ways such as the frequency of certain words, the lengths of sentences and their structures, and the punctuation patterns. The ability to translate someone's post into quantifiable inputs allows the ability to implement advanced machine learning tools to make predictions as to the identity of malicious users. | data mining, predictor variable, sample, proc hpsplit, training set, feature importance, bootstrap, proc hpforest | source | 5 |
| 91 | Some Useful Macros to Make Your Data Work Easier | Ting Sa | In this paper, four macros are introduced that can work as helpful tools for some common data tasks. The macro "Help_Consistency" can detect those fields that have same name but different data lengths or data types among the SAS data sets and fix the data length inconsistencies automatically. The macro "SelectVars" can select any variables in batches from a SAS data set, for e.g, the variables have similar naming patterns like the same suffix or the middle parts. The macro "ExportExcelWithFormat" can export formatted SAS data to EXCEL files without losing the formats. The macro "AddValueToExcel" integrates the SAS DDE techniques so you can use this macro to put data anywhere in your EXCEL file. The paper includes the SAS codes for all these four macros. |
excel, dataset, macro parameter, variable list, create table, variable, macro put, proc sql, sample, macro variable, proc step, group by, select | source | 10 |
| 92 | Something Old, Something New... Flexible Reporting with DATA Step-based Tools | Peter J. Lund | The report looks simple enough-a bar chart and a table, like something created with the GCHART and REPORT procedures. But, there are some twists to the reporting requirements that make those procedures not quite flexible enough. The solution was to mix "old" and "new" DATA STEP-based techniques to solve the problem. Annotate datasets are used to create the bar chart and the Report Writing Interface (RWI) to create the table. Without a whole lot of additional code, an extreme amount of flexibility is gained. The goal of this paper is to take a specific example of a couple generic principles of programming (at least in SAS): 1. The tools you choose are not always the most obvious ones - So often, other from habit of comfort level, we get zeroed in on specific tools for reporting tasks. |
data step, proc report, proc step, bar chart | source | 15 |
| 93 | 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 fulf ill 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 u sage (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 | source | 29 |
| 94 | Statistical Model Building for Large, Complex Data: Four New Directions in SAS/STAT Software | Robert N. Rodriguez | The increasing size and complexity of data in research and business applications require a more versatile set of tools for building explanatory and predictive statistical models. In response to this need, SAS/STAT software continues to add new methods. This paper provides a high-level tour of five modern approaches to model building that are available in recent releases of SAS/STAT: building sparse regression models with the GLMSELECT procedure, building generalized linear models with the HPGENSELECT procedure, building quantile regression models with the QUANTSELECT procedure, fitting generalized additive models with the GAMPL procedure, and building classification and regression trees with the HPSPLIT procedure. The paper reviews the key concepts of each approach and illustrates the syntax and output of each procedure with a basic example. |
regression analysis, proc hpgenselect, proc gam, forward selection, proc step, poisson distribution, proc glmselect, proc genmod, significance level, proc hpsplit, backward selection, binomial distribution, proc quantreg, stepwise selection | source | 23 |
| 95 | Talk to Me! | Elizabeth Axelrod | Wouldn't it be nice if your long-running program could tap you on the shoulder and say 'Okay, I'm all done now'. It can! This quick tip will show you how easy it is to have your SAS program send you (or anyone else) an email during program execution. Once you've got the simple basics down, you'll come up with all sorts of uses for this great feature, and you'll wonder how you ever lived without it. | filename statement, macro variable | source | 4 |
| 96 | Text Analysis of American Airline s Customer Reviews | Saurabh Choudhary, Rajesh Tolety |
Which airline should I chose to make my journey comfortable? This is the question which comes to everyone's mind every time one plans a trip because it's not only about reaching the destination but also about the travel experience on board. This is not only important for the passengers but also for the airline companies as they also want their customers to be satisfied and happy so that customers prefer them every time they fly. The objective of this paper is to analyze the customer's reviews of American Airlines to categorize their experiences with respect to the reviews. The nature and the tone of the reviews are important metrics for American airlines to track and manage their performance and services. SAS Enterprise Miner is used to understand the association between the customers' expectations and their experiences. | data mining, response variable, proc freq, data cleaning | source | 9 |
| 97 | The Dynamic Duo: ODS Layout and the ODS Destination for PowerPoint | Jane Eslinger | Like a good pitcher and catcher in baseball, ODS layout and the ODS destination for PowerPoint are a winning combination in SAS 9.4. With this dynamic duo, you can go straight from performing data analysis to creating a quality presentation. The ODS destination for PowerPoint produces native PowerPoint files from your output. When you pair it with ODS layout, you are able to dynamically place your output on each slide. Through code examples this paper shows you how to create a custom title slide, as well as place the desired number of graphs and tables on each slide. Don't be relegated to the sidelines-increase your winning percentage by learning how ODS layout works with the ODS destination for PowerPoint. |
proc step, output delivery system, title statement, end, by group processing | source | 17 |
| 98 | The Fantastic Four: Running Your Report Using the TABULATE, TRANSPOSE, REPORT, or SQL Procedure | Joshua M. Horstman | Like all skilled tradespeople, SAS programmers have many tools at their disposal. Part of their expertise lies in knowing when to use each tool. In this paper, we use a simple example to compare several common approaches to generating the requested report: the TABULATE, TRANSPOSE, REPORT, and SQL procedures. We investigate the advantages and disadvantages of each method and consider when applying it might make sense. A variety of factors are examined, including the simplicity, reusability, and extensibility of the code in addition to the opportunities that each method provides for customizing and styling the output. The intended audience is beginning to intermediate SAS programmers. | proc step, proc report, proc tabulate, adverse events, proc sql, proc freq, select, proc transpose, sas programmer, class variable, proc template, options statement | source | 13 |
| 99 | The Power of the Function Compiler: PROC FCMP | Christina Garcia, Cal Poly San Luis Obispo |
PROC FCMP, the user-defined function procedure, allows SAS software users of all levels to get creative with SAS and expand their scope of functionality. PROC FCMP is the superhero of all SAS procedures in its vast capabilities to create and store uniquely defined functions that can later be used in DATA steps. This paper outlines the basics as well as tips and tricks for the user to get the most out of this procedure. |
proc fcmp, proc step, sas output, character variable, rand, sas function, sample | source | 9 |
| 100 | The REPORT Procedure: A Primer for the Compute Block | Jane Eslinger | It is well-known in the world of SAS programming that the REPORT procedure is one of the best procedures for creating dynamic reports. However, you might not realize that the compute block is where all of the action takes place! Its flexibility enables you to customize your output. This paper is a primer for using a compute block. With a compute block, you can easily change values in your output with the proper assignment statement and add text with the LINE statement. With the CALL DEFINE statement, you can adjust style attributes such as color and formatting. Through examples, you learn how to apply these techniques for use with any style of output. Understanding how to use the compute-block functionality empowers you to move from creating a simple report to creating one that is more complex and informative, yet still easy to use. |
proc report, proc step, automatic variable, character variable, numeric variable, response variable, missing value | source | 23 |
| 101 | The SAS Ecosystem - A Programmer's Perspective | Thomas E. Billings | You may encounter people who used SAS long ago (perhaps in university) or through very limited use in a job . Some of these people with limited knowledge /experience think that the SAS system is "just a statistics package" or "just a GUI" , the latter usually a reference to SAS Enterprise Guide or if a dated reference , to (legacy) SAS/AF or SAS/FSP applications. The reality is that the modern SAS system is a very large , complex ecosystem , with hundreds of software products and a diversity of tools for programmers and users. This poster provides a set of diagrams and tables that illustrate the complexity of the SAS system , from the perspective of a programmer. |
proc step, proc sql, macro facility | source | 1 |
| 102 | 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 | source | 6 |
| 103 | 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 | source | 9 |
| 104 | Tweaking your tables: Suppressing superfluous subtotals in PROC TABULATE | Steve Cavill | PROC TABULATE is a great tool for generating cross tab style reports. It's very flexible but has a few little limitations. One is suppressing superfluous subtotals. The ALL keyword creates a total or subtotal for the categories in one dimension. However, if there is only one category in the dimension, the subtotal is still shown, which is really just repeating the detail line again. This can look a bit confusing in the final output. This talk demonstrates a method to suppress those superfluous totals by saving the output from PROC TABULATE using the OUT= option. That data set is then reprocessed to remove the undesirable totals using the _TYPE_ variable which identifies the total rows. PROC TABULATE is then run again against the reprocessed data set to create the final table. |
proc tabulate, proc step, create table, group by, proc sql, sample, class variable | source | 8 |
| 105 | User-Written vs. System-Generated SAS Source Code: Is System-Generated Code a Boon or Bane to Programmers? | Thomas E. Billings | macro definition, sas enterprise guide, sas studio, proc step, proc sql | 7 | ||
| 106 | Ushering SAS Emergency Medicine into the 21st Century: Toward Exception Handling Objectives, Actions, Outcomes, and Comms | Troy Martin Hughes | Emergency medicine comprises a continuum of care that often commences with first aid, basic life support (BLS), or advanced life support (ALS). First responders, including firefighters, emergency medical technicians (EMTs) , and paramedics, are often the first to triage the sick, injured, and ailing, rapidly assessing the situation , providing curative and palliative care, and transporting patients to medical facilities. E mergency medical services (EMS) treatment protocols and standard operating procedures (SOPs) ensure that, despite the singular nature of every patient as well as potential complications, trained personnel have an array of tools and techniques to provide varying degrees of care in a standardized, repeatable, and responsible manner. Just as EMS providers must assess patients to prescribe a n effective course of action, software too should identify and assess process deviation or failure, and similarly prescribe its commensurate course of action. | exception handling, sysrc, data validation rules, macro variable, proc sort, cpu time, automatic macro variable, if-then-else, return, macro definition, quality control, macro put, macro flow control, missing value, key performance indicator, proc sql, sas log, macro function, goto, imputation, %if-%then-%else, macro facility | source | 23 |
| 107 | Using SAS to analyze Countywide Survey Data: A look at Adverse Childhood Experiences | Roshni Shah | The adverse childhood experiences (ACEs) scale measures childhood exposure to abuse and household dysfunction. Research suggests ACEs are associated with higher risks of engaging in risky behaviors, poor quality of life, morbidity, and mortality later in life. In Santa Clara County, a large diverse county where 88% residents have household internet access, we conducted a county-wide Behavioral Risk Factor Survey of adults with a unique web- based follow-up. We conducted a random-digit-dial telephone survey (N=4,186) and follow-up online survey using the CDC BRFSS ACE module. Of those eligible for the web-based survey, the response rate was 33%. The online ACE module comprised 11 questions to form 8 categories on abuse and household dysfunction. PROC SURVEYFREQ was used in SAS 9.4 to analyze survey data and provide county-wide estimates for Santa Clara County as a whole. Most respondents reported having experienced 1+ ACEs. |
proc freq, proc surveyfreq, cv, proc step | source | 3 |
| 108 | Using Shared Accounts in Kerberized Hadoop Clusters with SAS: How Can I Do That? | Michael Shealy | Using shared accounts to access third-party database servers is a common architecture in SAS environments. SAS software can support seamless user access to shared accounts in databases such as Oracle and MySQL, via group definitions and outbound authentication domains in Metadata. However, the configurations necessary to leverage shared accounts in Kerberized Hadoop clusters are more complicated. Kerberos tickets must often be generated and maintained in order to simply access the Hadoop environment, and those tickets must allow access as the shared account instead of an individual user's account. In all cases, key prerequisites and configurations must be put into place in order for seamless Hadoop access to function with the shared account. Methods for implementing these arrangements in SAS environments can be non-intuitive. | libname statement, sas enterprise guide, data cleaning, data mining, rest api, sas administrator, sas studio, proc step | source | 11 |
| 109 | What just happened? A visual tool for highlighting differences between two data sets. | Steve Cavill | Base SAS includes a great utility for comparing two data sets - PROC COMPARE. The output though can be hard to read as the differences between values are listed separately for each variable. It's hard to see the differences across all variables for the same observation. This talk presents a macro to compare two SAS data sets and display the differences in EXCEL. PROC COMPARE OUT= option creates an output data set with all the differences. This data set is then processed with PROC REPORT using ODS EXCEL and colour highlighting to show the differences in an EXCEL, making the differences easy to see. |
proc compare, proc step, proc report, excel, xls, sample, out=, output delivery system, missing value, ods excel | source | 18 |
| 110 | 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 | source | 18 |
| 111 | Why and What Standards for Oncology Studies (Solid Tumor, Lymphoma and Leukemia)? | Kevin Lee | Each therapeutic area has its own unique data collection and analysis. Oncology especially, has particularly specific standards for collection and analysis of data. Oncology studies are also separated into one of three different sub types according to response criteria guidelines. The first sub type, Solid Tumor study, usually follows RECIST (Response Evaluation Criteria in Solid Tumor). The second sub type, Lymphoma study, usually follows Cheson. Lastly, Leukemia study follows study specific guidelines (IWCLL for Chronic Lymphocytic Leukemia, IWAML for Acute Myeloid Leukemia, NCCN Guidelines for Acute Lymphoblastic Leukemia and ESMO clinical practice guides for Chronic Myeloid Leukemia). This paper will demonstrate the notable level of sophistication implemented in CDISC standards, mainly driven by the differentiation across different response criteria. The paper will specifically show what SDTM domains are used to collect the different data points in each type. | clinical trial, complete response, sdtm domain, tumor results, randomization, cdisc | source | 7 |
| 112 | You are the Concierge - a CDISC compliant project management tool on SDD | Chen Shi | Centralized Design Status information is collected and summarized by JAVA, then a SAS program will read in the status report of repository documents and update the tracker with: TIMESTAMP (last modified, last run) of source and validation program, upstream documents (served as input of the program such as raw data or macros), and downstream documents (usually the outputs, status of report, e.g. Logscan report and OpenCDISC validator report etc.); and logic check: traffic lighting OpenCDISC validation result for each domain and Logscan pass/no pass. |
excel, data cleaning, sample, raw data | source | 1 |
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.
HOME
QUICK SEARCH
AUTHORS
KEYWORDS
HELP
BUGS