WUSS 2012 Papers - Index
116 papers. Source: WUSS (Western Users of SAS Software) conference proceedings.
| # | Title× | Authors× | Abstract× | Keywords× | Extras | Pages |
|---|---|---|---|---|---|---|
| 1 | 100 things to do in your first 100 days as a New SAS Programmer | Kari Kelso | Creating your SAS training plan for a new programmer job is not easy. Avoiding eye contact with your new boss is not an option. The expectation is that you know data, SAS, and how it all fits within your organizational mix. Your first 100 days speaks volumes to whether or not you will succeed in your new position. Walk away with a plan that you can share with your teammates back at the office for yourself or the new hire. Training is not just about learning code but navigating your organization's data culture. Basic expectations of the new programmer will be covered. Learn what has worked (and not worked) from someone who has recently navigated this transition. | proc step, sas programming, sas programmer | source | 8 |
| 2 | 44 Tricks with the Format Procedure | Ben Cochran | Actually, there probably are not a tota l of 44 tricks that one can do with t he FORMAT procedure. The number was chosen purely for the purposes of alliteration. However, ther e are some fairly powerful things one can do with this procedure, and this paper serves as a gentle introduction to the FORMAT PROC edure. In SAS, a format is simply instructions on how to write or displa y a value. There are dozens, if not hundr eds, of formats that ship with the SAS system. While they cover many of the user's needs, they cannot possibly co ver all of them. So, the SAS System includes a tool that allows users to create their own formats. That tool is the FORMAT procedure. |
proc step, proc format, format statement, proc freq, proc print | source | 7 |
| 3 | A Clean Way to Convert a Character String by Using SAS Functions | Minghui Yang | This paper presents a clean way to use some SAS functions COMPRESS, SUBSTR, INDEXC, ANYDIGIT and LENGTH combined with DO-WHILE loop to convert a character string as the user desired form. If the version SAS 9.1 or later versions are not available, the function INDEXC can be used instead of using ANYDIGIT | sas function, excel | source | 4 |
| 4 | A Concise Display of Multiple Response Items | Patrick Thornton | Surveys often contain multiple response items, such as language where a respondent may speak more than one language. In this case, an indicator variable (1=Yes, 0=No) is created for each language category. This paper shows how a concise tabulation of the count and percent of respondents with a "Yes" on one or more indicator variables may be obtained using PROC TABULATE and a MULTILABEL format. A series of indicator variables is used to create a binary variable and its base-10 equivalent, and a MULTILABEL format is created to properly aggregate observations with a "Yes" on two or more indicator variables. The BAND function may also be used to easily subset observations with "Yes" responses on certain combinations of the indicator variables. |
binary variable, proc step, proc tabulate, proc format, proc freq | source | 5 |
| 5 | A SAS Macro for Displaying Institutional Risk-Adjusted Performance: Forest vs. Funnel Plots | Zhongmin Li, Geeta Mahendra |
To improve healthcare outcome and process of care, a number of government agencies and public entities have developed public report CARDS rating providers (hospital/physician) on risk-adjusted health care outcomes (mortality, hospital acquired infection and post-operative complications, etc.). Most of the healthcare report CARDS are rating provider performance by computing 95% confidence interval (CI) of the risk adjusted outcomes for each provider and comparing it against the observed population rate. In this approach, a provider is identified as a better or worse outlier if the entire 95%CI of this provider's risk-adjusted rate is below or above the observed population rate. This information has been traditionally displayed using a forest plot, however this approach has been criticized for its "spurious ranking". |
forest plot, macro definition, confidence interval, sample, outlier | source | 13 |
| 6 | An Efficient Method to Create a Large and Comprehensive Codebook | Wen Song, Baibai Chen |
At the conclusion of many data management projects, providing a client with an informative codebook is a common task for data managers or SAS programmers. When faced with a particularly large dataset containing thousands of variables or when faced with clients who demand many details about their variables, even the most experienced programmers might find this to be a daunting task. This paper provides a method of using SAS to create a customized codebook that includes the names, labels, types, values, formatted values, frequencies and percentages for every variable in a dataset. | proc step, macro variable, proc freq, do loop, proc format, proc sql, ods html, macro loop, macro function | source | 7 |
| 7 | An Introduction to Creating Multi-Sheet Microsoft Excel Workbooks the Easy Way with SAS | Vincent DelGobbo | This paper explains how to use Base SAS 9 software to create multi-sheet EXCEL workbooks (for EXCEL versions 2002 and later). You learn step-by-step techniques for quickly and easily creating attractive multi-sheet EXCEL workbooks that contain your SAS output using the ExcelXP ODS tagset and ODS styles. The techniques that are presented in this paper can be used regardless of the platform on which SAS software is installed. You can even use them on a mainframe! Creating and delivering your workbooks on-demand and in real time using SAS server technology is discussed. Although the title is similar to previous papers by this author, this paper contains new and revised material not previously presented. |
excel, xls, sas output, output delivery system, sas base, proc print, proc step, ods xml, proc tabulate, sample | source | 20 |
| 8 | An Introduction to Git Version Control for SAS Programmers | Stephen R. Philp | Traditionally version control has been in the domain of the enterprise: either your company provides it as part of your development environment or they don't. Additionally version control systems were often viewed as cumbersome, complex and difficult to work with. With Git, version control is simplified and incorporated into your development process. This lets both individual SAS developers and entire teams work faster and smarter. This paper will take some of the best practices of open source developers and apply them to individual SAS developers. It will then show how those best practices can scale to teams and remote developers. | staging area, dataset, sas programmer | source | 20 |
| 9 | An IOM Application Package for Producing Sophisticated Tables You Can Ever Mockup in Microsoft Word with Simple SAS Coding | Jian Dai, Gulan Zhang |
This paper introduces an IOM (Integrated Object Model) application package capable of generating production tables in any table formats you can ever mockup in Microsoft Word. The basic idea is to generate a production table by directly use the content in a mockup table created in Microsoft Word.. The authors developed this application in a way to enable anyone who knows basics about SAS programming to produce a table presented in any complex format. This application can be useful for all SAS users who want to generate sophisticated tables with minimum SAS programming resources, skills or budget. | sas programmer, sas log, sas programming | source | 6 |
| 10 | Analysis of Dietary Patterns over Freshman Year of College | Chelsea Lofland | The FLASH at Cal Poly San Luis Obispo has been an ongoing research study aimed at discovering more about college students' health behavior and habits throughout their college career. The data for this study comes from a combination of an online survey and a physical assessment. Students join the study during their freshman year, and data are collected each fall and spring quarter through their college career. Our current research focuses on an investigation of the progression of relationships between dietary patterns with sleep, stress, and exercise over students' freshman year. Our cohort consists of data from fall 2009 and spring 2010 quarters which represents Cal Poly students in the class of 2013. Data management techniques consisted of routine data cleaning as well as the use of PROC SQL to combine the survey data from each quarter into one analytic data set. |
degrees of freedom, proc step, residual, proc mixed, predictor variable, repeated measures, response variable, proc sql | source | 8 |
| 11 | Appending Reports: A Review and Fresh Look | William 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, an d figures (TLFs). Sometimes these TLFs are related in nature while other times they may provide information on a broad spectrum of data collected. 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 with a common look and feel. Furthermore, programs are developed over time, with the production run being in batch mode. The result is a set of TLFs completed at different times. As electronic review of information is becoming more common, programming needs to evolve to better facilitate data review. A likely candidate is a single document with a properly sectioned and hyperlinked Table of Contents as well as dynamic page numbering. | proc step, proc report | source | 7 |
| 12 | Array, Hurray, Array; Consolidate or Expand Your Input Data Stream Using Arrays | William E. Benjamin Jr. | You have an input file with one record per month, but need an output file with one record per year. But you cannot use PROC TRANSPOSE because other fields need to be retained or the input file is sparsely populated. The techniques shown in this paper will enable you to be able to either consolidate or expand your output stream of data by using arrays. Sorted files of data records can be processed as a unit using "BY Variable" groups and building an array of records to process. This technique allows access to all of the data records for a "BY Variable" group and gives the programmer access to the first, last and all records in between at the same time. This will allow the selection of any data value for the final output record. |
numeric variable, excel, dataset, proc step | source | 12 |
| 13 | Assessing Interim Data Using Figures | William Coar | Data Monitoring Committees (DMCs) are now standard for many types of clinical studies , and have a primary role to protect patient safety. This is done through interim assessment of data through the course of a clinical trial. Whether the interim reviews are with respect to a formal interim analysis or strictly a review for safety concerns, integrity of the data is of vital importance. Assessment of data quality is often in the form of determining the degree of completeness of the data as well as identifying anomalous or missing values. Two graphical approaches to better understand patient follow -up and completeness of data will be presented. The first approach is based upon standard Kaplan Meier type step plots and is a natural extension of customary time -to-event figures. The second approach entails more custom combination of horizontal bar charts. Both methods can rely on Graph Template Language (GTL). | clinical trial, data cleaning, missing value, sample | source | 6 |
| 14 | Automobile Sales Modeling using Granger-Causality Graph with PROC VARMAX in SAS 9.3 | Akkarapol Sa-ngasoongsong | Prediction of sales has played a crucial role for production planning in automotive industry where typical concept-to-release time is 12 -60 month s long. However, due to nonstationary characteristic and dependencies with diverse macroeconomic variables, the use of historical data of automobile sales alone is not sufficient to derive accurate prediction of the future of automobile sales. This paper presents a modeling of automobile sales using Granger-Causality (GC) graph with PROC VARMAX in SAS 9.3. The GC graph is a represe ntation of identified causal relationships of automobile sales and economic indicators in which the vertices represent the components of time series, including automobile sales and economic indicators, and the edges represent the causal relations among components in the graph. In this paper, we also address the issues pertaining to the prediction of automobile sales with the aid of GC Graph, includi ng season ality and nonstationarity of variables. |
time series analysis, proc varmax, proc step, null hypothesis, seasonality, unit root, significance level, irregular component, proc esm | source | 10 |
| 15 | Basic SAS PROCedures for Producing Quick Results | Kirk Paul Lafler | As IT professionals, saving time is critical. Delivering timely and quality looking reports and information to management, end users, and customers is essential. The SAS System provides numerous "canned" PROCedures for generating quick results to take care of these needs ... and more. Attendees learn how basic SAS PROCedures such as PRINT and FORMS produce detail output; CHART, FREQ, MEANS, PLOT, SQL, and UNIVARIATE summarize and create graphical, tabular, and statistical output; and utility PROCedures to manage data libraries; Additional topics include techniques for informing the SAS System which data set to use as input to a procedure, how to subset data using a WHERE statement (or WHERE= data set option), and how to perform BY-group processing. | proc step, proc means, proc sort, numeric variable, libname statement, proc freq, proc univariate, proc sql | source | 17 |
| 16 | Basic Statistics with SAS Enterprise Guide: For Learners and Teachers and Everyone Else | AnnMaria De Mars, Chelsea Heaven |
This Hands-On Workshop uses SAS Enterprise Guide for basic statistics, using data from both SASHELP files shipped with SAS and from public use data sets. Although we will use the desktop version of Enterprise Guide, all exercises can be used by students in classes with SAS On-Demand for Academics, available free to faculty and students. Participants will learn how to use SAS to check data quality, compute descriptive statistics for samples, and make charts, tables and correlations. In the second half of this workshop, participants will use SAS Enterprise Guide to conduct two different types of analyses for event data. Logistic regression is used when the dependent variable is binary, such as whether a patient lived or died. Survival analysis is used when time-to-event data are available. | sas enterprise guide, logistic regression, regression analysis, logistic distribution, proc means, survival analysis, correlation, bar chart, sample, chi-square test, response variable, life table, likelihood function, proc freq | source | 20 |
| 17 | Being Continuously Discrete (or Discretely Continuous): Understanding Models with Continuous and Discrete Predictors and Testing Associated Hypotheses | David J. Pasta | Often a general (or generalized) linear model has both discrete predictors (included in the CLASS statement) and continuous predictors. Binary variables can be treated either as continuous or discrete; the resulting models are equivalent but the interpretation of the parameters differs. In many cases, interactions between discrete and continuous variables are of interest. This paper provides practical suggestions for building and interpreting models with both continuous and discrete predictors. It includes some examples of the use of the STORE statement and PROC PLM to understand models and test hypotheses without repeating the estimation step. |
least squares mean, estimate, interval variable, binary variable, proc step, response variable, proc plm, proc genmod, ordinal variable, degrees of freedom, proc glm, main effect | source | 19 |
| 18 | Bend Excel to Your Will Using SAS TAGSETS and PROC REPORT | Ethan Miller | So you have to put data out from SAS to EXCEL, again. You don't want the clients to ignore your output like they did last time. To make your EXCEL output command attention, PROC REPORT and TAGSETS.MSOFFICE2K are your weapons of choice. This paper will illustrate how to create hyperlinks, highlight rows, and conditionally shade cells (traffic lighting). This technique is an easy way to put out data in EXCEL for people who do not use SAS. This paper was written for those with beginning skills; the code was written using SAS version 9.2 on Windows OS. |
excel, proc report, proc step, xls | source | 5 |
| 19 | Best Practices: PUT More Errors and Warnings in My Log, Please! | Mary F. O. Rosenbloom, Edwards Lifesciences, Kirk Paul Lafler |
We all like to see a SAS log that is free from errors and warnings, but did you know that you can add your own errors and warnings to the log with PUT statements? Not only that, but you can incorporate this technique into your regular coding practice to check for unexpected data values. This paper will explore the rationale and process of issuing user- created error and warning messages to the SAS log, along with a number of examples to demonstrate when this is useful. Finally, we will propose an upgrade to the next version of SAS involving a user-specified keyword with its own color in the log. | put statement, sas log | source | 5 |
| 20 | Best Practices: Use Coding Shortcuts to Avoid Typsos and Add Flexibility | Mary F. O. Rosenbloom, Edwards Lifesciences, Kirk Paul Lafler |
Let's face it: typos happen. Although the Enhanced Editor makes it easy to see when important elements in data and procedural steps are mistyped, there is no way to check for spelling errors in variable name specifications. In fact, even one mistyped character can bring down an entire analysis suite if we are unlucky enough. Certainly there is no substitute for careful checking of one's own code and rigorous validation. However, a number of techniques exist that can be used to minimize the chance of a typing error. When specific best practice techniques are combined with carefully chosen variable names (where possible), the amount of typing is often reduced, the program becomes more flexible to data changes, and the likelihood of a typo is diminished. This paper takes a quick look at several of these techniques, such as the colon wildcard, use of the dash for specification of sequential variable names, use of DIM with arrays, and #BYVAL and #BYVAR in titles. | proc step, macro variable, likelihood function, by group processing, proc transpose, binary variable, data cleaning, sample | source | 7 |
| 21 | Biology research data cleaning technical | Kai Yang | Before doing any analysis it is important to have high quality and accurate data. This paper discusses the most common SAS technical solutions for data cleaning for a biological research study. | raw data, data dictionary, char., data cleaning, character variable, missing value, proc sort, proc step, sas log, numeric variable, excel, proc import | source | 12 |
| 22 | Blurring the line between confirmation and exploration: Model comparison of structural equation modeling in JMP/SAS | Chong Ho Yu | Structural equation modeling, as the name implies, aims to confirm pre-determined structural relationships between various factors and variables. Conventionally, path searching, variable selection, and model building should be done at the exploratory stage only. Nevertheless, equipped with the new JMP interface to SAS , today the analyst is able to compare different models with different combinations of paths and variables based on several fitness criteria, such as Akaike Information Criterion and Bayesian Information Criterion. In this sense the distinction between confirmation and exploration is blurred. The objective of this paper is to demonstrate how confirmatory procedures could be "explored" in SAS via the JMP interface. Unlike TETRAD that is capable of automated path searching, model comparison in SAS/JMP is still driven by the analyst. |
proc calis, regression analysis | source | 12 |
| 23 | Bridging the Gap Between SAS Applications Developed by Business Units and Conventional IT Production | Thomas E. Billings, Euwell Bankston |
Multiple factors are involved in the decision by an enterprise to decide whether/when to allow a business unit to run its own IT centric operations versus having the SAS applications developed by business units run in conventional IT production. There can often be a wide gap between the business unit view of "production-ready" programs vs. core IT standards for production systems. The gap is driven by differences in the culture specific to the line of business and its requirements (e.g., financial and/or industry-specific government regulations). Differences in operating procedures such as automated and/or batch IT production vs. a user-assisted sequence, possibly GUI-based, often considered "reasonable" by a business unit, can compound the chasm between the two philosophies. Topics that are discussed in this paper include: 1) The contrast between most IT production driven requirements and typical issues found in business- developed systems. | data cleaning, sas base, sas enterprise guide, sample, exception handling, production run, relational database | source | 11 |
| 24 | Building Calendars with Proc Report | Frank Bereznay | Web based calendars are a very intuitive way to organize and present large sets of chronologically related reporting objects. Each day or period of time becomes a link to the related content. Cell attribution, such as background colors (traffic lighting) and or pop up values, can also be used to enhance the information content for a calendar cell. This paper will show how SAS PROC REPORT can be used to create these types of calendars |
proc report, proc step, date variable, do loop, missing value, data step, by group processing, keyword parameter, %macro parameters, dataset | source | 11 |
| 25 | Building Macros and Tracking Their Use | Richard Koopmann Jr. | Many of the routine tasks we do in SAS can be converted into parameterized macros. Whether you are processing data sets for regular reports, automating infrequent and mundane tasks, or documenting SAS libraries, macros can help make repetitious tasks more tolerable and less error-prone. Developing a common macro script structure and committing to it are just the first steps toward having a more concise code base. One immediate benefit of using macros is the ease of implementing code changes. Typically, estimating the impact of impending source changes (e.g., adding a column, renaming a schema, or deleting a table in a SQL database) is a distributed task-end-users are asked to identify potential breaks in their code base. If the end-users tend to work with different versions of their code for different projects or requests, the number of SAS files to evaluate quickly multiplies. With macros, however, there will be a smaller fraction of SAS files to evaluate. | macro variable, macro call, proc sql, date variable, proc step, macro definition | source | 6 |
| 26 | Building, refining & scoring financial transaction sequence analytics | Robin E. Way | At the A2010 and A2011 SAS analytics conferences, the author introduced the audience to the practice of transaction sequence models, applied to marketing cross-sell, risk management and account servicing case studies in the financial services industry. Sequence model discovery yields important insights about what financial transaction- based events happen together, in which order, how often. The response was very positive, yet the audience wanted more: show me how to develop and refine the data for these models; show me how to actually build these models using tools of the trade; and show me how to apply the results of these sequence models as predictors of some meaningful customer outcome, such as response to a risk management or marketing treatment. In this presentation, the author will share the key requirements for practical, in-field refinement and scoring of sequence transaction models. | data mining, financial services, sample, cluster sampling, challenger model, credit card, bank transaction, predictive analytics, regression analysis | source | 12 |
| 27 | Comparison of Implementation of A Bayesian Approach to Nonlinear Mixed Effects Modelin SAS and WinBUGS | Hui Wang | Nonlinear mixed-effects models are powerful tools for the analysis of unbalanced longitudinal data. Bayesian method is applied to estimate the parameters by incorporating the prior information for the parameters. The posterior distribution of the parameters and variance components are estimated and compared using SAS MCMC procedure and WinBUGS. SAS NLMIXED procedure is also used for implementation of nonlinear mixed effects model and comparison. The method is illustrated by the estimation of a growth curve model for the simulated growth data set. The MCMC procedure requires SAS /STAT 9.2 and later. The author expects intended audience to be familiar with growth curves, mixed effects model and Bayesian method. |
proc step, longitudinal data | source | 4 |
| 28 | Composite Indices for Health Outcomes in Epidemiologic Studies: Multi-dimensional Coding Using SAS | Nadia Chung, Huiyan Ma, Jenna Voutsinas, Leslie Bernstein, Sophia Wang, James Lacey |
Analyses in health studies often focus on one outcome at a time. In certain situations, such as prospective epidemiologic studies, the outcome of interest will be a summary measure of multiple potential outcomes, such as all- cause-mortality (i.e., death from any cause) or first diagnosis of any cancer. These types of composite indices are particularly useful when studying an intervention or exposure that may reduce the incidence of some outcomes but increase the incidence of other outcomes. Creating a composite index within a single data source is fairly straightforward, but creating a composite index across multiple data sources is analytically more complex. For an analysis of the health effects of menopausal hormone therapy in the prospective California Teachers Study (CTS) cohort, we created a composite index that was defined as the first diagnosis of breast, colorectal or endometrial cancer, coronary heart disease, stroke, pulmonary embolism, hip fracture or death from any cause. | index, proc means, clinical trial, raw data, proc freq, sample | source | 7 |
| 29 | Connect with SAS Professionals Around the World with LinkedIn, sasCommunity.org, and Business Media | Charles E. Shipp, Kirk Paul Lafler |
Accelerate your career and professional development with business media tools, including LinkedIn and sasCommunity.org. Establish and manage a professional network of trusted contacts, colleagues and experts. These exciting social networking and collaborative online communities enable users to connect with millions of SAS users worldwide, anytime and anywhere. This presentation explores how to create a LinkedIn profile and social networking content, develop a professional network of friends and colleagues, join special-interest groups, access a Wiki-based web site where anyone can add or change content on any page on the web site, and share biographical information between both communities. | sample | source | 14 |
| 30 | Countdown of the Top 10 Ways to Merge Data | David W. Franklin | JJoining or merging data is one of the fundamental actions carried out when manipulating data to bring it into a form for either storage or analysis. The use of the MERGE statement inside a datastep is the most common way data is merged within the SAS language but there are others. Based on an unscientific poll of SAS programmers and others who use SAS, this paper gives a countdown of the top 10 ways to merge two datasets, introducing the SAS code needed to join the datasets into one. Although discussion is focused on a one-to-one or one-to-many merge, some of these methods can be, and will be indicated as such, adapted to a many-to-many merge. |
proc sql, merge statement, hash table, set statement, proc step, point= option | source | 6 |
| 31 | Create Your First SAS Stored Process | Patricia S. Aanderud, Angela M. Hall |
Using examples from the newly released The 50 Keys to Learning SAS Stored Processes book, you will see how to build a stored process that allows users to filter their results for the report of their dreams. In addition, you will learn some tricks for using the SAS Prompt Framework to customize your stored process quickly and efficiently. No experience required! | macro variable, sas enterprise guide, automatic variable, date variable, proc sql, proc step | source | 9 |
| 32 | Creating a ZIP File using Native SAS Features | Jack Hamilton | ZIP files are a convenient way to bundle related files together, and can save storage space at the same time. The ZIP format is used internally by SAS for Enterprise Guide projects, but until SAS 9.2 there was no native way to create a ZIP file with your own SAS program. Starting in SAS 9.2, you can create your own ZIP files using ODS PACKAGE statements. This presentation describes how to create simple ZIP archives, and discusses how to create an archive file with an internal directory structure. |
output delivery system, sas enterprise guide | source | 3 |
| 33 | Custom Analysis and Reporting with the JMP Application Builder | Daniel Schikore | The JMP Application Builder is a drag-and-drop environment for custom application development. Developers have access to the full capabilities of JMP, including more than 50 analysis and graphics platforms for in-memory analytics, as well as custom scripting with JSL to connect with SAS or R for more powerful techniques. Custom, multi-window reports can be created interactively without having to write scripts at all. A flexible, hierarchical data filter allows the developer to apply filters to all or parts of a report. The developer can deploy a JMP Application for other JMP users to run, optionally encrypting the application with a password required to run the application. | dataset, sample | source | 12 |
| 34 | De Rigueur - Adding Process to Your Business Analytics Environment | Diane Hatcher, Falko Schulz, Steve Sparano |
In an environment where there are multiple stakeholders involved in delivering business analytics, process is required to establish "rigor," a check-and-balance system where reports and other analytic assets must be verified and approved before being shared across the enterprise. Defining an approval workflow is a common mechanism for implementing this process. With the release of SAS 9.3 Integration Technologies, your SAS business analytics environment now includes the ability to define workflows. This paper describes how to set up a report approval process where reports are developed, submitted for approval, and then made available in production (if approved). This process is managed via a custom portlet that is made available through the SAS Portal, leveraging the new workflow capabilities to track progress and execute batch SAS code. | spk file, sample, batch job, web service, sas batch | source | 22 |
| 35 | Demystifying PROC SQL Join Algorithms | Kirk Paul Lafler | When it comes to performing PROC SQL joins, users supply the names of the tables for joining along with the join conditions, and the PROC SQL optimizer determines which of the available join algorithms to use for performing the join operation. Attendees learn about the different types of join algorithms and explore nested loop (brute-force), sort- merge, index, and hash join methods along with selected options to control processing. |
proc sql, where statement, proc step, inner join, data merging, right join | source | 6 |
| 36 | Developing an Analytics Center of Excellence (Or The Care and Feeding of Magical Creatures) | Chuck Kincaid | Analytics is becoming a mission-critical venture for companies who want to be ahead of their competition. For those of us in the field it's been a long-time coming and we're excited to see the possibilities. But what does it take for companies to really succeed in analytics? We have a talent shortage of analytics professionals, a wealth of tools and technology, tons of buzz words, and organizations that know they want it, but don't know what "it" is. Based on our experience and expertise, this paper will give the reader insight into some of the challenges of building an Analytics Center of Excellence and guidance in ways to overcome them. The paper will be accessible and valuable to any attendee in any industry. It will be of particular interest to anyone with the desire to promote analytics within their organization. | business intelligence, data science | source | 11 |
| 37 | Developing Integrated Summary of Safety Database using CDISC Standards | Rajkumar Sharma | Most individual trials are not powered to identify tre nds and rare adverse events. By combining trials, rare events can be detected and a better pict ure can be obtained of the general sa fety profile of a drug. Creating an integrated safety database by pooling studies toge ther can facilitate this. Pooling information across multiple studies into an integrated safety database generally requires that relevant data from all studies have the same structure and metadat a standards. Since, CDISC(Clinical Data Interchange Standards Consortium) structure is better def ined; it can be used to create inte grated safety database with ease. However, there are challenges and issues to watch out for. This paper will cover in detail on how to create integrated safety database, challenges associated with it, things to watch out for and tips. | adam dataset, sdtm domain, adverse events, proc contents, proc step, controlled terminology, date variable, imputation, cdisc | source | 7 |
| 38 | Doing More with the Display Manager: From Editor to ViewTable - Options and Tools You Should Know | Arthur L. Carpenter | If you have used the interactive interface for SAS you have most likely used the Display Manager. As it ships, the Display Manager is very powerful and yet fairly easy to use with a minimal learning curve for the new user. Because it is functional 'right out of the box', most users do very little to customize the interface. This is a shame, because the Display Manager contains a great many hidden opportunities to make it even more powerful, even easier to use, and customized for your way of using the interface. The Display Manager builds a variety of windows, screens, and dialogue boxes to f acilitate communication between SAS, the Operating System, and the user. For each of the five primary windows and extending to the dozens of secondary windows there are options that control the content, display, and level of interaction. Options have defaults and a majority of these can be easily changed to suite your needs. | proc step, dataset, macro call, proc print, macro facility, macro variable, macro put, macro quoting function | source | 17 |
| 39 | Dynamically Determine Treatment Populations and Denominators | Ruth Johnson | This paper describes how to dynamically list and count different treatments/subgroups within your data and is particularly useful when data is incomplete or the full list of treatments/subgroups is unknown or to standardize analyses. The macros presented here use SQL and macro indices to determine the different treatments based on what is present in the current data and creates a data set with the overall count of subjects in a treatment, individual macro variables containing the overall counts for each treatment, and a macro variable containing a list of the different treatments. This standardization allows for a more dynamic approach to analyses presented by treatment; in particular, it automates the generation of population counts used in the calculation of percentages, displaying overall counts, including treatments with missing data for a specific summary and in determining the number of groups found in the data. | macro variable, proc step, macro parameter, macro loop, do loop, clinical trial, proc report, put statement, macro put, proc sql, proc freq, macro definition | source | 10 |
| 40 | Estimating Harrell's Optimism on Predictive Indices Using Bootstrap Samples | Irena Stijacic Cenzer, Yinghui Miao, Katharine Kirby, W. John Boscardin |
In aging research, it is important to develop and validate accurate prognostic models whose predictive accuracy will not degrade when applied in external data sources. While the most common method of validation is split sample, alternative methods such as cross-validation and bootstrapping have some significant advantages. The macro that we present calculates Harrell's optimism for logistic and Cox regression models based on either the c-statistic (for logistic) or Harrell's c (for Cox). It allows for both stepwise and best subset variable selection methods, and for both traditional and .632 bootstrapping methods. In addition, we present and discuss the advantages of using Best Subsets regression for model selection instead of stepwise procedures. The uses of Best Subsets regression and our Harrell_Optimism macro are demonstrated using data on post-hospitalization functional decline. | best subsets, bootstrap, regression analysis, sample, logistic distribution, logistic regression, feature selection, data cleaning | source | 9 |
| 41 | Exploratory and Descriptive Data Analysis for Site-Level Outcomes | Amanda Stevenson | Monitoring and evaluating healthcare outcomes requires analysis at the state, regional, and clinic levels, but outcomes themselves occur and are measured at the individual level. This paper provides a guided tour of some SAS tools for exploratory and descriptive data analysis for healthcare outcomes researchers who wish to understand variability in aggregate level outcomes across space and time. Because rates are a common aggregate outcome measure, particular attention will be paid to visual and quantitative descriptions of rates and variability in rates. In the interest of supporting causal claims, the use of decomposition analysis for explaining variability will be demonstrated. | data science, proc means | source | 7 |
| 42 | Exploratory Factor Analysis with the World Values Survey | Diana D. Suhr | Exploratory factor analysis (EFA) investigates the possible underlying factor structure (dimensions) of a set of interrelated variables without imposing a preconceived structure on the outcome (Child, 1990). The World Values Survey (WVS) measures changes in what people want out of life and what they believe. WVS helps a worldwide network of social scientists study changing values and their impact on social and political life. This presentation will explore dimensions of selected WVS items using exploratory factor analysis techniques with SAS PROC FACTOR. EFA guidelines and SAS code will be illustrated as well as a discussion of results. |
factor analysis, factor loading, correlation, proc step, proc factor, sample, latent variable, r-squared, proc corr, sample size, maximum likelihood estimation, standard deviation, likelihood function, scree plot, estimate, varimax rotation | source | 19 |
| 43 | Extend the Power of SAS to Use Callable VBS and VBA Code Files Stored in External Libraries to Control Excel Formatting Routines | William E. Benjamin Jr. | Did you ever wish you could use the power of SAS to take control of EXCEL and make EXCEL do what you wanted "WHEN YOU WANTED"? Well one letter is the key to doing just that, the letter "X" as in the SAS "X" Command that opens the door to all operating system commands from SAS. The Windows operating system comes with a facility to write a series of commands called scripts. These scripts have the ability to open and reach into the internals of EXCEL. Scripts can load, execute and remove VBA macro code and control EXCEL. This level of control allows you to make EXCEL do what you want, without leaving any traces of a macro behind. This is Power. |
excel, sas enterprise guide, proc template | source | 13 |
| 44 | Figure Out Your Programming Logic Errors via DATA Step Debugger | Wuchen Zhao | Programming errors can be categorized into syntax errors and logic errors. Syntax errors can be easily fixed because these types of errors can be detected by SAS during the DATA STEP compilation phase and SAS will stop the program to generate an error report in the log window. Unlike syntax errors, logic errors are difficult to be found and/or corrected since programs with logic errors often operate correctly but result in unexpected results. One of the useful tools to repair logic errors is to utilize DATA STEP Debugger, which allows you to see the contents of the Program Data Vector (PDV) during the DATA STEP execution. With the debugger running, you will be able to monitor and update data values by using data debugging commands which will help you to understand where the problem is so that you will be able to fix the error. This paper will illustrate some debugging techniques by using DATA STEP Debugger. |
sas log, execution phase | source | 8 |
| 45 | Get Your "Fast Pass" to Building Business Intelligence with SAS and Google Analytics | Patricia S. Aanderud, Angela M. Hall |
See the magic of Google Analytics with SAS Business Intelligence tools! Use your "Fast Pass" to learn SAS Information Map Studio, SAS Web Report Studio, and SAS Information Delivery Portal with the authors of the newly released "Building Business Intelligence with SAS". We will guide you step-by-step through creation of information maps, custom web reports, and portal pages using data from Google Analytics. You will learn some tips and tricks for creating custom data items, designing and linking reports, and adding external content to your portal. | business intelligence, dataset, excel | source | 18 |
| 46 | Getting Up to Speed with PROC REPORT | Kimberly J. LeBouton | Learning the basics of PROC REPORT can help the new SAS user avoid hours of headaches. PROC REPORT can often be used in lieu of PROC TABULATE or DATA _NULL_ reporting--two areas that have driven the new SAS user crazy!!! With the added capabilities of ODS, PROC REPORT can look as sharp as an EXCEL report. This paper will show how to use PROC REPORT in both a windowing and non-windowing environment using SAS Version 9. |
proc report, proc step, proc print, proc tabulate, proc means, variable | source | 8 |
| 47 | Google Search Tips and Techniques for SAS and JMP Users | Kirk Paul Lafler, Charles E. Shipp |
Google (www.google.com) is the worlds most popular and widely-used search engine. As the premier search tool on the Internet today, SAS and JMP users frequently need to identify and locate SAS and JMP content wherever and in whatever form it resides. This paper provides insights into how Google works and illustrates numerous search tips and techniques for finding articles of interest, reference works, information tools, directories, PDFs, images, current news stories, user groups, and more to get search results quickly and easily. | source | 5 | |
| 48 | Guide Users along Information Pathways and Surf through the Data | Stephen M. Overton | Business information can be consumed many ways using the SAS Enterprise Business Intelligence Platform. SAS BI Dashboard can be used to report high level key performance indicators at-a-glance through the SAS Information Delivery Portal. Detailed web-based reports can also be surfaced from SAS Information Delivery Portal through SAS Web Report Studio. This paper will present an information system that integrates the functionality of these tools to answer business questions faster and with a greater understanding of the key drivers of business critical data. This paper will also present the data infrastructure needed to support this type of information system through the use of OLAP technology, effective data architecture, report linking, and information maps. | star schema, sample, dimension table, raw data, sas enterprise guide | source | 12 |
| 49 | Habits that Help: Developing Good Programming Style | Casey Cantrell | The first goal of most new programmers is to write programs that run. Often, more time is spent checking and debugging programs than is spent writing them. As programmers mature, they typically find it easier to test, debug and document their programs. This occurs in large part because they have developed a consistent programming style and acquired habits that expedite error detection and documentation. Putting into practice a few simple procedures will yield significant benefits: greater accuracy, fewer hours invested and less aggravation. This paper will discuss practical programming 'habits' that will make the programmer's work easier. | proc step, sample, missing value, do loop, proc format, if-then-else | source | 13 |
| 50 | HELP, My SAS Program isn't Working: Where to Turn When You Need Help | Kimberly J. LeBouton | Instead of a quick code fix, I often assist the SAS user by troubleshooting their issue with my knowledge of SAS and the SAS community. For over 20 years, I have provided SAS Technical Support, and this paper will present strategies I have used to work through simple to complex technical problems, and will include access to my "cheat sheets". | put statement, sample, sas log, macro put | source | 4 |
| 51 | Hire Winners! Tips for Finding Qualified Candidates and Great SAS Programmers | Kathy Doan | Learn tips and tricks that will help you assess a candidate's SAS skill level during the interviewing process. You're probably thinking: "I don't program in SAS. How can I assess someone's skill level in SAS?" No, problem! These tips work even for the non-programming interviewer. Have you ever met a candidate who looked great on paper, but when they are hired for the job, you find out they don't even know how to do a PROC PRINT? Well, I have, and as an experienced HR professional, I have learned what questions to ask a candidate to see if they are exaggerating their SAS skills. Learn how to tell if a candidate really does have 10 years of SAS experience or if they only took one SAS class 10 years ago and did nothing with it, but claim they have 10 years of experience. Even better, find out how to get the right candidates to interview in the first place so you don't waste your time with the wrong fit. |
proc step, sas programmer, sas programming, proc sql | source | 8 |
| 52 | How Do Child Support Order Amounts Affect Payments and Compliance? | Mark Takayesu | The Research Unit of the Orange County Department of Child Support Services produced the first empirical study that examined the impact of setting child support order amounts to predict future child support payments . Child support orders are primarily determined based on a percentag e of the non -custodial parent's (NCP's) income. This percentage is the Ratio of Or der Amount to Wage - ROTW. The goal of this study was to determ ine the optimal ROTW leading to maximum and consistent child support payments. This study analyzed 102,332 child support cases encompassing 142,730 children in the State of California. In order to determine the ROTW level leading to maximum future child support payments, "Backward Difference C oding" in multiple regression models were used. Multiple regression analyzed samples of data belonging to ROTW in 10% increments and 1% increments afte r controlling for the effects of other potential factors that influence child support payments. | multiple regression, regression analysis, response variable, sample, data visualization, predictor variable | source | 12 |
| 53 | I Hate Typing Variable Names | Mark Kirkham | At the bank we have very large datasets most of these dataset have hundreds of variables. When I first started coding in SAS I would create a macro variable at the top of my code that would contain a list of variables I am interested in. This macro variable is usually used in the keep = option. I've come up with three better techniques to build the macro variables with the important variable names. First, for frequently used datasets, I create the macro variable in the SAS autoexec file. Because these macro variables are built upon starting SAS, they are always available when I want to use them. Second, I use the output dataset from PROC CONTENTS. I use this dataset and the into clause in PROC SQL to build a macro variable with variable names in it. The last technique is to use dictionary tables. Keywords: autoexec, PROC CONTENTS, PROC SQL, into, dictionary tables, macro variables. |
proc step, macro variable, proc contents, dictionary tables, proc sql, out=, character variable, keep statement | source | 4 |
| 54 | I Want to Get Married Too: Assessing the Relationship between Marital Status and Education for African American Women | Shanetta Robinson, Tara Jiles, AnnMaria De Mars |
The purpose of this study is to explore the relationship between education and marriage in the population of African American women. In this paper, we use SAS On-Demand with SAS Enterprise Guide to analyze a subset of data from the American Community Survey to answer a research question. Seeking to identify the variables that impact the marital status of African American women, the study poses the following inquiry: Does the likelihood of marriage among this subgroup of women decrease as education level increases? Although the specific focus is more social science, these same methods could be applied to marketing research, medical research or any other type of analysis. One way this paper showcases Enterprise Guide is that it features the presentation capabilities, especially graphics and summary tables. Creating graphics and tabular statistics is far easier with SAS Enterprise Guide than using SAS/ Graph or PROC TABULATE. |
sas enterprise guide, regression analysis, proc means, logistic regression, logistic distribution, likelihood function, sample, predictor variable | source | 11 |
| 55 | IF Cand IFN Functions: Alternatives to Simple DATA Step IF-THEN-ELSE, SELECT-END Code and PROC SQL CASE Statements | Thomas E. Billings | IFC and IFN are Base SAS functions whose result depends on whether a user-supplied logical expression is true, false, or missing. These functions support single statements that can perform the same processing as more complex IF-THEN-ELSE, SELECT-END code blocks in DATA STEP code, or CASE statements in native SAS PROC SQL. The use of IFC and IFN are explored, and equivalent alternate DATA STEP and PROC SQL statement code are illustrated. The question of when/if a logical expression may have a missing value is also investigated. |
ifn, proc sql, proc step, sas base, sas enterprise guide, missing value, numeric variable, ifc | source | 8 |
| 56 | Implementing the New ICH Development Safety Update Report (DSUR) | Rajkumar Sharma | In 2010, the International Conference on Harmonization (ICH) rolled out its E2F Development Safety Update Report (DSUR) guideline. The DSUR is similar to the US's Investigational New Drug Annual Report (IND-AR) and the EU's Annual Safety Report (ASR) in that its purpose is to provide a brief overview of safety for a project on an annual basis so health authorities can better make decisions to protect the safety of patients. However, there are some significant differences in content between DSUR and previous annual reports. Since DSUR implementation is new to all companies, getting a handle on best practices is a wide-spread challenge. This paper will address the major highlights of DSUR content and suggest some ways of producing these reports efficiently within a company. | adverse events, treatment arm | source | 10 |
| 57 | Import Excel: Go Beyond The Wizard With Data-Driven Programming | Renato G. Villacorte | Programming techniques that take advantage of Data-Driven Programming will be demonstrated for Novice and Intermediate Users of Base SAS. Most users already take advantage of Data-Driven Programming with wizards. Wizards harvest information through an interface and then write and execute programs based on those parameters. As programmers' skills evolve, they may want to edit the product of a wizard in order to confront a variety of problems that a wizard could not anticipate. Going a step further, programmers can author their own wizards that make their own work easier. The workshop will include demonstrations in working with built-in SAS wizards, developing simple Data-Driven Programs, and the use of parameter-gathering techniques using Enhanced Editor, simple macro language, and ODS. |
proc step, proc import, macro variable, output delivery system, logistic distribution, proc contents, macro definition | source | 7 |
| 58 | Innovative Techniques: Doing More with Loops and Arrays | Arthur L. Carpenter | DO loops and ARRAY statements are common tools in the DATA STEP. Together they allow us to iteratively process large amounts of data with a minimum amount of code. You have used loops and arrays dozens of times, but do you use them effectively? Do you take advantage of their full potential? Do you understand what is really taking place when you include these statements in your program? Through a series of examples let's look at some techniques that utilize DO loops and ARRAYs. As we discuss the techniques shown in the examples we will also examine the use of the loops and the arrays by highlighting some of the advanced capabilities of these statements. Included are examples of DO and ARRAY statement shortcuts and 'extras', the DOW loop, transposing data, processing across observations, key indexing, creating a stack, and others. |
do loop, hash table, conditional do loop, set statement, temporary array, array, character variable, numeric variable, end= option, moving average, point= option, array bounds, mod, stop, lookup | source | 14 |
| 59 | Is the Legend in your SAS/Graph Output Still Telling the Right Story? | Alice M. Cheng, Justina M. Flavin |
In clinical studies, researchers are often interested in the effect of treatment over time for multiple treatments or dosing groups. Usually, in a graphical report, the measurement of treatment effect is on the vertical axis and a second factor, such as time or visit, on the horizontal axis. Multiple lines are displayed in the same figure; each line represents a third factor, such as treatment or dosing group. It is critical that the line appearance (color, symbol and style) are consistent throughout the entire clinical report, as well as, across clinical reports from related studies. Flavin and Carpenter (2004) showed that the GPLOT procedure, by default, did not guarantee consistency in line appearances. They provided macro and non-macro solutions to this problem. With the introduction of Statistical Graphics (SG) in SAS v9.3, there are multiple approaches to resolve this problem. |
proc sgplot, class variable, proc gplot, graph template language, proc step | source | 17 |
| 60 | JMP Coders 101 Insights | Charles E. Shipp, Kirk Paul Lafler |
JMP Version 10 is a powerful data discovery tool that is used interactively on your personal computer. We illustrate finding cause and effect in Veterans Hospital cancer patient data and show the code JMP creates as we interact. We demonstrate and discuss briefly the derivation of the density ellipse and its value to show data position, extent, and correlation in cause and effect. We conclude with leads to JMP learning and user exchange interaction. | data profiling, correlation | source | 6 |
| 61 | Look Out: After SAS/STAT 9.3 Comes SAS/STAT 12.1! | Maura E. Stokes | Heralded by a new release-numbering scheme, SAS/STAT 12.1 comes loaded with new statistical capabilities. New development areas include model selection for quantile regression, quantile regression for censored data, and multi- variate adaptive regression splines. Epidemiologists will like the STDRATE procedure for computing direct and indirect standardized rates and risks for study populations. The FMM procedure becomes production and includes new features such as additional distributions. Other notable enhancements include modeling missing covariates with the MCMC pro- cedure and fitting Bayesian frailty models with PROC PHREG. This paper reviews highlights from earlier releases and describes highlights of SAS/STAT 12.1, slated for release during 2012. |
proc quantreg, regression analysis | source | 27 |
| 62 | Macro Quoting to the Rescue: Passing Special Characters | Mary F. O. Rosenbloom, Edwards Lifesciences, Arthur L. Carpenter |
We know that we should always try to avoid storing special characters in macro variables. We know that there are just too many ways that special characters can cause problems when the macro variable is resolved. Sometimes, however, we just do not have a choice. Sometimes the characters must be stored in the macro variable whether we like it or not. And when they appear we need to know how to deal with them. We need to know which macro quoting functions will solve the problem, and even more importantly why we need to use them. This paper takes a quick look at the problems associated with the resolution and use of macro variables that contain special characters such as commas, quotes, ampersands, and parentheses. | macro variable, macro quoting function, macro call, call execute, macro trigger, proc print, where statement, proc step, macro function, macro facility, macro loop, do loop, autocall macro, %macro parameters, &variable | source | 12 |
| 63 | Making Fuzzy Merges More Precise using the COMPARE Function in SAS | Kathryn Martin | Linking records from databases with common variables but no single unique identifier is a common business need across industries, and unfortunately, data are messy. Several SAS functions are often cited as methods for merging records on "fuzzy" or misspelled names, such as SOUNDEX and COMPGED, which respectively, compare the phonetic and character structure of two text strings. However, they often do not provide the level of precision needed for deterministic linkages, particularly in large databases with thousands of similar names. Luckily, many data entry errors tend to be common in nature-letters are transposed, characters are deleted, and often names are misspelled or only partially recorded. The purpose of this paper is to describe how the COMPARE function in SAS can be used to merge records on names, even if they do not match exactly. The COMPARE function identifies the location at which two character strings differ. | proc sql, proc step | source | 9 |
| 64 | Metadata, Macros, and Documenting SAS Programs | Patrick Thornton | A great deal of information important for documenting SAS programs is easily available using SAS DICTIONARY, Advanced Editor environmental variables (e.g. SAS_EXECFILEPATH), and date and time functions. This paper will show that the disciplined use of macro variables, FILENNAME throughout your programs, and a few strategically placed macro program calls allows SAS to quickly capture dates and times of submissions, files imported, data sets created and modified, files exported, outputs generated, and logs created. This paper will demonstrate for an intermediate SAS Foundation 9.2 user the capability of capturing metadata for program documentation, and will discuss a few short macro programs to implement the strategy. | macro variable, create table, proc step, proc sql, macro function | source | 5 |
| 65 | Modular processing for Prep-to-research anaylsis - interfacing XML SAS and Microsoft Excel | David Tabano | Healthcare research is often preceded by a prep-to-research (PTR) phase, or probing available data sources for a breadth and depth of information sufficient to pursue particular study aims. This process involves investigators and analysts working together iteratively through queries, summary statistics and power analyses, which often yields new queries and analyses. The PTR process can thus be lengthy and cumbersome as investigators present queries that require extensive and unique coding on the part of the analyst, and may not necessarily generate the desired results from a lack of articulated parameter guidelines. PTR can become even more challenging in multi-site research environments, where multiple sites are queried for preliminary analysis, each with different programmers and dataset nuances. | hash table, excel, power analysis, sas programming, dataset, xls, proc step, proc format, proc means, sample, macro variable, medical history, subject-level data | source | 16 |
| 66 | Moving Beyond Caveman Communication to Explain the Statistics Behind Your Model:So Easy a PhD Can Do It! | Kari Kelso | Predictive Modeling is hot. Explaining predictive modeling is not. Yet, the two need to hook up. One without the other makes for a lonely SAS presentation of your results. Understanding the basic principles, and yes, a little statistics, will help you communicate why the model SAS and you built together is predictive. Your first model needs to have the "WOW" factor - WithOut Worry - and it begins with how successful you are in explaining the statistical foundations of the model minus the statistics - No PhD required. We will work on how best to share difficult statistical concepts that prove your model's worth so you win over your toughest opponents. | regression analysis, data mining, predictive analytics, odds ratio, sas programming, cluster analysis, gain chart, correlation, proc princomp | source | 9 |
| 67 | Multivariate Statistical Analysis in SAS: Segmentation and Classification of BehavioralData | Rachel Poulsen | An idiom in the customer service industry is "the customer is always right". However, in many instances the customer will not speak up and another popular idiom must be applied -- "actions speak louder than words". In a growing world of technology and information, the actions of customers are more measurable than ever. These actions include anything from how the customer engages with the product to how much they spend. Multivariate statistical techniques can be used to understand large amounts of behavioral data by placing customers into smaller segments or types. Once segmented, classification models can be used to assign new or changed customers to a segment as well as describe each segment. Some popular statistical algorithms used to segment and classify observations into groups include Collaborative Filtering and Machine Learning Models. | cluster analysis, proc step, proc princomp, proc discrim, sample, hierarchical clustering, training set, data cleaning, proc cluster, outlier, proc fastclus, multivariate analysis, proc freq, discriminant analysis, machine learning, uniform distribution, group by | source | 14 |
| 68 | Not Just for Scheduling: Doing More with SAS Enterprise Guide Automation | Chris Hemedinger | SAS Enterprise Guide supports a rich automation model that allows you to "script" almost every aspect of opening and running SAS Enterprise Guide projects. While this is most often used with the built-in "scheduler" function to simply run a project or process flow unattended, you can also write your own scripts that automate much more. You can create new projects on the fly, supply values for project prompts, run individual tasks, export results, and more. You are not limited to the traditional VB Script method of automation; you can also use more sophisticated frameworks such as Windows PowerShell or Microsoft .NET. This paper describes the concepts behind automation for SAS Enterprise Guide, and provides examples to accomplish a variety of tasks using the different scripting technologies. | sas enterprise guide, sas enterprise guide project, excel | source | 14 |
| 69 | Now You Can Annotate Your Statistical Graphics Procedure Graphs | Dan Heath | Have you ever had a situation where you wanted to add custom labeling or other graphical features to your statistical graphics (SG) procedure output but could not find a way to do it? Even with all of the plot types and options of the SG procedures, you might have run into this situation. With SAS 9.3, you can add these features directly by using the new annotation support in the SG procedures. The annotation data set definition used by these procedures has been redesigned to take advantage of ODS Graphics functionality. This paper will discuss this functionality in detail, highlighting new features in this system that include the following: rich text support (including superscripts, subscripts, and Unicode) transparency support for all primitives more drawing spaces for easier placement of annotations |
bar chart, forest plot, proc sgplot, proc step | source | 18 |
| 70 | Nuisances of Report Automation that Involve Change Tracking | Julie A. Kilburn, Rebecca Ottesen |
Updating our data for the NCCN Outcomes database patients who had a recent change in their data saved a lot of time but it also introduced complexities. We discovered that we needed a way to trigger a complete refresh of all patients when one of the many algorithms (stored as SAS macros) used to derive the data had been modified. Additionally, we also had to add a layer of programming that would check for scenarios based on when a patient was deleted from the database, to ensure that they were also deleted from the reporting data set. This paper will discuss various data considerations, the acquiring of stored file information to determine if a SAS program has been modified recently, and also how we use that information to choose which way to update the final reporting data set. | macro definition, dataset | source | 5 |
| 71 | Obtaining A List of Files In A Directory Using SAS Functions | Jack Hamilton | This presentation describes how to use the SAS data information functions to obtain a list of the files in a directory under Windows or Unix. This method has the advantages of being written entirely in SAS and mostly platform independent. A common alternative method, "shelling out" to the host operating system, is also discussed. The data information functions are available in all currently supported versions of SAS. This paper is in two parts. The first describes obtaining the names of files in a single directory; the second part discusses how to obtain a recursive directory listing, i.e., the files in a directory and the directories underneath it. | dataset, proc fcmp | source | 6 |
| 72 | OUT= Is on the Way Out - Use ODS OUTPUT Instead | Stanley E. Fogleman | There are, as a general rule, two methods to create a SAS dataset from procedural output. The more traditional one is OUT=. This feature is being replaced by the ODS OUTPUT statement as new capabilities are added to procedures. In the future, only existing variables (generally pre 9.1) will be available on the OUT= statement. Therefore, it behooves the day-to-day SAS programmer to become familiar with the new syntax. |
ods output, output, dataset | source | 4 |
| 73 | Power Analysis: What is Available and What You Need to Know | Gerry Hobbs | Planning should be the first step in any scientific experimentation. A critical part of planning is the determination of the sample size necessary to achieve the goals of the particular project. It is clearly a waste of resources to have too many experimental units (subjects, animals, ingots or whatever). It is equally a waste of resources to carry out an investigation with so few experimental units that there is little hope of demonstrating whatever effect it is that we wish to demonstrate. SAS Software provides tools that can be used in order to guide us in our efforts to determine the appropriate sample size. | sample, sample size, proc step, proc power, proc power and sample size, standard deviation, proc calis, binomial distribution, proc glmpower | source | 11 |
| 74 | Power plant emissions, pediatric asthma, and school attendance: A spatial identification analysis | Anton Bekkerman, Jake Morgan |
Adverse educational outcomes have been repeatedly linked to recurring school absenteeism, which are exacerbated by chronic illness. Asthma is the most prevalent pediatric chronic illness and is the leading cause of health-related school absenteeism. This study seeks to understand the impacts of coal power plant emissions on asthma aggravation and resulting school absenteeism. Data from a unique, nationally administered pediatric asthma survey are combined with power plant emissions information to estimate the relationship between school absenteeism by asthmatic children exposed to different emission levels. Exogenous meteorological information is used to identify children in households that are affected by power plant emissions. Empirical results robustly show a positive relationship between power plant emission quantities and asthma-induced school absences. | macro variable, likelihood function | source | 12 |
| 75 | PROC BOXPLOT - Using the CLIP FACTOR option to produce more readable figures | Heidi Nasizadeh Sangart, Michelle Wang |
The BOXPLOT procedure in SAS/GRAPH provides the ability to visualize summary statistics such as maximum, third quartile, median, mean, first quartile, and minimum. The SCHEMATIC option allows the outlier values within a group to be shown as separate points. For exploratory analysis using "dirty data" or data prone to extreme outliers, the box and whisker elements can become too compressed for the figures to be easily interpreted. PROC BOXPLOT, will show all the values in all groups and will not allow us to limit the y-axis to a value that is within the data range. Using the CLIPFACTOR option to clip the extreme values produces a more readable and useful plot to visualize the data. |
box plot, proc boxplot, outlier, proc step | source | 5 |
| 76 | PROC FREQ Is More Than Just Simply Generating a 2-by-2 Table | Wuchen Zhao | The FREQ procedure is one of the most commonly-used statistical procedures among SAS users, especially for health care professionals. In the realm of health care, the outcomes are dichotomous variables in many studies; hence PROC FREQ is a helpful tool to provide a brief glance at the characteristics of outcome and some categorical predictor variables by producing frequency tables. It is also a powerful procedure to compute various statistics between outcome and predictor variables, such as relative risks, strength of associations, chi-square tests and so forth. Furthermore, you can generate statistical graphics through the FREQ procedure with ODS Graphics. This paper introduces how to create contingency tables in 1-way to n-way, including the directions of options to calculate statistics, as well as containing the techniques for creating different plots using ODS Statistical Graphics as well. |
proc freq, relative risk, odds ratio, proc step, sample size, format statement, sample, nominal variable, likelihood function | source | 11 |
| 77 | PROC PRINT - The Granddaddy of All Procedures, Enhanced and Still Going Strong | David W. Franklin | The PRINT procedure, or PROC PRINT, has been around since SAS first began and is considered one of the granddaddy procedures. Although this procedure has been replaced in part by the REPORT procedure, there is still a lot you can do with it. This paper looks at first a simple dump of data, then dresses it up with the use of statements like the BY and ID statements to publication ready output. Next, output is cranked up a notch to demonstrate how PROC PRINT enhancements can be used to produce HTML (with graphics and links), RTF and PDF (with bookmarks). Along the way the paper will also touch on techniques for post processing to make your output more alive. |
proc print, proc step, file statement, ods pdf, by group processing, ods html, proc template, proc report | source | 14 |
| 78 | PROC REPORT Unwrapped: Exploring the Secrets behind One of the Most Popular Procedures in Base SAS Software | Allison McMahill Booth | Have you ever wondered why a numeric variable is referenced in different forms within a COMPUTE block? Do you know the difference between a DATA STEP variable and a variable that is listed in the COLUMN statement? Then, this paper is for you! Welcome to PROC REPORT Unwrapped. We are looking at PROC REPORT and uncovering some of the behind-the-scenes details about this classic procedure. We will explore the components associated with PROC REPORT and discover ways to move column headings and change default attributes with styles and CALL DEFINE statements. We will also dig deep into example code and explore the new ability to use multilabel formatting for creating subgroup combinations. So for anyone who has ever written PROC REPORT code, stay tuned. It's PROC REPORT Unwrapped! |
proc report, proc step, sas log, numeric variable, proc print, automatic variable, title statement, sas enterprise guide, file statement, output delivery system | source | 18 |
| 79 | Proficiency in JMP Data Visualization | Charles E. Shipp, Kirk Paul Lafler |
The premier tool for robust statistical graphics is JMP. It combines easy navigation, advanced algorithms, and graphical output you can trust. After a brief introduction of JMP navigation and resources within the JMP software, we take a tour of classical and modern advanced graphical capability of JMP. In the SAS Global Forum talk we introduce case studies that show the power of JMP using graphics and analysis. To conclude, we cover directions in training and JMP user exchange. | source | 6 | |
| 80 | Programming With CLASS: Keeping Your Options Open | Arthur L. Carpenter | Many SAS procedures utilize classification variables when they are processing the data. These variables control how the PROCEDURE FORMS groupings, summarizations, and analysis elements. For statistics procedures they are often used in the formation of the statistical model that is being analyzed. Classification variables may be explicitly specified with a CLASS statement, or they may be specified implicitly from their usage in the procedure. Because classification variables have such a heavy influence on the outcome of so many procedures, it is essential that the analyst have a good understanding of how classification variables are applied. Certainly there are a number of options (system and procedural) that affect how classification variables behave. While you may be aware of some of these options, a great many are new, and some of these new options and techniques are especially powerful. You really need to be open to learning how to program with CLASS. |
proc step, missing value, proc freq, proc report, proc means, proc tabulate | source | 15 |
| 81 | Quick Results with SAS ODS Graphics Designer | Sanjay N. Matange | You just got the study results and want to get some quick graphical views of the data before you begin the analysis. Do you need a crash course in the SG procedures (also known as ODS Graphics Procedures) just to get a simple histogram? What to do? The ODS Graphics Designer is the answer. With this application, you can create many graphs including histograms, box plots, scatter plot matrices, classification panels, and more using an interactive "drag-and-drop' process. You can render your graph in batch with new data and output the results to any open destination. You can view the generated GTL code as a leg up to GTL programming. You can do all this without cracking the book or breaking a sweat. This hands-on-workshop takes you step-by-step through the application's features. |
kaplan-meier plot, histogram, box plot, scatter plot, bar chart | source | 14 |
| 82 | Rediscovering the DATA _NULL_ for Creating a Report, And Putting That Text File Into RTF Format In a Single Datastep | David W. Franklin | Before PROC REPORT existed, most text output files were created by PROC PRINT and PROC TABULATE, or where a report was needed that needed a bit more sophistication, DATA _NULL_ was used. This paper rediscovers the DATA _NULL_ as it is used for creating a text output file and presents a few macros, tricks and techniques that will make your report shine, including a macro for wrapping text so it can go onto multiple lines, doing "Page x of y" processing, centering or right aligning text, page breaking where you want it, and carrying over group values from one page to another. Finally, the output that is produced from a full example will be transformed into an RTF file by a macro in a single datastep.. |
put statement, data step, proc step | source | 14 |
| 83 | Revenue Assurance: Using SAS to Identify Revenue Leakages | Sunil Goklani, Ahmed Darwish, Scott Pena |
Would you be able to convince your executive management that all revenue and cost streams are free of monetary leaks? That all people, processes and systems are designed and executed correctly and that design oversights, system defects, and human mistakes fail to make their way into the organization? In a customer oriented industry, ramifications of allowing such anomalies, unchecked, could result in uncaptured revenue, strained relationships with vendors, and a poor customer experience. With increasing complexity and several components interacting in a large organization, issues are inevitable. In such settings, SAS becomes an invaluable tool for any Revenue Assurance team to begin to identify, quantify and address some of these anomalies. | account, revenue assurance | source | 8 |
| 84 | Sample Size Calculation and Power Analysis for Design of Experiments Using Proc Glmpower | Chii Dean | "How many samples do I need?" When a statistician or a quantitative analyst gets involved in a project, this is always one of the first questions to be asked. SAS has developed several tools to address this need. For example, PSS(power and sample size), PROC POWER, and PROC GLMPOWER are all available for users to use in various designs. Introductions in PSS and PROC POWER have been presented in many SAS related conferences. However, PROC GLMPOWER is relatively unaware comparing to the other two tools. In this paper, we introduce how one can easily understand the syntax of PROC GLMPOWER for sample size calculation or power analysis that are related to design of experiments. In conducting an experimental design, PROC GLM allows one to test for pre-planned contrasts. Similarly, the PROC GLMPOWER can be used to calculate either the sample size or the power for any contrast one may have. The related syntax is discussed in this paper. |
sample size, proc step, sample, proc glmpower, proc power and sample size, proc power, proc glm, power analysis, standard deviation, proc genmod, ancova, effect size, correlation, covariance, interaction effect, proc mixed, regression analysis, response variable | source | 10 |
| 85 | SAS "IML" (Introduction at the Master's Level) | Anton Bekkerman | Most graduate-level statistics and econometrics programs require a more advanced knowledge of analytical and programming skills than the skills taught in undergraduate courses. However, many students enter graduate programs without these skills. This creates challenges for both students and instructors, as each seeks to balance teaching (learning) both theoretical concepts and the skills to apply those concepts empirically. One approach to improve the development of those skills in incoming graduate students is by holding a rigorous, targeted SAS mini-course prior to the beginning of a teaching semester. The mini-course enables instructors to focus only on helping students develop SAS skills, thus improving the efficiency and effectiveness of the learning process. Moreover, the course provides an opportunity to teach more advanced concepts, including the use of the interactive matrix language (IML) and the macro language. |
data governance, macro facility, proc iml | source | 5 |
| 86 | SAS 9.3 BI Case Study: Performance Scalability and Tuning on Servers with Intel Xeon Processor E7 Family | Yingping Zhang | As dataset sizes and analytic complexity and integration grow exponentially in the business analytics field, hardware solutions - multi-core servers, solid state disks, increased memory capacity - evolve to face the challenge In this paper, we present a case study on performance scalability and tuning techniques for SAS 9.3 analytics applications to address questions SAS BI customers face, namely: Will performance scale if processors / cores are added to servers in an environment with increased dataset sizes and more applications? What factors inhibit performance, and what can be done about it? Our results and analysis - obtained working with IBM x3850* 4- and 8-socket platforms with Intel Xeon E7 family processors - provide first-hand tangible insights for SAS customers as well as others running similar analytics workloads. | performance tuning, business intelligence | source | 10 |
| 87 | SAS Enterprise Guide Best of Both Worlds - Is it Right for You? | Sunil Kumar Gupta | Whether you are new to SAS or a seasoned SAS Programmer, you still face the same dilemma. Does SAS Enterprise Guide represent the best of both worlds to make the transition to SAS easier with a point -n-click interface or enhance your productivity with over 90 tasks? Do you follow the same traditional path taken by millions who learned SAS many decades ago or do you take the yellow brick road to directly analyze your data? This presentation explores the vast differences between these two cultures and how they impact your programming environment. While there are numerous benefits to using SAS Enterprise Guide, there are also some caveat s to keep in mind to make the transition smoother. | sas enterprise guide, sas programmer, dataset, numeric variable, proc step, proc report, sas log | source | 9 |
| 88 | SAS Enterprise Guide: It's More Than a Gift from Outer Space | Patricia S. Aanderud | SAS Enterprise Guide seem alien to you? Let's walk through the many SAS Enterprise Guide features using some UFO sightings data. During the presentation, you will walk through some basics, learn how to change the advanced options, and also explore some newer features of SAS Enterprise Guide. | sas enterprise guide, proc sql, excel | source | 9 |
| 89 | SAS Enterprise Guide: Point, Click and Run is all that takes ... | Aruna Buddana | The Audience Research and Measurement team at TiVo constantly collects and processes anonymous data from our TiVo DVRs to understand the TV viewing habits of a typical DVR user. This second-by-second viewership data is combined with program and commercial occurrence data and our ratings product, Stop||Watch offers program ratings, spot ratings and fast-forward rates down to the spot level. A variant of Stop||Watch, called Power||Watch, offers the same metrics based on a longitudinal sample of 45,000 opt-in households and provides with an ability to analyze viewership patterns based on household demographics or any self-reported data. Any demographic or attitudinal information available for this opt-in panel is derived from survey responses and no personally identifiable information is used. This panel offers the ability to segment viewing data at the household level, and offers program ratings, spot ratings, reach and frequency based on household demographic data. | sas enterprise guide, macro variable, anova, sample, proc sql | source | 10 |
| 90 | SAS In-Database Procedures on eBay's Teradata System Reduces Processing Time by a Factor of 4 | Arun Akkinapalli, Mithun Yarlagadda, Gurudev Karanth, John Prenner |
In-database processing refers to the integration of data analytics into data warehousing functionality. Many statistical computing solutions and large databases use this technology because it pro vides significant performance improvements over traditional methods. Working efficiently with HUGE datasets consisting of millions of rows and hundreds of columns summing up to gigabytes of storage, is a challenge that many user s and organiz ations face today. In addition to processing large amounts of data , additional constraints include end-to-end processing time, implications of transfer of processing to the database, storage space, system resources, data transfer etc. Utilizing SAS in -database processing on the Teradata Enterprise Data Warehouse platform for the production of experimentation results has reduced end-to-end processing time by a factor of 4 at eBay Inc. | in-database processing, dataset, cpu time, proc sql, data mining, sas base, parallel processing, teradata access, data governance, macro variable, proc step, regression analysis | source | 11 |
| 91 | SAS on a Shingle, Flippin with Hash | Ethan Miller, Kirk Paul Lafler |
Tired of getting data sets with multiple records per ID when you need a flat file for analysis? Tired of struggling with one-too- many merges? With just a small investment of time you too can easily create a flat file with one record per ID. Through the use of PROC SORT, PROC TRANSPOSE, SAS MACRO, Hash, and the DATA STEP, this paper examines how to create a flat file with customized variable names and labels for multiple time intervals. Through the use of SAS Hash and MACRO, the code shown in this paper creates a flat file in record time, and your friends will be amazed at how easy it is. This paper was written for those with beginner-to-intermediate skills; the code was written using SAS 9.2/9.3 on a Windows operating system. |
hash table, proc transpose, flat file, proc step, conditional do loop, elapsed time, class variable, lookup | source | 10 |
| 92 | SAS Programming Basics: Getting Your Data In and Understanding the Data Step | Helen D. Carey | SAS data sets are used in the SAS analysis and reporting procedures. There are various ways to get your data into a SAS data set. In this presentation, we will concentrate on the DATA STEP and the Import/Export Wizard. The DATA STEP is one of the building blocks of SAS programming. Understanding the basic structure and components of the DATA STEP is fundamental in learning to create your own SAS data sets. You will learn how the DATA STEP works, which includes understanding the input buffer and program data vector, the structure of the SAS data set and what happens at compile time and execution time. By understanding DATA STEP processing, you can debug your programs and interpret your results with confidence. |
dataset, proc step, pdv, automatic variable, excel, numeric variable, output, sas enterprise guide, data step, input statement, length statement, proc import, proc report, proc sql, dictionary tables, raw data, retain, sysdate9, sample, date variable | source | 13 |
| 93 | SAS Programming Basics: Producing Results from Your Data | Helen D. Carey | This session explores how to choose the most appropriate tool for turning your data into results and tailoring the output to the needs of your intended audience. SAS procedures are designed for easy reporting and analysis of SAS data. This session will look at some of the basic reporting procedures, such as PRINT, MEANS, UNIVARIATE and FREQ. The procedures SQL, REPORT and TABULATE will be used to produce summary reports. PROC FORMAT will be used with the reporting procedures to customize the appearance of data values and to group observations and values. Using the Output Delivery System (ODS) to change the destination and look of your reports, along with ODS Graphics to produce graphs will be explored. |
proc step, sas enterprise guide, proc sql, proc freq, missing value, proc univariate, output delivery system, numeric variable, proc report, excel, dataset, proc means, proc format, proc tabulate, character variable, proc print, sas base, sample, histogram, by group processing, proc sort | source | 16 |
| 94 | SAS Rule-Based Codebook Generation for Exploratory Data Analysis | Ross Bettinger | A codebook is a summary of a collection of data that reports significant features of the assem- bled data. It can be used to provide insights into the data collection. Survey data are often assem- bled into codebooks for rapid understanding of the questions asked, and typically are limited to variable name, variable label, categorical variable values and their frequency counts, and simple descriptive statistics for continuous variables. Ideally, a codebook provides more value to a statistician or data miner when it presents variables in a format suitable for exploratory data analysis. The %CODEBOOK macro described in this pa- per uses the Enterprise Miner heuristic rules for producing metadata, and classifies variables according to the Enterprise Miner rules into nominal, ordinal, or interval measurement scales1. It creates presentations of the variables appropriate to their measurement scale and may be used as an exploratory data analysis (EDA) tool for a first look at a set of data. | proc freq, data mining, interval variable, sample, exploratory data analysis, ordinal variable, data science, nominal variable, histogram, character variable, proc means, missing value | source | 8 |
| 95 | Scalability of Table Lookup Techniques | Richard D. Langston | This paper will examine the issues of memory and disk space consumption and performance considerations for various table lookup techniques using large amounts of data. These techniques include PROC FORMAT in association with the PUT function, the DATA STEP hash object, DATA STEP merging, the KEY= option of the SET statement, and PROC SQL. This paper will show performance comparisons of the different techniques as the amount of data increases, and will offer advice on decisions on which techniques to use in various circumstances. |
hash table, proc sql, proc step, lookup, proc format, dataset, options statement, memory usage, data merging | source | 5 |
| 96 | Sensitivity analysis of nonlinear mixed-effects models for longitudinal data that areincomplete | Shelley A. Blozis | Appropriate applications of methods for missing data are essential to behavioral research. A central problem lies in the particular analytic method needed for data analysis and the source of the missing data. Specifically, the problem concerns whether or not a response is missing (known as missingness) is ignorable or nonignorable under the plan for analysis. Ignorable missingness means that parameter estimates are unbiased with regard to missing data; under nonignorable missingness, estimates may be biased unless the missingness is addressed. The major types of data are briefly reviewed: Missing completely at random, missing at random, and missing not at random. Analytic methods appropriate under these different types of data are reviewed with special attention given to methods for data that are not missing at random. Methods are illustrated by an application to longitudinal measures for a sample of individuals diagnosed with multiple sclerosis. | missing value, proc step, longitudinal data, missing at random, sensitivity analysis, sample, estimate, inferential statistics, maximum likelihood estimation, likelihood function, proc mixed | source | 6 |
| 97 | Services R Us | Kathryn A. Council | At your service. How do you make the most of the products and services from SAS Publishing, SAS Education, SAS Technical Support, and support.sas.com? You have world-class support from SAS at your fingertips. But where do you start? How do you navigate the sea of information available to you from SAS? How do you find the resources you need to do your job? This paper will provide you with practical tips, tricks, and techniques to find exactly what you need to use SAS. You'll save time, learn about upcoming content and, best of all, become a more proficient and expert user of SAS. This paper will benefit the new user and the seasoned SAS user alike. The intended audience is anyone interested in learning more about how to effectively use the services available from SAS. | source | 6 | |
| 98 | Set Yourself Free - Use ODS Report Writing Technology in SAS EG Instead of Dynamic Data Exchange in PC SAS | Robert Springborn | The ability to prepare complex reports and convey your message in a clear and concise manner is an absolute imperative in today's sophisticated business environment. Clearly designed reports can enhance your organization's credibility and reputation. The traditional use of Dynamic Data Exchange (DDE) to produce custom designed reports is the result of widespread and popular use of Microsoft EXCEL. However with most business organizations transitioning to SAS Enterprise Business Intelligence (EBI), where DDE is not compatible, ODS Report Writing technology is a powerful alternative to create custom designed reports in Adobe as a secured "pdf" file. |
excel, clinical data, dataset, sas enterprise guide, business intelligence, sample | source | 12 |
| 99 | Simplifying Effective Data Transformation Via PROC TRANSPOSE | Arthur X. Li | You can store data with repeated measures for each subject, either with repeated measures in columns (one observation per subject) or with repeated measures in rows (multiple observations per subject). Transforming data between formats is a common task because different statistical procedures require different data shapes. Experienced programmers often use ARRAY processing to reshape the data, which can be challenging for novice SAS users. To avoid using complex programming techniques, you can also use the TRANSPOSE procedure to accomplish similar types of tasks. In this talk, PROC TRANSPOSE, along with its many options, will be presented through various simple and easy-to-follow examples. |
proc transpose, proc step, by group processing, repeated measures | source | 12 |
| 100 | Survival Analysis with PHREG: Using MI and MIANALYZE to Accommodate Missing Data | Arthur L. Carpenter, Christopher F. Ake |
Survival analyses based on a data collection process which the researcher has little control over are often plagued by problems of missing data. Deleting cases with any missing data will result in information loss and usually results in bias, while many analytic procedures that retain this information in some form underestimate the resulting uncertainty in parameter estimates and other output. SAS Version 8 includes two new procedures that allow the researcher to generate "complete" data sets from incomplete data by multiple imputation and to analyze the resulting data in ways which adequately account for the uncertainty involved. | imputation, missing value, proc step, multiple imputation, estimate, proc mi, macro variable, binary variable, nominal variable, dataset, correlation, proc mianalyze, macro definition, proc phreg, %if-%then-%else | source | 7 |
| 101 | The Armchair Quarterback: Writing SAS Code for the Perfect Pivot (Table, That Is) | Peter W. Eberhardt | "Can I have that in EXCEL?" This is a request that makes many of us shudder. Now your boss has discovered EXCEL pivot tables. Unfortunately, he has not discovered how to make them. So you get to extract the data, massage the data, put the data into EXCEL, and then spend hours rebuilding pivot tables every time the corporate data are refreshed. In this workshop, you learn to be the armchair quarterback and build pivot tables without leaving the comfort of your SAS environment. In this workshop, you learn the basics of EXCEL pivot tables and, through a series of exercises, you learn how to augment basic pivot tables first in EXCEL, and then using SAS. No prior knowledge of EXCEL pivot tables is required. |
excel, proc step, proc tabulate, dataset, macro variable | source | 36 |
| 102 | The Evolution of SAS Programs Used to Analyze Judicial Salaries | Humberto Cisneros, Carrin Huff |
This paper discusses how SAS programs used to calculate Arizona judicial productivity credits have evolved into analysis tools. A SAS program developed over 15 years ago to produce Justice of the Peace productivity credits has been modified over time to increase the efficiency of generating the necessary data and the format of the results. Justices of the Peace in Arizona are judges in courts of limited jurisdiction. The case types these judges adjudicate vary widely, from felonies to civil traffic violations, such as speeding. Based on Arizona law, justices of the peace are compensated using a complicated mathematical formula, along with pay categories based on a percentage of a superior court judge's salary. The formula, based on the number of cases fil ed in each justice court, is then translated into what is called "judicial productivity credits". The Supreme Court uses SAS to run calculations on a biannual basis to determine the judicial productivity credits for each court. | calendar year, sample, macro variable | source | 12 |
| 103 | The influence of small sample sizes on empirical Bayes' predictors inlongitudinal data sets | Jennifer Wang | When using mixed models on small sample sizes, one often wants to estimate the random effects but is unsure of how reliable they are. This paper uses an example data set from avian ecology to explore the effect of varying sample sizes. Starting with a longitudinal data set of 20 nests with at least 6 days of data, the SURVEYSELECT Procedure is used to draw random samples of n = 5, 10, and 15 nests without replacement (METHOD=SRS), to obtain approximately 1000 replicates of each nest. Linear mixed effects models are performed on all samples using the MIXED Procedure with the dependent variable of arcsine-transformed proportion of time incubated, the independent variable of day, and a random effect for nest. The ESTIMATE statement is used to generate empirical Bayes' predictions (eBLUPs) of nest means and 90% lower confidence bounds. |
bootstrap, proc step, confidence interval, proc mixed, proc sql | source | 6 |
| 104 | The Lost Sibling of the Semi-colon | William Coar | Program in SAS long enough and you undoubtedly have experienced the frustrations associated with a missing semi-colon. We've all done it, and we all recognize the vital importance of such a symbol. What you may not realize is the utility of its half-sister (or brother), the colon. Perhaps it doesn't actually rival the semi -colon in functionality, but the colon has simplified numerous day-to-day applications in our programming environment. A specific application will be presented where the colon is used in a process t hat defines titles and footnotes from an external file in the generation of tables, listings, and graphs. Structured meta -data coupled with PROC TRANSPOSE using the colon simplifies this process, especially when the numbers of titles or footnotes are dynamic across projects. It is true that even seasoned programmers continue to learn new tricks, even those associated with the simplest tasks. |
footnote statement, macro variable, excel, proc step, adverse events | source | 4 |
| 105 | The Power of "The FILENAME" Statement | Megha Agarwal | The FILENAME statement has been around a long time. It has been traditionally used to reference an external file on disk. However, there are many "not so well-known" functionalities, for which the FILENAME statement is a boon. This paper discusses, with the help of relevant examples, some of the those unusual features like - how a FILENAME statement can be used to reference temporary and dummy files, access clipboards, read the output of external commands, access catalogs, clear file references, send e-mails, access external URLs, and perform file transfers through FTP. The intended audience is all levels of SAS users. |
filename statement, catalog, catalog entry, excel | source | 6 |
| 106 | The SAS Data Step: Where Your Input Matters | Peter W. Eberhardt, Lucheng Shao |
Before the warehouse is stocked, before the stats are computed and the reports run, before all the fun things we do with SAS can be done, the data need to be read into SAS. A simple statement, INPUT, and its close cousins FILENAME and INFILE, do a lot. This paper will show you how to define your input file and how to read through it, whether you have a simple flat file or a more complex formatted file. |
input statement, infile statement, raw data, sample, date variable, character variable, data step, sas log, cpu time, delimited file, dataset, length statement | source | 18 |
| 107 | The SAS Hash Object: It's Time To .find() Your Way Around | Peter W. Eberhardt | "This is the way I have always done it and it works fine for me." Have you heard yourself or others say this when someone suggests a new technique to help solve a problem? Most of us have a set of tricks and techniques from which we draw when starting a new project. Over time we might overlook newer techniques because our old toolkit works just fine. Sometimes we actively avoid new techniques because our initial foray leaves us daunted by the steep learning curve to mastery. For me, the PRX functions and the SAS hash object fell into this category. In this workshop, we address possible objections to learning to use the SAS hash object. We start with the fundamentals of the setting up the hash object and work through a variety of practical examples to help you master this powerful technique. | hash table, dataset, lookup, proc sql, hash iterator, out=, sysrc, sas programmer, sample, data merging, proc step | source | 17 |
| 108 | The Steps to Follow in a Multiple Regression Analysis | Theresa H. Ngo | A multiple regression analysis is the most powerful tool that is widely used, but also is one of the most abused statistical techniques (Mendenhall and Sincich 339). There are assumptions that need to be satisfied, statistical tests to determine the goodness fit of the data and accuracy of the model, potential problems that may occur in the model, and difficulties of interpreting the results. The first challenge is in the application of the techniques - how well analysts can apply the techniques to formulate appropriate statistical models that are useful to solve real problems. The second challenge is how to use a suitable statistical software package - such as SAS - to deploy the correct procedures and produce the necessary output for assessing and validating the postulated model. | predictor variable, regression analysis, response variable, multiple regression, sample, influential observation, correlation, binary variable, estimate, outlier, model validation, standard deviation, f-test, sample size, stepwise selection, confidence interval, data cleaning, cook's distance, proc reg, proc glm | source | 12 |
| 109 | Up To Speed With Categorical Data Analysis | Maura E. Stokes | Categorical data analysis remains a substantial tool in the practice of statistics, and its techniques continue to evolve with time. This paper reviews some of the basic tenets of categorical data analysis today and describes the newer techniques that have become common practice. The use of exact methods has expanded, including additional assess- ments of statistical hypotheses, conditional logistic regression, and Poisson regression. Bayesian methods are now available for logistic regression and Poisson regression, and graphics are a regular component of many analyses. This paper describes recent techniques and illustrates them with examples that use SAS/STAT software. |
confidence interval, regression analysis, logistic regression, logistic distribution, sample, proc genmod, poisson regression, likelihood function, predictor variable, binomial distribution, poisson distribution, proc step, bayesian statistics, conditional logistic regression, maximum likelihood estimation, null hypothesis, proc freq, estimate, sample size, clinical trial, exact test, proc logistic, covariance, posterior probability, randomization | source | 25 |
| 110 | Update, Insert, and Carry-Forward Operations in Database Tables Using SAS Enterprise Guide | Thomas E. Billings, Sreenivas Mullagiri |
The situation: you want to use SAS Enterprise Guide to simulate - for analysis - database logic that includes some or all of: update, insert, or carry-forward operations on old, changed, or new rows between two similar data sets, to create a new master data set. However, you note that the Query Builder Task GUI in SAS Enterprise Guide does not have an Update/Insert option. Methods to accomplish simple types of update, insert, and/or carry-forward operations in SAS Enterprise Guide are described and illustrated here using small data sets. First, we briefly review relevant Base SAS programming methods, including DATA STEP and PROC SQL code. Then, two SAS Enterprise Guide GUI- only/Task-based methods are described and discussed: one based on the Sort Data Task GUI (i.e., PROC SORT NODUPKEY); the other based on the Query Builder Task GUI (PROC SQL). The important issue of whether integrity constraints are preserved is discussed. |
sas enterprise guide, constraint, work library, proc step, proc sql, sas programming, sas base | source | 11 |
| 111 | Updating Reporting Data Sets for Recent Changes | Rebecca Ottesen, Julie A. Kilburn |
The National Comprehensive Cancer Network (NCCN) Outcomes database is used to generate daily, monthly and quarterly reports for its users. This involves complex manipulation from established algorithms to transform the raw data into clinically meaningful derived data and treatment measures based on the NCCN guidelines. In order to run this automation in an efficient manner we investigated the time savings in generating updated derived data on only patients whose data was changed in the last 24 hours. The result was appended to the existing derived data for those other patients who did not have a recent data change. From this final data set we ran our routine reporting and saved a bundle of processing time. This paper will discuss the use of stored audit information based on created by and modified by dates to update a select subset of a reporting data set. | dataset, cpu time, macro definition, proc sql | source | 6 |
| 112 | Using ODS PDF, Style Templates, Inline Styles, and PROC REPORT with SAS Macro Programs | Patrick Thornton | A production system of SAS macro programs is described that modularize the generation of syntax to produce client- quality reports of descriptive and inferential results in a PDF document. The reusable system of macros include programs that save all current titles, footnotes, option settings, establish standard titles, footnotes and option settings, and initially create the PDF document. Macro programs may be called to generate PROC REPORT syntax to produce various tables of descriptive and inferential results with customized bookmarks, table numbers and footnotes. A custom style template is use to determine the look of the whole document, and a macro program of inline style definitions is used to define the defaults for each type of table. A version of the style macro program may be customized to accommodate the needs of each project, and inline style parameters maybe modified for any given macro call. |
proc report, ods pdf, proc step, macro variable, macro definition, macro loop, macro conditional, options statement, stored macro, proc freq | source | 21 |
| 113 | Using SAS to calculate incidence and prevalence rates in a dynamic population | Li-Hao Chu, Fagen Xie |
A typical epidemiological study on chronic diseases often starts with the measurement of incidence rate (IR) and prevalence rate (PR). As the use of electronic medical records and administrative databases become popular in health care management, the need to translate data into valuable clinical knowledge to better monitor the spread of diseases and to ensure patient safety becomes very important. This report summarizes the definition and the key elements needed for measuring IR and PR in a managed care setting. Besides crude rates, as a result of the variation in member characteristics in different managed care organizations, adjusted rate and adjusted rate ratio are often required to allow comparisons across different populations. A demonstration on how to derive adjusted rate and adjusted rate ratio using the ESTIMATE and LSMEANS statements is provided in this paper. | proc sql, create table, negative binomial regression, poisson distribution, proc step, macro definition, poisson regression, binomial distribution, regression analysis | source | 8 |
| 114 | Using the New Features in PROC FORMAT | Richard D. Langston | This paper describes several examples using functions as labels within PROC FORMAT definitions. Also described is the new feature allowing for Perl regular expressions for informatting data, as well as other new features in PROC FORMAT for SAS 9.3. |
proc format, proc step, date variable, proc fcmp, sysdate9 | source | 7 |
| 115 | Visualizing Data Techniques, Including Autocharting and Big Data | Justin Choy | Visualizing data of varying sizes can be challenging. This paper discusses the issues concerning visualizing data and provides suggestions on how to address these issues. The paper assists users who don't know which visualization to use for their data | big data, scatter plot, outlier, bar chart, box plot, correlation, proc freq | source | 12 |
| 116 | Weighting Adjustment Methods for Nonresponse in Surveys | Taylor Lewis | Unit nonresponse, which occurs when sampled entities fail to respond to a survey request, is a common problem faced by applied survey researchers. One class of techniques to mitigate potential biases in estimates based only on the respondents is to reweight the responding cases to better reflect the target population. This paper discusses several of these techniques, including adjustment cell reweighting, propensity score reweighting, poststratification, and raking. After a brief exposition of the underlying theory, the focus will be on demonstrating the SAS syntax necessary to implement these methods in practice. | sample, proc step, proc freq, response variable, control total, proc calis, logistic regression, proc rank, binary variable, logistic distribution, regression analysis, random sampling | source | 15 |
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