WUSS 2009 Papers - Index
118 papers. Source: WUSS (Western Users of SAS Software) conference proceedings.
| # | Title× | Authors× | Abstract× | Keywords× | Extras | Pages |
|---|---|---|---|---|---|---|
| 1 | 'Table 1' in Scientific Manuscripts; Using PROC REPORT | Carter Sevick | The ability to combine the power and flexibility of PROC REPORT and the Output Delivery System (ODS) has revolutionized summary reporting and table creation. However, the majority of resources available approach the subject predominantly from a business perspective. Researchers in public health tend to emphasize categorical data over continuous and have a different aesthetic when it comes to overall look and design creating the need for a subtly different skill set and approach. This paper will take the reader through the process of creating a summary table from raw data and presenting the results in RTF format. Summarized data will include a binary exposure stratified by demographic information, and in addition to frequencies, univariate analyses will also be presented. It should be emphasized that this paper is not a discussion of a study, but rather a discussion of data presentation. It will be assumed that the reader has beginning or intermediate experience with SAS. |
proc report, proc step, chi-square test, output delivery system, ods rtf, proc print | source | 19 |
| 2 | A Beginner's Example of PROC MIXED for the Analysis of Letter Identification Using Reaction Time | Sarah R. Greene | This paper describes for a novice SAS programmer the use of PROC MIXED to analyze data from a study of human reaction time that utilized a 3 x 3 within-subjects factorial design. The paper includes sections on the preparation of data for use with PROC MIXED, including importing data from Microsoft EXCEL , creating variables and formats, and restructuring data using PROC TRANSPOSE. Later sections include the use of PROC MIXED and the brief interpretation of the results. |
proc mixed, proc step, excel, repeated measures, libname statement, xls, proc transpose, response variable, random intercept, proc freq, anova, main effect | source | 4 |
| 3 | A Biometric Analysis of Twin Data Using PROC MIXED | Mo Zheng | This paper showed how biometric analyses of twin family data can be easily programmed using SAS PROC MIXED. Previous research has suggested that the mixed(effects modeling approach mighyt be used to estimate biometric parameters in family and twin data. The current study explored this approach by analyzing the twin models with biometric components based on standard maximum likelihood estimation and standard indices of goodness(of(fit. The practical utility of this approach was examined through the application of these techniques to a simulated twin data set. Results showed that twin pair data can be easily accounted for by the mixed(effects approach and the genetic and non(genetic basis of a phenotypic score can be conveniently estimated by PROC MIXED. |
proc mixed, proc step, correlation, covariance, likelihood function, latent variable, sample, standard deviation, maximum likelihood estimation, regression analysis | source | 8 |
| 4 | A Little Stats Won't Hurt You | Nathaniel Derby | This paper gives an introduction to some basic but critically important concepts of statistics and data analysis for the SAS programmer who pulls or manipulates data, but who might not understand what goes into a proper data analysis. We first introduce some basic ideas of descriptive statistics for one-variable data, and then expand those ideas into many variables. We then introduce the idea of statistical significance, and then conclude with how all these ideas can be used to answer questions about the data. Examples and SAS code are provided. KEYWORDS: Descriptive statistics, Statistical significance, SAS. All SAS code used in this paper is downloadable fromhttp://nderby.org/docs/RUG09-IntroStats.sas. | proc step, sample, histogram, proc univariate, outlier, box plot, bubble plot, data science, proc calis, proc freq | source | 18 |
| 5 | Advanced PROC REPORT: Getting Your Tables Connected Using Links I | Arthur L. Carpenter | You have successfully created a SAS program that processes data and generates reports for a series items in the data. The program itself works fine, but the problem is that each time the program is executed, it must be manually modified specifically for that run. Perhaps the analysis variable changes or perhaps the name of the report's PDF file must reflect the name of the incoming data set. Making manual changes once in awhile is bothersome, but not onerous. But if find yourself making a great many of these manual changes, the process becomes both tedious and error prone. Through the use of the macro language, SAS has the power make the necessary changes on the fly, automatically, without manual intervention. Learning how to convert a program from one that needs manual modifications to one that adjusts and runs automatically is not difficult. Not difficult that is, if you know the steps. | macro variable, macro loop, proc step, proc sql, do loop, variable list, proc report, macro facility, macro definition, macro put, symbol table | source | 11 |
| 6 | Advanced PROC REPORT: Getting Your Tables Connected Using Links II | Arthur L. Carpenter | Gone are the days of strictly paper reports. Increasingly we are being asked to render our tables and reports using a variety of electronic file types that can be browsed and read using our computers. Besides the cost savings associated with the purchase of paper, paperless reports also minimize the costs associated with the printing and distribution of the reports. Another, often overlooked and potentially more important, side benefit of the paperless report is the increased availability of linked graphs, reports and tables. Navigation of the paper report is dependent on the table of contents, a strong index, and visual aids such as captions and footnotes; however in paperless reports we can easily jump from one table to its supporting and dependent tables with the click of a mouse. Easily, that is, if we have created the necessary links. | proc report, proc step, output delivery system, macro variable, macro loop, do loop, macro facility, footnote statement, ods pdf, macro definition, proc sql | source | 21 |
| 7 | Age is Just a Number: Accurately Calculating Integer and Continuous Age | Chris Colby, Sara R. Adams |
Are you still dividing by 365.25 to calculate age? Computing integer age and continuous age are common programming tasks- yet they are often done imprecisely. By utilizing the SAS date function INTCK, it is possible to calculate integer age in one line of code so that age increments exactly on a person's birthday. Continuous age on an event date is calculated as the integer age plus the proportion of the year that has elapsed since the prior birthday. This paper will present code that precisely calculates both integer and continuous age. | mdy, sysdate9, date variable | source | 8 |
| 8 | An Automated Tool for Data Change Implementation | Nilesh Bajania, Alexander Pakalniskis, Peixin Wang, Alein T. Chun |
Created by the Data Quality Management Unit (DQMU) of the Cedars-Sinai Medical Center (CSMC) Resource and Outcomes Management (ROM) Department, the Data Change Management System (DCMS) is an automated tool supporting the controlled introduction of data change in Structured Query Language (SQL) environments. By flagging all programs and owners affected by any given data change, the tool helps ensure ongoing report quality, reduces the time and effort required for change implementation, and provides transparency for project management. The tool may be used in any programming environment utilizing embedded SQL queries, including SAS, and is especially valuable in complex database migrations. | proc sql, dataset, data cleaning, group by | source | 6 |
| 9 | An Example of Using Different Methods to Create Excel Outputs from SAS | Joyce C. Niland, Julie A. Kilburn, Rizvan Mamet, Anna ter Veer, Ann Vanderplas, Rebecca Ottesen |
DDE, ODS HTML, ODS XML with TAGSETS…Which is best? The answer depends entirely on the customer's desired output. This paper will review, by example, the use of DDE to create various EXCEL reports. It will then explain in detail a more effective way to move data from SAS to EXCEL for our particular need. In this case, the customers were clinical research associates (CRAs) at 39 institutions collecting data for the National Comprehensive Cancer Network (NCCN) Outcomes Database. The desired output was a detailed report summarizing the number and proportion of patients with missing or unknown categories for each data element in the NCCN database, and institution-specific patient listings for the CRA to review for quality assurance purposes. The pros and cons of each approach and the rationale for our selected approach in this challenging multi-center environment will be described. |
excel, ods html, sample, dataset, ods excel, health insurance, proc step, proc print | source | 9 |
| 10 | An Introduction to SAS Character Functions | Ronald P. Cody | character variable, substr function, compress function, length statement, character functions, input statement, verify | source | 17 | |
| 11 | Application of Segmented Regression Analysis to the Kaiser Permanente Colorado Critical Drug Interaction Program | Nikki M. Carroll | Failure to detect significant drug interactions may result in adverse outcomes. While proper screening and management of drug interactions can prevent the majority of adverse events, studies indicate that current practice is suboptimal. In the last quarter of 2001, physicians and pharmacists in Kaiser Permanente Colorado (KPCO) developed an electronic critical drug interaction alert program. Electronic screening was coupled with active intervention to prevent dispensing of critically interacting drug combinations. Rates of critical drug interactions were collected 20 months pre-intervention and 37 months post-intervention. Success of the intervention was based on the changes in the rates of critical drug interactions and statistically evaluated by segmented regression analysis (a powerful statistical method for estimating intervention effects in interrupted time series). This paper shows the application of segmented regression analysis to the critical drug interaction program. | regression analysis, time series analysis, interrupted time series, correlation, proc autoreg, residual, proc step, unit root | source | 8 |
| 12 | Automating the Process of Scoring a Generalized Linear Model Fitted using PROC GENMOD | Prakash Gurumurthy | Scoring an analytic dataset is an important step in the validation of a predictive model. The modeling process is typically performed on a training dataset and then later scored on a test or a holdout dataset which was not part of the modeling process. Man y SAS procedures, such as PROC LOGISTIC and PROC GAM have a built -in score option to use the fitted model information and perform scoring on an input dataset. But in the case of PROC GENMOD, that option is unavailable. In this paper, a user friendly macro is introduced that uses the parameter estimates datasets produced from PROC GENMOD to write out the model scoring formula and also create SAS formats that hold the estimates values as format labels for every category in a categorical variables. This method ology can accommodate for the inclusion of both continuous and categorical variables in the model. This macro also accommodates the scoring of interaction effects by producing a combined format of the interacting variables. |
proc step, proc genmod, nominal variable, interaction effect, proc format, interval variable, proc score, predictor variable, estimate, logistic distribution, data cleaning, macro definition | source | 9 |
| 13 | Avoiding Mouse Elbow | Malachy J. Foley | Computer programming or coding may lite rally be dangerous to your health . Mouse Elbow, which is akin to Tennis Elbow, is just one adverse health condition that is associated with computer use. Other maladies associated with computers include Carpal Tunnel Syndrome (from ke yboard and the mouse), shoulder and neck pain, and Sciatica. This paper describes computer-related health risks w ith special emphases on musculo skeletal disorder (MSD) and Mouse elbow. The information in this paper will hopefu lly help you avoid computer-related injury, or detect and cure it at an early stage. | source | 7 | |
| 14 | Base SAS Tips, Tricks and Techniques | Kirk Paul Lafler | Are you considering whether to use a DATA STEP or P ROC SQL step in your next project? This presentatio n explores the similarities and differences between DATA STEP and PROC SQL programming techniques. Topics include IF- THEN-ELSE, SELECT-WHEN, and PROC SQL CASE expressio ns conditional logic concepts and constructs; and the techniques for constructing effective merges an d joins. Attendees explore examples that contrast D ATA step versus PROC SQL programming techniques to conduct c onditional logic scenarios, one-to-one match-merges and match-joins, and an assortment of inner and outer join programming constructs. |
proc sql, if-then-else, proc step, inner join, character variable, missing value, create table, right join | source | 14 |
| 15 | Beef Up Your Career: Job Survival Steps During This Economic Recession | Raoul A. Bernal | Given the ongoing downturn in the economy and the latest trends in different industries, statistical programmers, like other professionals, are not immune to layoffs and concerns about job security. Companies big and small have either downsized or folded up altogether. Given these recent trends, statistical programmers should pursue certain steps to "recession-proof" their careers to help weather this economic trend, however long this lasts. This presentation will outline practical and often overlooked steps and suggestions, both short-term and long-term, to increase one's chances of staying on the job or landing the next position when a layoff or resignation becomes inevitable. Often the difference between surviving a layoff and having to find another job could be due to a simple opportunity lost by not following some of the practical suggestions. | job security, statistical programmer | source | 4 |
| 16 | Best Practices in IO Configuration for your SAS9 Applications | Margaret A. Crevar | The increased power of SAS 9 applications allows information and knowledge creation from very large amounts of data. Analysis that used to consist of 10s-100s of gigabytes (GBs) of supporting data has rapidly grown into the 10s of terabytes (TBs). This data expansion has resulted in more and larger SAS data stores. Setting up file systems to support these large volumes of data, as well as ensuring adequate storage space for the SAS temporary files can be very challenging. This paper will present some best practices for configuring the IO subsystem for your SAS9 applications, ensuring adequate capacity, bandwidth, and performance to keep your SAS9 users moving. | dataset, error message | source | 11 |
| 17 | Breaking New Ground with SAS 9.2 ODS Layout Enhancements | Daniel O'Connor | Produce stunning brochures, killer Web sites, jaw-dropping dashboards, and breathtaking documents. This innovative enhancement will allow you to realize the full potential of your SAS investment by leveraging the latest enhancements to ODS Layout. Easily mix graphics, images, text, and tables, and arrange them on a page however you want. Take today's challenges and make them tomorrow's accomplishments. |
output delivery system, proc step, file statement, proc report, title statement, options statement | source | 30 |
| 18 | BRIDGing CDASH to SAS: How Harmonizing Clinical Trial and Healthcare Standards May Impact SAS Users | Clinton Brownley | The Clinical Data Interchange Standards Consortium (CDISC), Health Level Seven (HL7), and other stakeholders have come together in the Biomedical Research Integrated Domain Group (BRIDG) project to harmonize existing clinical trial and healthcare standards. This paper will focus on ways in which the ongoing efforts to harmonize clinical trial and healthcare standards change the connections and requirements among the standards and how these changes may impact SAS users in clinical research. | clinical trial, clinical research, crf, clinical trial protocol, data governance, cdisc | source | 6 |
| 19 | Capturing and Presenting PROC TTEST Results Using ODS and PROC REPORT | Patrick Thornton | This paper describes for the intermediate SAS programmer how to consolidate the results of PROC TTEST into a concise and customizable tabular format. The paper describes ODS OUTPUT syntax to create data sets containing PROC TTEST results, basic PROC SQL syntax to join the data sets, and ODS LAYOUT and PROC REPORT syntax to create tables in PDF format. Macro programs are included to facilitate the reuse of the syntax. |
proc step, proc ttest, proc report, create table, output delivery system, proc append, proc sql, ods pdf | source | 7 |
| 20 | CDISC for the Medical Device and Diagnostic Industry: An Update | Carey G. Smoak | In May, 2006 a CDISC SDTM Device sub-team was formed. Since the inception, the team has expanded in terms of scope and representation (FDA, SDS, CDASH and industry). The scope has expanded from creating new domains for device data to also reviewing the sixteen CDASH domains. Possible domains include device properties, accountability and malfunctions. The Device sub-team has expanded its representation and now has more than fifty members. Recruitment of new industry experts was primarily accomplished through an organization called AdvaMed. The Device sub-team is working towards to the goal of having new domains and the sixteen CDASH domains incorporated into CDASH version 1.1 in 2010. | unique key, adverse events, cdisc | source | 3 |
| 21 | CDISC Implementation on a Rheumatoid Arthritis Project Partnership | Patricia L. Gerend, Oliver LeConte, Michelle Zhang, Chris Price |
In late 2007 Genentech of South San Francisco US and Roche of Welwyn UK decided to take a risk and begin a new collaborative rheumatoid arthritis (RA) project using Clinical Data Interchange Standards Consortium (CDISC) structures. With little experience among us at the start, the effort has been both fun and challenging. This presentation will address our intelligence gathering approaches, documentation standards, SDTM modeling conventions and conversion processes, ADaM specifications and structures, plans for electronic submission to the US Food and Drug Administration (FDA), and thoughts on efficiencies gained. | sample, sdtm domain, cdisc | source | 9 |
| 22 | Cleaning Duplicate Observations on a Chessboard of Missing Values | Mayrita Vitvitska | Removing duplicate observations from a data set is not as easy as it might sound if the data set has m issing values. For example, it is difficult to choose which observ ation to keep if the "duplicate" observations have certain values missing in one observation, but present in others ( missing values resembling a chessboard pattern.) Im portant information could be lost or redundant observations could affect your analysis if the user applies suc h well-known methods as NODUPKEY option in PROC SORT or DISTINCT keyword in PROC SQL. This paper presents a macro solution that populates missing values based on use r's judgment and cleans duplicates from the data se t. |
proc step, proc sql, missing value, proc means, numeric variable, character variable, macro definition, group by, proc sort, %if-%then-%else | source | 6 |
| 23 | Computing Hazard Ratios and Confidence Intervals for a Two-Factor Cox Model with Interaction Terms | Marla J. Husnik, Jing Wang |
When interaction terms are included in a Cox Proportional Hazards model, it is very tricky to compute the hazard ratio (HR) and, especially, the confidence intervals. To compute confidence intervals using PROC PHREG, we can get the variance of the interaction terms by using the estimated covariance matrix of the parameter estimator. Using PROC TPHREG, however, dummy codes can be assigned, so that the Contrast statement can be used to obtain the estimates and confidence intervals for the interaction terms. In this paper, we describe the SAS code used for computation of parameter estimates of interaction terms and confidence intervals using PROC PHREG. Also, we describe how the Class and Contrast statements are used to code dummy variables and obtain estimates and confidence intervals using PROC TPHREG. We illustrate these techniques with an application from a Phase III randomized, multi-site HIV prevention trial conducted in the U.S from 2003-2007 (called HPTN039). |
hazard ratio, proc step, confidence interval, proc phreg, interaction effect, binary variable, covariance, estimate, treatment effect | source | 10 |
| 24 | Connect with SAS Professionals Around the World with LinkedIn and sasCommunity.org | Kirk Paul Lafler, Charles E. Shipp |
Accelerate your career and professional development with LinkedIn and sasCommunity.org. Establish and manage a professional network of trusted contacts, colleague s and experts. These exciting social networking and collaborative online communities enable users to connect with mil lions of SAS users worldwide, anytime and anywhere. This paper explores exciting features found in both virtual communities. Topics include creating a pro file and social network content, developing a network of friends an d colleagues, joining special-interest groups, acce ssing a Wiki- based web site where anyone can add or change conte nt on any page on the web site, sharing biographica l information between both communities using a built- in widget, exchanging ideas in Bloggers Corner, vie wing scheduled and unscheduled events, using a built-in search facility to search for desired wiki-content, collaborating on projects and file sharing, reading and responding t o specific forum topics, and much more. | by group processing, sample | source | 11 |
| 25 | Creating Macro Variables Using the %LET Statement or the SYMPUT Routine | Arthur X. Li | Macro variables are the most essential part of the SAS macro facility. One can create macro variables by using either the %LET statement or the SYMPUT routine. For beginning programmers learning macro languages, they are often unsure when best to use the %LET statement or the SYMPUT routine. In order to understand which situation to correctly use the SYMPUT routine, one needs to understand the SAS language and macro language processing, such as how SAS statements are transferred from the input stack to the compiler and what role the macro processor plays during this process. Once one grasps the intricacies of macro language processing, one will best know how to accurately create a macro variable. |
macro variable, call symput, symbol table, macro facility, macro trigger, macro put, &variable, macro definition, put statement, global symbol table, run, sas log, data step | source | 14 |
| 26 | CSSSTYLE: Stylish Output with ODS and SAS 9.2 | Cynthia L. Zender | It has become the standard for most company Web sites to use cascading style sheets (CSS) to standardize Web site look and feel. Now, with ODS and SAS 9.2, you can design a single CSS file to be used with ODS RTF, PDF, and HTML. In the past, CSS usage was limited to files created with ODS HTML. This paper provides an introduction into the use of the new CSSSTYLE option in SAS 9.2. This option allows you to use cascading style sheet (CSS) style specifications for RTF and PDF files, in addition to HTML files. This paper will include a brief introduction to CSS syntax and some of the features, such as @media CSS sections, that are particularly useful when creating ODS output. Then, all the methods of using CSS with ODS are discussed, with an emphasis on the new CSSSTYLE option. In addition to these topics, a job aid will be provided that outlines the most commonly used CSS properties and property values. |
ods html, output delivery system, sas enterprise guide, ods pdf, sas 9 | source | 10 |
| 27 | Custom Outcomes Benchmarking Reports Using Dynamic Data Exchange (DDE), the Only Way to Go | Joyce C. Niland, Rebecca Ottesen, Julie A. Kilburn, Ann Vanderplas, Anna ter Veer, Rizvan Mamet |
Often in prospective health care research studies, it is necessary to provide reports to determine how well a study is progressing. The National Comprehensive Cancer Network (NCCN) Breast Cancer (BCA) Outcomes Database produces highly customized annual benchmarking reports for its twelve NCCN institutions and fifteen community sites. These Microsoft EXCEL reports are designed to present statistics and accompanying graphics in such a way that each of the 27 center specific reports shows aggregate center information as well as center ranges and individual center specific data. Exporting data and statistics from SAS to an EXCEL report can be accomplished many ways. However, when dealing with a highly customized EXCEL reporting structure the optimal way is to use DDE. Some may argue that DDE is obsolete, however in this case we have found the best method to be DDE with additional report formatting techniques using EXCEL version 4 Macro Language (X4ML). |
excel, proc step, macro variable, put statement, sample size, sample, macro definition, sas programming, proc freq | source | 9 |
| 28 | Daring Enterprise Guide Code Changes with a Safety Net | Lorne M. Salter | Version Control is a super undo button and more according to Dave Thomas(1), a vault with every version that anyone who worked on the project has saved with a safe copy and version number assigned to every state of the project and every folder structure change with some systems. This is a rapid live demo of the basics of working with SAS under version control and a popular version control system. Note that this is version control from the programmer's point of view, not from a managers "change management " perspective, though both benefit from a well introduced system. Installation: A volunteer from the room will download and install the software, hopefully in under 10 minutes on a second computer and projector while the demonstration continues. A typical day with EG and version control: how version control can support a programmer doing something daring, such as adding a generic macro to extract test data, use it in tests, then clean itself up to an existing critical project . | sas enterprise guide, macro parameter | source | 8 |
| 29 | Dashboard Reports for Predictive Model Management | Diane Hatcher | Dashboard applications enable users to get big pictures on very complicated sets of data and information quickly. Traditionally, dashboard tools are applied on top of rather descriptive variables. This article, however, describes how SAS BI Dashboard 4.2 and SAS Information Delivery Portal 4.2 are applied to a predictive model repository managed through SAS Model Manager 2.2. Specifically, this article describes a SAS macro that creates model performance SAS data sets and SAS ODS reports based on SAS Model Manager 2.2. Using these SAS data sets and reports, this paper explains the process of creating a BI Dashboard and a WebDAV content portlet of SAS Information Delivery Portal to allow user monitor model performance in a SAS Model Manager repository. Analytical dashboards can help corporate executives quickly gain insight into their critical assets. |
sas model manager, population, champion model, macro definition, training set | source | 11 |
| 30 | DATA Step versus PROC SQL Programming Techniques | Kirk Paul Lafler | The base-SAS System offers users the power of a co mprehensive DATA STEP programming language, an assortment of powerful PROCs, a macro language that extends the capabilities of the SAS System, and us er-friendly interfaces including the SAS Display Manager. This presentation highlights numerous SAS tips, tricks and techniques using a collection of proven code examples related to effectively using the SAS Display Manager and it s many features; process DATA STEP statements to handle su broutines and code libraries; deliver output in a v ariety of formats; construct reusable code; troubleshoot and debug code; and an assortment of other topics. |
proc univariate, proc step, options statement, proc sql, dataset, macro facility, macro variable, macro parameter, %macro parameters, sas log, dictionary tables, ods pdf, ods rtf, sas output, if-then-else, macro definition | source | 15 |
| 31 | Developing Business Failure Prediction Models Using SAS Software | Oki Kim | The credit crisis of 2008 has changed the climate i n the investment and finance industry. The importan ce of developing accurate business failure prediction mod els has become more evident now than at any other t ime in recent history. Using various statistical technique s, business failure prediction models attempt to es timate the bankruptcy probability of a firm using a set of cov ariates. One powerful method is survival analysis. This paper applies two survival analysis techniques in develop ing business failure prediction models using SAS s ystem's PROC LIFETEST and PROC PHREG. Results are presented using data from publicly traded firms covering the first five quarters of the current recession. Through the work presented in this paper, the reader will lear n how to estimate the survivor and hazard functions, to fit the Cox p roportional hazard model, and to draw meaningful st atistical inferences. |
proc step, hazard ratio, likelihood function, proc phreg, hazard function, regression analysis, null hypothesis, backward selection, proportional hazards assumption, confidence interval, survival analysis, stepwise selection, logistic distribution, censoring, rank test, response variable, correlation, proc sql, logistic regression | source | 10 |
| 32 | Discriminant Analysis, a Powerful Classification Technique in Predictive Modeling | George C. J. Fernandez | Discriminant analysis is one of the classical classification techniques used to discriminate a single categorical variable using multiple attributes. Discriminant analysis also assigns observations to one of the pre-defined groups based on the knowledge of the multi-attributes. When the distribution within each group is multivariate normal, a parametric method can be used to develop a discriminant function using a generalized squared distance measure. The classification criterion is derived based on either the individual within-group covariance matrices or the pooled covariance matrix that also takes into account the prior probabilities of the classes. Non-parametric discriminant methods are based on non-parametric group- specific probability densities. Either a kernel or the k-nearest-neighbor method can be used to generate a non-parametric density estimate in each group and to produce a classification criterion. | posterior probability, data cleaning, discriminant analysis, predictor variable, correlation, macro definition, training set, covariance, prior probability, validation set, sample, influential observation, mahalanobis distance, scatter plot, proc cancorr, normal distribution, backward selection, forward selection, qq plot, outlier, by group processing, stepwise selection, significance level, box plot, proc princomp, regression analysis | source | 20 |
| 33 | Don't Be Loopy: Re-Sampling and Simulation the SAS Way | David L. Cassell | The most common way that people do simulations and re-sampling plans in SAS is, in fact, the slow and awkward way. People tend to think in terms of a huge macro loop wrapped around a piece of SAS code, with additional chunks of code to get the outputs of interest and then to weld together the pieces from each iteration. But SAS is designed to work with by-processing, so there is a better way. A faster way. This paper will show a simpler way to perform bootstrapping, jackknifing, cross-validation, and simulations from established populations. It is simpler and more efficient to get SAS to build all the iterations in one long SAS data set, then use by-processing to do all the computations at once. This lets us use SAS features to gather automatically the information from all the iterations, for simpler computations afterward. | sample, bootstrap, proc step, proc surveyselect, random sampling, data cleaning, confidence interval, output, proc sql, permutation test, randomization, ods output, regression analysis, data step, proc univariate, macro variable, monte carlo, sas output, proc append, seed, macro definition, proc reg, outlier, model validation | source | 18 |
| 34 | Effective Graphics Using SAS/GRAPH SG Procedures | Sanjay N. Matange | In SAS 9.2, the SAS/GRAPH Graph Template Language (GTL) goes production. This system is used by many SAS analytical procedures to creat e the automatic graphica l output within the Output Deliv ery System (ODS). Now, you can access this same system to create your own cust om graphs or to customize the graphs created by the SAS analytical procedures. This presentat ion helps you understand the basics of GTL, and how you can leverage its features to customize your graphs. |
bar chart, class variable, scatter plot, histogram, proc step, regression analysis, proc template | source | 13 |
| 35 | Efficient Statistical Programming? - These Small Steps Make the Difference | Keiko I. Powers | In the last several years, I have introduced various tips for statisticians in a series of "Efficient Statistical Programming" papers at SAS conferences. Topics include how to learn variable properties efficiently, some data processing pitfalls as well as recommended SAS features in preparing data for statistical analysis, and how to apply the 'no reinventing-the-wheel' and 'the simpler the better' ideas to SAS statistical programming. Various tips will be reviewed and introduced with step-by-step illustrations. | proc step, proc sort, proc freq, data science, data governance, where statement, character variable, data step, missing value, data wrangling, do loop, proc reg, proc univariate, regression analysis, sample, date variable, if-then-else, sample size, variable, clinical programming, by group processing, proc contents, proc means, proc print, estimate, proc score, transaction data, weighted mean, sas programming, macro variable | source | 16 |
| 36 | Efficiently Handle Lists of Items using the SAS Macro Language - Save Time and Reduce Errors | Jerry Tsai | Processing a data set with many variables often req uires repeating the same editing task over and over , which creates many opportunities for coding errors. But w ith savvy use of the macro language, you can manipu late lists of variables or lists of literals robustly and with le ss error. What's more- by using %QSYSFUNC and the T RANWRD functions in tandem, you can swiftly move from test ing your code on one item of a list to implementing proven code on all the items on the list. This paper shows how to use the macro language to work with lists in SAS and provides specific examples of macro code that will help prog rammers working with lists save time and reduce err ors. | macro variable, macro facility, macro function, proc step, macro quoting function, proc means, macro call, proc print, tranwrd function, macro definition | source | 8 |
| 37 | Errors, Warnings, and Notes (Oh My) A Practical Guide to Debugging SAS Programs | Lora D. Delwiche, Susan J. Slaughter |
Errors? "I never get errors!" Warnings? "I never bother to read them, my program still runs." Notes? "Who needs them?" This paper, is based on the belief that debugging your programs is not only necessary, but also a good way to gain insight into how SAS works. Once you understand why you got an error, a warning, or a note; you'll be better able to avoid problems in the future. In other words, people who are good debuggers are good programmers. We cover common problems including missing semicolons, invalid data, truncated character values, missing-data- was-generated messages, character to numeric conversions, and the tricky problem of a DATA STEP that runs without suspicious messages but nonetheless produces the wrong results. For each problem we decipher the message, list possible causes, and explain how to fix the problem. We also cover some programming strategies for avoiding errors in the first place. |
sas log, missing value, proc print, put statement, proc step, input statement, error message, dataset, character variable, infile statement, numeric variable, firstobs, options statement, excel, sas output | source | 15 |
| 38 | Evaluating the Change in Lung Function Over Time: Practicalities of Using ESTIMATE and CONTRAST Statements | David J. Pasta | In some chronic lung diseases, lung function tends to decline as patients age. For patients with cystic fibrosis, research had shown that having high lung function was a risk factor for a steeper subsequent decline. We used a large observational study of cystic fibrosis to systematically assess decline by age and by severity of disease. Using the patient's birthday to select an arbitrary point in time, we compared the rate of decline before and after that point in time for patients of varying ages and lung function impairment. This led to a complex mixed-effect linear model and a bevy of ESTIMATE and CONTRAST statements to capture all the aspects of the model and test associated hypotheses. This paper provides practical guidance on how to code ESTIMATE and CONTRAST statements, especially when the group sizes are unequal. It includes a discussion of the implications of the OBSMARGIN option on the LSMEANS statement and how to mimic its effect using ESTIMATE statements. | macro variable, proc mixed, proc calis, regression analysis | source | 13 |
| 39 | Exploring DICTIONARY Tables and SASHELP Views | Kirk Paul Lafler | SAS users can quickly and conveniently obtain usef ul information about their SAS session with a numbe r of read- only SAS data views called DICTIONARY tables or SAS HELP views. At any time during a SAS session, infor mation about currently defined system options, libnames, t able names, column names and attributes, formats, i ndexes, and more can be accessed and captured. This paper explo res the purpose of DICTIONARY tables and views, how they are accessed, and what information is available to SAS users. Attendees will learn how these important tables and views can be accessed and applied using real-world scenarios. | dictionary tables, proc sql, proc step, sas library, options statement, select | source | 7 |
| 40 | Exploring Output Delivery System (ODS) Programming Techniques | Kirk Paul Lafler | Explore various SAS output formatting and reporting techniques with this Introduction to Output Delive ry System hands-on workshop. Numerous examples are presented to improve mastery of ODS capabilities while provid ing a better understanding of ODS statements and options to perform common tasks. Topics include ODS Formatt ing statements and options; using the Escape character and formatting output; and various output destinati ons including RTF, PDF, Output SAS data set, EXCEL spreadsheet, and HTML output. |
proc univariate, output delivery system, sas output, dataset, ods html, ods pdf, ods rtf, file statement, proc step | source | 12 |
| 41 | Fast Solution for Identifying and Quantifying Gaps in Messy Time Segments | Lorne M. Salter | Consider this advanced data puzzle, found in some data applications where you want to know if there are gaps in a set of messy time segments associated with a person or entity. Joe Celco, author of SQL for Smarties (1) and SQL Puzzles and Answers (2) poses one example and solution in the "employment gap puzzle". He recommends a subquery which might be little slow for large datasets. The problem comes up in Health Insurance quality measurement as a requirement that the denominator for such measures as screening tests for diabetes contain only beneficiaries who are continuously enrolled for example, for two years. You may be working from messy enrollment segments having start and end dates which may overlap . After developing this solution, I discovered a renowned SQL theorist, David Rozenshtein, cited in The SQL Cookbook (3) had proposed this kind of elegant solution to these kinds of problems. | proc sql, cpu time, create table, proc step | source | 7 |
| 42 | Five Ways to Create Macro Variables: A Short Introduction to the Macro Language | Arthur L. Carpenter | The macro language is both powerful and flexible. With this power, however comes complexity, and this complexity often makes the language more difficult to learn and use. Fortunately one of the key elements of the macro language is its use of macro variables, and these are easy to learn and easy to use. Macro variables can be created using a number of different techniques and statements. However the five most commonly methods are not only the most useful, but also among the easiest to master. Since macro variables are used in so many ways within the macro language, learning how they are created can also serve as an excellent introduction to the language itself. These methods include: %LET statement macro parameters (named and positional) iterative %DO statement using the INTO in PROC SQL * using the CALL SYMPUT routine |
macro variable, macro facility, macro put, macro loop, proc sql, put statement, do loop, macro call, proc step, missing value, macro parameter, macro definition, %macro parameters, call symput, automatic macro variable, symbol table, keyword parameter, select | source | 12 |
| 43 | Getting Correct Results from PROC REG | Nathaniel Derby | PROC REG, SAS's implementation of linear regression, is often used to fit a line without checking the underlying assumptions of the model or understanding the output. As a result, we can sometimes fit a line that is not appropriate for the data and get erroneous results. This paper gives a brief introduction to fitting a line withPROC REG, including assessing model assumptions and output to tell us if our results are valid. We then illustrate how one kind of data (time series data) can sometimes give us misleading results even when these model diagnostics appear to indicate that the results are correct. A simple method is proposed to avoid this. Examples and SAS code are provided. The SAS/GRAPH package is used in this paper but not required to use these methods, although SAS/STAT is required to usePROC REG. KEYWORDS: SAS,PROC REG, assumptions, residuals, time series. All data sets and SAS code used in this paper are downloadable fromhttp://nderby.org/docs/RUG09-PROCREG.zip. |
proc step, anova, proc reg, estimate, predictor variable, response variable, normal distribution, regression analysis | source | 14 |
| 44 | Getting from SAS 9.1.3 to SAS 9.2: Migration or Promotion | Diane Hatcher | If you are running a metadata server in your SAS 9.1.3 environment, you must upgrade your metadata when you move to SAS 9.2. There are two possible approaches to take. The first approach is a migration, which will essentially copy your SAS 9.1.3 environment over to SAS 9.2 as part of your SAS 9.2 installation process. The second approach is to make a fresh start by installing SAS 9.2 first, then promoting specific content from SAS 9.1.3 afterwards. This paper will describe the tools, processes, and considerations for each approach. The goal is to help you make an educated assessment to determine which approach will work best for you. | sas management console, sample, data cleaning, spk file | source | 12 |
| 45 | 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 _NU LL_ 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 | 7 |
| 46 | Group Confidence Limit Plots Using PROC GPLOT and PROC SGPLOT | Robert A. Rutledge | It is often necessary to create a plot of means for each of several sub-populations, for example a trend plot of the mean defect rate for units produced in each month of the year, or the mean defect rate during the same month for each of several vendors. It is important to be able to distinguish significant differences from random variation in these plots, and one very effective way to do this is to add confidence limits to each of the mean values. The calculation of the confidence limits depends on the assumed distribution of the response variables, for example the Normal Distribution, which is appropriate for most continuous variables; the Binomial Distribution, which is appropriate for pass/fail variables; and the Poisson Distribution, which is appropriate for counts-per-unit variables, such as the numbers of defects on a silicon wafer. This paper shows how to create confidence limit plots for each of these distributions, first using PROC GPLOT, and then, with much less effort, using PROC SGPLOT. |
confidence interval, proc step, proc sgplot, proc gplot, binomial distribution, poisson distribution, normal distribution | source | 10 |
| 47 | Guidelines for Reliability, Confirmatory and Exploratory Factor Analysis | Diana D. Suhr, Mary Shay |
Reliability refers to accuracy and precision of a measurement instrument. Confirmatory factor analysis (CFA) is a statistical technique used to verify the factor structure of a measurement instrument. EFA, traditionally, is used to explore the possible underlying factor structure of a measurement instrument. Guidelines for reliability, confirmatory and exploratory factor analysis will be discussed. Examples using the Race and Schooling Instrument (Revised, Shay 2008) and PROC CORR, PROC CALIS and PROC FACTOR illustrate reliability, CFA and EFA statistical techniques. |
factor analysis, correlation, sample, proc step, confirmatory factor analysis, latent variable, factor loading, maximum likelihood estimation, proc corr, proc factor, standard deviation, likelihood function, sample size, normal distribution, proc calis, covariance, r-squared, scree plot | source | 15 |
| 48 | Have It Your Way: Rearrange and Replay Your Output with ODS DOCUMENT | Cynthia L. Zender | Is everything about your SAS output the way you want, except for the final order of the report objects? Do you want your output organized by year or by city, instead of by SAS procedure, without using SAS macro programs? Do you like the order that SAS produces, but you just want to change the folder hierarchy? This paper illustrates how to capture your output and save it in an ODS document store. Then, you can create custom folders and a custom folder hierarchy using ODS DOCUMENT and PROC DOCUMENT to rearrange and replay your output. Along the way, you learn how to add custom titles and notes to your output; delete page breaks; label and rename folders; and use PROC DOCUMENT syntax to automate the creation of reports in the format you want. The ODS DOCUMENT window is demonstrated, along with PROC DOCUMENT. Concrete examples are used to illustrate every major task. The final report includes a Table of Contents that showcases the new report structure. |
proc step, proc tabulate, by group processing, proc univariate, ods pdf, output delivery system, sas output, macro definition, ods html | source | 22 |
| 49 | How a SAS/IntrNet tool was created at the FDA for the detection of potential drug-induced liver injury using data with CDISC standard | Kate Gelperin, Ted J. Guo, John Senior |
The assessment of potential drug-induced liver injury (DILI) has emerged as an ever-challenging task for the drug regulatory agency because of the low incidence of the finding and the burdensome work of searching through data on hundreds or thousands of subjects. A software tool is much needed to assist reviewers of clinical trial data to accomplish the task of finding sometimes rare but serious cases of special interest among the great majority that are not. Once found, the cases need to be evaluated as to the likelihood that the cause was the drug in question, and not one of many possible disease causes. In this paper, the author describes the creation of a visualization tool with drill- down capabilities for detailed study of the rare cases of special interest to implement an innovative method that is well recognized in the medical community for DILI assessment. | clinical trial, dataset, unique key, adverse events, cdisc | source | 17 |
| 50 | How to Maintain Happy SAS 9 Users | Margaret A. Crevar | Today's SAS environment has high numbers of concurrent SAS processes and ever-growing data volumes. It is imperative to proactively manage system resources and performance to keep your SAS community productive and happy. We have found that ensuring your SAS applications have the proper computer resources is the best way to make sure your SAS users remain happy. | sas batch, batch job, proc step, proc sql, dataset | source | 11 |
| 51 | If I Only Had a Map. Getting from Here to There: Common Approaches to Solving Data Step Logic Issues | Kim M. Wilson | How often have you needed to reshape your data so that multiple observations for the same BY group become condensed into a single observation? Have you wondered how to best approach putting two data sets together in order to perform calculations or to compare values between them? Perhaps you're asked to determine if values or dates overlap between observations, which could have a great impact on your company's production or spending. Even with a thorough knowledge of SAS syntax, knowing how to approach such logic issues is the key to efficient programming. Knowing what you have and what you desire to obtain from the data is the first step in tackling this issue. This paper offers tips and techniques to enable you to take a project from start to finish as efficiently as possible. | by group processing, do loop, merge statement, missing value, set statement, retain, sample, hash table, if-then-else, proc freq, proc step, proc sort | source | 17 |
| 52 | Implementation of an Inventory Routing System Using the SAS Suite of Products | Dominique M. Richard, Joel Adler |
The propane distribution industry is characterized by infrequent deliveries; yet it needs reliable forecasts to improve performance by reducing the number of deliveries without increasing the risk of inventory stock- outs. The solution to this problem, developed for one of the national propane distributors, uses BASIC/SAS, SAS/STATS, SAS/IML, SAS/ETS and SAS/ACCESS. Through a combination of regression, Bayesian classification scheme, seasonality analysis, and pattern recognition procedures, its methodology adapts inventory management techniques to determine the optimal delivery quantity and date of future deliveries. The SAS implementation of this system resides on a central server, which processes all updates using information stored in a centralized Oracle database and dispatches changes to locations throughout the United States. Local systems use the forecasting parameters, weekly, to generate the next delivery schedule. |
proc step, regression analysis, oracle | source | 7 |
| 53 | Improving Efficiency of Excel Summary Production with SAS Data Steps Prior to PROC DBLOAD Export | Keiko I. Powers | When reporting analyses results, we statisticians are often requested by project managers to have an analysis summary in EXCEL file. In many cases, we are asked to prepare a customized-format summary for exploratory-type analysis as efficiently as possible, and PROC DBLOAD becomes a handy tool. With SAS output files from various procedures or ODS steps, exporting such items as descriptive statistics, parameter estimates for regression models, etc to an EXCEL file can be done easily with this procedure. Further improvement in efficiency can be achieved by organizing the output file with additional SAS data steps so that when exported, the file structure is already in the final format. For example, instead of exporting a file for correlations and a file for regression weights separately and then combine them with EXCEL steps, it is more efficient to combine them with SAS steps, especially if the same routine has to be repeated multiple times. |
excel, proc step, data step, regression analysis, proc transpose, proc freq, data wrangling, sample, dataset, frequency analysis, proc means | source | 10 |
| 54 | Inline Formatting with ODS Markup | Eric A. Gebhart | Explore the power of inline formatting in ODS. And, learn about the super powers of inline formatting with ODS markup and ODS measured; see how easy it is to make your reports look better than ever before. With the new and improved syntax, ODS Inline formatting is better and more powerful than ever before. Learn how to use it and extend it to do even more than you dreamed possible. TWAS BRILLIG AND THE SLITHY TOVES, DID GYRE AND GIMBLE IN THE WABE Inline formatting has been around for a few years now, but as of 9.2 it has a new syntax and is more powerful than ever. However, it can look a bit daunting and much like the feelings you may have about Lewis Carol's Jabberwock and the Jub Jub bird and frumious Bandersnatch. You might be just as well off running off the other way. But inline formatting isn't nearly so bad as the Jabberwock, and the Jabberwock didn't fair so well anyway. |
excel, data step | source | 13 |
| 55 | Introduction to PROC GPLOT | Jimmy Thomas Efird | This introductory talk will demonstrate the basic features of PROC GPLOT. The SAS code used to create a simple plot will be outlined with step-by-step explanation of the various command lines. |
proc gplot, proc step | source | 3 |
| 56 | Introduction to the Graph Template Language | Sanjay N. Matange | There are many types of graphics displays that you might need to create on a daily basis. In SAS 9.2, SAS/ GRAPH introduced a family of new procedures that enable you to create graphs quickly and efficiently. With very little coding effort, you can create effective and attractive graphics that can be as simple as scatter plots and bar charts, or as complex as multi-page classification panels. The new statistical graphics (SG) family of procedures includes SGPLOT, SGPANEL, and SGSCATTER. The SGPLOT procedure creates single-celled graphs that can be constructed with a variety of plot and chart types. The SGPANEL procedure creates paneled graphs in which the paneling is driven by classification variables. The SGSCATTER procedure creates paneled scatter plots and matrices that have support for fitted lines, confidence bands, and computed ellipses. These three procedures are designed with a syntax that is powerful yet concise. |
proc sgpanel, scatter plot, proc sgplot, by group processing, box plot, proc step, regression analysis, bar chart | source | 18 |
| 57 | Introduction to XML Spreadsheets for SAS Programmers, Parts I & II | James J. Van Campen | This paper provides an introduction to Microsoft's XML Spreadsheet Schema (XMLSS) for SAS programmers. XMLSS is used to store Microsoft EXCEL workbooks as XML files. Understanding XMLSS is very useful for SAS programmers who use the ODS ExcelXP tagset or who write their own programs to generate XML spreadsheets. Part I of this paper provides an overview of XMLSS, and Part II describes some SAS macros written by the author to create XML spreadsheets. All of the examples in this paper were done using SAS 9.2 and MS Office 2003. |
excel, macro call, macro definition, xls, %if-%then-%else, macro quoting function | source | 9 |
| 58 | Leave Your Bad Code Behind: 50 Ways to Make Your SAS Code Execute More Efficiently | William E. Benjamin Jr. | This laundry list of tips, gathered from over 25 years of SAS programming experience, will show 50 ways to help SAS programmers make their code run faster and more efficiently. General topics will include doing more than one thing in each DATA STEP, combining steps to make simple tasks take less code, using macro variables to simplify maintenance, using built in features rather than writing your own code, ways to save disk space, using sorts for more than just sorting data, and ways to make the program code just read better (code that is easier to read is easier to maintain). The list is broken into categories to allow readers to find something they can use faster. This list can work as a primer for making code changes that will improve the systems and processes to which it is applied. Keywords: Base SAS, Code tips, Macro variables, procedures, conditional code In over 25 years of SAS programming this author has encountered code of all shapes and sizes, both good and bad. |
macro variable, data step, txt, out=, character variable, filename statement, dataset, %if-%then-%else | source | 20 |
| 59 | List Processing Routine CallXinc: Calling Parameterized Include Programs Using a Data Set as List of Parameters | Ronald J. Fehd | Description : This article reviews the list processing routine CallXinc, a parameter- ized include program. This routine reads a data set, converts charac- ter variables in each row into global macro variable assignment state- ments, and calls another parameterized include program. Examples are provided which illustrate list processing using this routine | proc step, proc print, macro variable, call execute, proc sort, proc freq, character variable | source | 20 |
| 60 | Manual to Automatic: Changing Your Program's Transmission | Arthur L. Carpenter | Gone are the days of strictly paper reports. Increasingly we are being asked to render our tables and reports using a variety of electronic file types that can be browsed and read using our computers. Besides the cost savings associated with the purchase of paper, paperless reports also minimize the costs associated with the printing and distribution of the reports. Another, often overlooked and potentially more important, side benefit of the paperless report is the increased availability of linked graphs, reports and tables. Navigation of the paper report is dependent on the table of contents, a strong index, and visual aids such as captions and footnotes; however in paperless reports we can easily jump from one table to its supporting and dependent tables with the click of a mouse. Easily, that is, if we have created the necessary links. | proc report, proc step, output delivery system, macro variable, macro loop, do loop, macro facility, footnote statement, ods pdf, macro definition, proc sql | source | 21 |
| 61 | Modeling Spatial and Temporal Variations of Arsenic in Surface Water | Anpalaki J. Ragavan | Arsenic in drinking water is largely the result of minerals dissolving from weathered rocks and soils into ground waters. Arsenic is highly sensitivity to biogeochemical conditions that lead to catastrophic consequences through contamination of ground waters that is transported to surface waters. Several types of cancer have been linked to arsenic in water. In 2001 the US Environmental Protection Agency lowered the maximum level of arsenic permitted in drinking water from 50 micrograms per liter (µg/L) to 10µg/L. Therefore, it is critical to understand the spatial and temporal occurrence of arsenic across a given site. In this study spatial variations in arsenic concentrations in surface water was analyzed and forecasted at a given site in Clear Lake Oaks in California. Samples were collected at 165 sample points taken over at the study area over a four year period and forecasted spatially through kriging using the KRIGE2D procedure. |
proc calis, sample, outlier, box plot, proc step, correlation, covariance | source | 10 |
| 62 | More Tips and Tricks for Creating Multi-Sheet Microsoft Excel Workbooks the Easy Way with SAS | Vincent DelGobbo | Transferring SAS data and analytical results between SAS and Microsoft EXCEL can be difficult, especially when SAS is not installed on a Windows platform. This paper explains how to use the XML support in Base SAS 9 software to create multi-sheet Microsoft EXCEL workbooks (for EXCEL versions 2002 and later). You will learn step-by-step techniques for quickly and easily creating attractive multi-sheet EXCEL workbooks that contain your SAS output, and also tips and tricks for working with the ExcelXP ODS tagset. Most importantly, 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! The use of SAS server technology is also discussed. Although the title is similar to previous papers by this author, this paper contains new and revised material not previously presented. |
excel, xls, date variable, sas output, proc template, sas base, sysdate9, output delivery system, title statement, by group processing, proc print, ods xml, format statement, proc step, sample | source | 20 |
| 63 | No, It's Not Magic: De-mystifying the SAS Macro Facility | Jay A. Jaffe | To get the most out of SAS macros and macro variables, you must know how the Macro environment interacts with the SAS program as it works on your program. Stop puzzling over someone else's macro-laden code, scratching your head and guessing what it's doing and why. Know, don't just guess, when and how macros and macro variables will perform when your programs run. Knowledge is power: This Tutorial will give you a strong conceptual framework, and a few fun Macro techniques, that will help you correctly to leverage the Macro Facility to good advantage. | macro variable, proc step, macro facility, symbol table, data step, macro definition, macro call, call execute, create table, order by, proc print, run, dataset, proc sql, macro function | source | 15 |
| 64 | ODS Graphics Designer: Your Tool of Choice for Interactive, Batchable Graphics | Sanjay N. Matange | The SAS/GRAPH ODS Graphics Designer provides an intuitiv e GUI interface for creating analytical graphs. The software provides a visual gallery of commonly used gr aphs. You can create your cust om graph starting from the gallery, or from a blank graph. You can further build up the graph by dragging and dropping additional plots and graph features from the "Elements Panel". Titles and footnotes can be added and edited directly on the graph. You can build complex graphs with multiple cells, building up layered gr aphs in each of cell. You can build classification panels using up to two class variables. The graphs can be saved in the extensible graph gallery to the file system. Saved graphs can be run in batch with different data using the SGDESIGN procedure. |
histogram, class variable, density plot, scatter plot, box plot, proc sgdesign, bar chart | source | 24 |
| 65 | ODS Packages: Putting Some Zip in Your ODS Output | Eric A. Gebhart | ODS packages and package templates add powerful new abilities to ODS. Automatically create zip files and SAS packages which contain all the output generated from your SAS program. ODS packages make it easy to e-mail your ODS output to others and can help keep your file system clear of file clutter. With integration technologies, ODS packages can also publish to WEBDAV, Email, Queues, and Subscriptions as well as Archives. ODS packages are also completely integrated with TAGSETS allowing for fully automatic generation of packages and the creation of some of the newer file formats like Open Document Format and Microsoft Office 2007. Learn how easy it is to use ODS packages and find out how they will impact the future of ODS.. |
output delivery system, ods html, proc step, ods packages | source | 10 |
| 66 | ODS Statistical Graphics 101 | Wei Cheng | Beginning with SAS9, a number of procedures join the Output Delivery System (ODS) family to create statistical graphics automatically. This new facility is referred to as ODS Statistical Graphics. The layout and appearance of ODS Statistical Graphics are controlled by ODS templates and styles. You can use the ODS Graphics Template Language (GTL) to generate statistical graphics of your own design; you can use PROC TEMPLATE to customize the statistical graphics generated by SAS procedures; you can use the "SG" family of procedures to create procedure-quality statistical plots. This paper describes how to use ODS Statistical Graphics to: create statistical graphs from SAS procedures; customize statistical graphs using ODS templates and ODS styles; create statistical graphs using ODS Graphics Template Language; create statistical graphs using SG procedures. |
proc step, proc freq, scatter plot, bar chart, proc sgplot, histogram, survival function, output delivery system, ods graphics, regression analysis, data visualization, proc template, sas 9, proc reg, proc univariate | source | 34 |
| 67 | ODS Statistical Graphics: How You SHOULD Be Developing Your SAS Applications | David L. Cassell | SAS has always been proclaimed by its competitors as trailing other applications in areas such as graphics. In particular, graphical analysis of data has always been a problem area, and manipulation or adjustment of graphs has always been more limited than some other statistical analysis and graphics packages. That is changing with ODS Statistical Graphics in SAS 9.1.3 and SAS 9.2, not to mention the other new graphical features introduced in SAS 9.2. As a result, any application development process has new tools to facilitate the development of analyses, plots, and charts. This will be illustrated with a basic cost modeling example. We will look at building a standard statistical plot with an information box at the side. We will show how to use ODS Statistical Graphics and ODS statements to build such charts for multiple facilities. |
ods html, proc step, file statement, sas output | source | 7 |
| 68 | Optimal Model Selection By a Genetic Algorithm Using SAS | Jerry Tsai | In regression, we often have several explanatory variables. Sometimes we are asked to cull these varia bles to arrive at a "parsimonious model" or "best model." The goal is to maximize explanatory power while minimizing the number of variables included in the model. But exactly whi ch variables should be selected for inclusion? If t here are p variables, then there are 2-to-the-pth power possib le combinations of those variables. Because our tim e is finite, search heuristics we typically employ evaluate only a small subset of those possible models. Common model selection methods focus on incremental ly adding (or subtracting) variables and assessing their fitness for inclusion. PROC REG has nine model sele ction methods, including the automated algorithms o f forward, backward, and stepwise selection. PROC GLMSELECT adds LAR and LASSO to these methods. |
regression analysis, response variable, feature selection, predictor variable | source | 13 |
| 69 | Playing Favorites: How to Manage Date Conflicts When Some Date Ranges are Preferred Over Others | Eric C. Wong | Data containing dates is challenging to work with , especially when date ranges are involved, and those date ranges conflict or overlap. Reconciling conf licting date ranges into consecutive, non-overlapping date ranges is easy when all date ranges are considered the same. However, if there is a hierarchy for how these date ranges are reconciled, i.e. when so me date ranges are preferred over others, more thought is required. One example is determining a patient's disease hist ory from multiple clinical data sources. Overlapping date ranges of disease and di sease-free periods come from medication usage, laboratory values, physician diagnoses, and other clinical information. If diseased time periods are of interest, then periods suggesting when a patient has a disease are preferred over disease-free periods. | proc step, by group processing | source | 11 |
| 70 | Pointer/Indirect LIBNAMEs: a Platform-independent Method to Manage Access to & Contention for SAS Format Catalogs | Thomas E. Billings | The problem: you create and maintain SAS formats that are stored in a SAS catalog, and these formats are widely used in your organization. The format catalog is in near-constant usage by programs run by many different users with read-only access. How then can you get write access to update the format catalog? A platform-independent solution: create a small address ("pointer") file that contains the (operating sy stem) address/name of the target format catalog. Read the address file to obtain the target SAS catalog file address/name and then immediately release the address file. Then issue a LIBNAME for the target SAS format catalog. The code to do this should be in a macro (that is designated as the "official" way to access the catalog in your organization), to prevent the address file from being seized and held for the duration of long jobs. |
catalog, format statement, sysrc, macro variable, data step, error message, txt | source | 9 |
| 71 | Portable SAS: Language and Platform Considerations | Robert A. Cruz | Techniques for creating portable SAS programs will be discussed. Portable mainline code can be executed unchanged on multiple platforms. Requirements for Windows, Unix, and mainframe systems will be presented. Considerations include language features to use or avoid, and coding techniques to use or avoid. Issues to be dealt with include internal representation of characters and numbers. Techniques for addressing the peculiarities of each platform will be presented. Windows, Unix, and mainframe platforms will be covered. Interfacing to sequential files and databases will be covered, as will considerations for system commands and sort utility. Automated platform identification and adaptation by macros will be covered. Search Keywords: Portable SAS, Windows, Unix, MVS, CMS, PC, Server, Mainframe, Collation Operating System: ALL Applicable SAS Products: Base SAS | proc step, decimal, options statement, numeric variable, macro facility, filename statement, put statement, sas base, macro variable, macro definition | source | 21 |
| 72 | Practical Uses of the DOW Loop | Richard R. Allen | The DOW-Loop was originally developed by Don Henderson and popularized the past few years on the SAS -L listserv by Paul Dorfman and Ian Whitlock, among ot hers. It is a programming technique that involves taking control of the implicit DO loop inherent in the DATA STEP by identifying and storing a value in a variable that is retained until all records for a by-group have been processed. The DOW-Loop relies on the fact that the values of assigned variables, or variables created by assignment statements in the DATA STEP, are not reset to missing until SAS returns to the top of the DATA STEP. It has a variety of applications, including streamlining LOCF and chan ge from baseline calculations as well as transposing multiple variables for a by -group. Some examples of these applications will be presented. |
conditional do loop, data step, last observation carried forward | source | 8 |
| 73 | PROC FORMAT, a Speedy Alternative to Sort/Sort/Merge | Jenine Milum | Many users of SAS System software, especially those working with large datasets, are often confronted with processing time challenges. How can one reduce the amount of CPU required to retrieve specific data? In this paper, an "outside the box" approach using a matching method utilizing PROC FORMAT replaces the CPU he avy Sort/Sort/Merge. It is ideal for situations when a key from one file is needed to extract data from a nother file. It is more apparently useful when at least one of the fil es is quite large. This method has been proven tim e and again to decrease CPU by 70%-80% and is effective on all pla tforms utilizing Base SAS. |
proc format, proc step, data step, cpu time | source | 5 |
| 74 | PROC NLP Approach for Optimal Exponential Smoothing | Srihari Jaganathan | Estimation of smoothing parameters and initial values are some of the basic requirements of forecasting time series using exponential smoothing. Recently several researchers have proposed a nonlinear optimization based framework to estimate the smoothing and initial values. The gist of this paper is to propose a PROC NLP (SAS/OR) based approach to solve the nonlinear optimization problem. A methodology to implement nonlinear optimization problem with PROC NLP is developed. Detailed syntax and the description of the proposed methodology is presented. Two empirical case studies are presented in order to test the efficacy of the proposed methodology. A comparative study of the proposed methodology with time series forecasting system (TSFS) in SAS/ETS is presented. Numerical experience based on the comparative study indicates that the proposed methodology performs better than the TSFS. Keywords: Exponential smoothing, optimization, PROC NLP, SAS/OR , SAS/ETS, Time series, forecasting. |
proc esm, proc step, time series analysis, time series data | source | 9 |
| 75 | Pros and Cons of X command vs SYSTASK command | Irina Walsh | Moving and managing files across a network can be easy or sometimes challenging. There are a few ways to copy and move files across a network or between directories. This paper details and compares some applications of SAS X command and SYSTASK command. The pros and cons of both commands are discussed. Examples of techniques to achieve successful command execution and error handling control are offered. | macro variable, txt, sysrc | source | 7 |
| 76 | Quality Outcomes and SAS: Structuring, Managing and Working in SAS-Based Programming Groups | Joe Perry | Compliance with programming standards is part and parcel of managing or working a programming group; whether a C++ or SAS based group. Managers and programmers find themselves in a constant struggle to find the proper balance between too much and too little structure, between enough direction and oversight but not too little, nor too much. To obtain quality products or services, programming groups have a wide array of structures in place like: policies, work practices, reporting relationships, personnel and quality practices designed to produce these quality work products. These system structures, when properly designed, and with proper oversight and control result in win-win situations and everyone wins: programmers, management and their customers. | sas programming, quality control | source | 9 |
| 77 | Relentless Testing with SAS | Lorne M. Salter | : Recent development environments and web applications development languages and frameworks have built-in testing frameworks that encourage frequent testing of each change or new component in any application. Some are automatic or semi-automatic. All require careful thought and tailoring to each project. My experience with the SAS community is that we are rigorous with data and root out data and code problems more than most other types of analysts. The routine presented here is just one element that may make this easier and encourage still better and more frequent testing. Experts on application development recommend testing each incremental change. "Fail early, fail often" is a motto aimed at catching little bugs before they cause big problems. I adapted and extended the idea because most SAS programmers are working with large datasets, and want more or less volume data testing, based on real data, with a good variety of relatively complex cases. | macro variable, sample, proc sql, proc step, %if-%then-%else | source | 9 |
| 78 | Repo Your Missing Data Using PROC REPORT | Ethan Miller | This paper will make clear in a step-by-step way the power and versatility of PROC REPORT to programmers who are unfamiliar with it. Many beginning programmers are overwhelmed by PROC REPORT; I know I was. As a result, they are fearful to incorporate it into their SAS repertoire. This paper covers the use of PROC REPORT to generate simple frequency counts and percents, as well as percents that exclude missing values. This paper will also include descriptions of how to create totals using compute blocks; formatting the report; adding titles, footnotes, subscripts, and superscripts; and specifying various output options. |
proc report, proc step, proc freq, proc tabulate, missing value | source | 5 |
| 79 | Reporting Quality of Cancer Care for the National Comprehensive Cancer Network - A SAS Bridge to Excel | Joyce C. Niland, Anna ter Veer, Rebecca Ottesen, Ann Vanderplas, Julie A. Kilburn, Dorothy Romanus |
The National Comprehensive Cancer Network (NCCN) Colorectal Cancer (CRC) Outcomes Database collects outcomes data on patients presenting with primary colon or rectal cancer at eight NCCN institutions across the United States. The primary objective of the database is to evaluate patient demographics and clinical characteristics, types of treatments received, and number of patients concordant with NCCN treatment guidelines and quality measures, which in turn are reported back to participating institutions and physicians. These treatment guidelines are updated on a continual basis and developed by multidisciplinary panels from NCCN institutions. This article focuses on a SAS to EXCEL application, developed to automate the reporting of the concordance with treatment guidelines and quality measures. |
excel, sample, proc means, proc step, clinical trial, character variable, confidence interval, variable, proc freq | source | 10 |
| 80 | Revolutionary BI: A Vision for Business Intelligence | Charles D. Kincaid | We generate and use Business Intelligence Reports in much the same way we used paper reports. However, like the Reese's Peanut Butter Cup we get even better results when we combine our information and analytics with new methods of creating and distributing them. For example, a lot of time and money is spent gathering requirements for and then developing business intelligence reports. Is that the best way? Does the value received warrant that level of investment? It can, but often times the work sits unused or incomplete because it doesn't meet the real needs of business users. How do you get at those needs efficiently without the overhead? Delivering BI reports has many similarities with delivering other information over the web (e.g. consumer products or search results). Many companies successful delivering that information. How do they do it? We'll discuss the techniques that have succeeded in the Web 2.0 world, e.g. Google, Amazon, Apple. | business intelligence, sas enterprise guide | source | 6 |
| 81 | Roadmap to Documentation, Training, Technical Support, and support.sas.com | Kathryn A. Council | sas base, sas programming | source | 8 | |
| 82 | SAS and SQL "Join" Forces to Perform a Many-to-Many Merge | Eric P. Elkin, Ginny Lai |
Many-to-many merge refers to specific instances where there is a need to merge two or more data sources with multiple observations for key identifiers. For example, it would be important to merge a dataset containing one record per patient per medical visit and a dataset containing one record per patient per lab test for the purpose of identifying the medical visit closest to each lab result for each patient. SAS generally can not handle a many-to-many merge properly by a simple MERGE-BY statement (although a complex MERGE accompanying an advanced DATA STEP can be used). In this situation, an easier and more straightforward alternative is to employ PROC SQL under SAS/BASE. This talk will focus on basic PROC SQL syntax for non-SQL programmers in order to perform a many-to- many merge. |
proc sql, proc step, by group processing | source | 6 |
| 83 | SAS Macro Programming Tips and Techniques | Kirk Paul Lafler | The SAS Macro Language is a powerful feature for e xtending the capabilities of the SAS System. This p resentation highlights a collection of techniques for constructing reusable and effective macros tools. Attendees are introduced to the techniques associated with building function al macros that process statements containing SAS co de; design reusable macro techniques; create macros containing keyword and positional parameters; utilize defensi ve programming tactics and techniques; build a library of macro utilities; interface the macro language w ith the SQL procedure; and develop efficient and portable macro language code. |
macro variable, macro facility, proc step, autocall macro, macro definition, macro parameter, %macro parameters, macro function, proc sql, dictionary tables, options statement, macro loop, &variable | source | 9 |
| 84 | SAS on iPhone BI Gone Mobile | Sy J. Truong | Apple iPhone has revolutionized mobile computing, taking smart phones to the next level with over 1 billion application downloads already in just a few months. All major websites such as Google, eBay and Amazon have their services available as an "iPhone app" rather than having the user go to a web browser. The iPhone applications add a new dimension to the user experience by leveraging on traditional client computing features of a web browser, but new features are added such as the ability to know where the user is, voice communication, multi touch screen interface, accelerometer along with a multitude of custom applications that raise the bar beyond web 2.0. SAS has been an analytical business intelligence powerhouse for many years; yet it is a relative late comer to this mobile computing revolution. This paper will demonstrate how a traditional SAS macro and its parameters can be selected through a GUI on an iPhone and then executed with results viewed on the iPhone. | macro definition, business intelligence, macro parameter, sas analyst | source | 10 |
| 85 | SAS System and SAS Program Validation Techniques | Sy J. Truong | This course will teach methodologies of performing SAS system and SAS program validation including new installations and updating to a new version of SAS on a production server including SAS macros and programs. Some of the topics covered include: backward compatibility, SAS systems versus multi-use SAS macros, project specific and stand alone SAS programs and standard programs for portability. Validation of a SAS system most commonly occurs during an upgrade from an older version of SAS or moving to a new platform. The examples used in this course include migrating to SAS 9.2 and moving from a legacy operating system to the windows platform. In either case, similar validation challenges are confronted. It is recommended that you first acquire a global view of the system and identify the architecture. Only after gaining this perspective would it be useful to then focus in on individual components. | data cleaning, audit trail, macro definition, sas programmer | source | 13 |
| 86 | Selecting a Stratified Sample with PROC SURVEYSELECT | Diana D. Suhr | Stratified random sampling is simple and efficient using PROC FREQ and PROC SURVEYSELECT. A routine was developed to select stratified samples determined by population parameters. A step-by-step process will be demonstrated along with SAS code to select samples stratified on 1, 2, and 3 variables. PROC SURVEYSELECT options and statements will be shown and discussed. |
sample, proc step, proc surveyselect, proc freq, sample size, random sampling | source | 6 |
| 87 | Simple but Effective SAS-based Automation Techniques to Combine SAS Data Libraries | Joe Perry | quality control, raw data, missing value, proc step, phase i, proc contents, data integration, sas data integration studio | source | 9 | |
| 88 | Skinny to Fat - In Search of the "Ideal" Data Set | Jeanina M. Worden | Imagine if you will, a data manager's table, one that is tall, skinny, and beautifully normalized. It's the super model of data and can easily be maintained with a healthy diet of DATA steps. But when analyzing data you might find the ideal lends more towards a different "model", specifically short and fat tables. With SAS, given a "tall" table with numerous observations for a patient, it can be difficult to analyze data between rows. While creating a "short" dataset with all observations for a patient in one row can be accomplished with PROC TRANSPOSE, in multivariable datasets the number of TRANSPOSE statements can quickly become too much of a good thing. In this paper a macro is discussed that uses a dataset created from DICTIONARY.COLUMNS and CALL SYMPUT to identify and loop through each variable in the original dataset creating variable specific datasets for each one. Then the new datasets are merged together thus transforming your data from "skinny" to "fat". |
call symput, proc step, proc transpose, macro variable, dictionary tables, proc sql | source | 7 |
| 89 | Solving Your Problems with SAS Enterprise Guide: SAS without Programming | AnnMaria De Mars | In this workshop, participants learn how to conduct a data analysis project from beginning to end with SAS Enterprise Guide. This will be done by completing practical exercises that are common data analysis tasks. The workshop begins with creating a SAS dataset for analysis. Using these data, participants will produce output for a report on data quality, a table of sample characteristics and a comparison of results by group. Next, an EXCEL file is imported, new files created and merged, then variables computed to create a final analysis dataset to be used to evaluate whether the client intervention was effective. By the end of this workshop participants will be able to import EXCEL, Access and other files into Enterprise Guide; create new SAS datasets; merge files; compute new variables; recode variables; conduct descriptive statistics; conduct basic predictive and comparative analyses; create publication-quality tables; and create publication-quality graphics. |
sas enterprise guide, dataset, excel, proc means, numeric variable, standard deviation, out=, proc freq | source | 18 |
| 90 | Strategic Business Intelligence and Analytics in Healthcare | Shelley J. Muhs, Bharat Chitnavis, Gary Wood |
business intelligence, data integration, data cleaning, sas enterprise guide | source | 7 | |
| 91 | SYMply PUT: GET the Most Out of SYMPUT and SYMGETN | Robert Howard | SYMPUTX and SYMGETN are simple, yet extremely powerful and useful functions. The CALL SYMPUTX routine allows you to quickly and easily store dataset valu es into macro variables, while the SYMGETN function retrieves these values. Using these functions saves time and reduces the chance of data calculation errors in e ven the most complex programs. By working through a practical e xample, you will see the utility and flexibility of these indispensable functions. | call symputx, macro variable, character variable, call symput, numeric variable | source | 4 |
| 92 | The Basics of the PRX Functions | David L. Cassell | We are constantly needing ways to search for patterns in text, and change particular pieces of text. With the advent of SAS 9, the power of Perl's regular expressions is now available in the DATA STEP. The PRX functions and call routines let you to use the pattern matching features of Perl 5.6.1 to do these tasks, and more. This paper will explain what regular expressions are, and how to write basic Perl regular expressions. It will also show how to code the more useful PRX functions, and how to use these functions to search for text and replace text |
prxparse, sas 9, prxchange, prxmatch, sas function, variable, character variable | source | 18 |
| 93 | The CDISC Study Data Tabulation Model (SDTM): History, Perspective, and Basics | Fred Wood | The CDISC (Clinical Data Interchange Standards Consortium) SDTM is a standard for submitting data tabulations to the FDA in support of marketing applications. In July of 2004, this standard became a Study Data Spec ification (1) referenced in the eCTD Guidance (2). The FDA has announced on several occasions their intention to make the SDTM required by regulation (3-8). This paper/presentation will focus on the SDTM and the SDTMIG (SDTM Implementation Guide: Human Clinical Trials), but will also describe the regulatory climate around the SDTM, and provide an update on recent activities with SEND (Standard for Exchange of Nonclinical Data), an implementation of the SDTM for animal toxicology and pharmacology studies. | clinical trial, csv, clinical data, trial design model, adverse events, subject visits, adam dataset, sdtm domain, trial summary, cdisc | source | 9 |
| 94 | The Evolution of a SAS/GRAPH Application | Jenine Milum | proc gchart, bar chart, output delivery system, proc step | source | 6 | |
| 95 | The Fundamentals of Data Step Programming I: The Essence of Data Step Programming and By-Group Processing | Arthur X. Li | output, set statement, execution phase, missing value, dataset, retain, in=, out=, automatic variable, compilation phase, by group processing, delete, proc step, if-then-else, input statement | source | 20 | |
| 96 | The Fundamentals of DATA Step Programming II: Looping | Arthur X. Li | do loop, output, sample, conditional do loop, execution phase, in=, ranuni, stop, out=, dataset, set statement, implicit loop | source | 13 | |
| 97 | The Fundamentals of DATA Step Programming III: Array Processing | Arthur X. Li | do loop, array, missing value, array bounds, if-then-else, temporary array, execution phase | source | 10 | |
| 98 | The Little Engine That Could: Using EXCEL LIBNAME Engine Options to Enhance Data Transfers between SAS and Microsoft Excel Files | William E. Benjamin Jr. | Many people are not aware that the SAS Access for PC Files product will allow SAS Programmers to access an EXCEL spreadsheet in much the same way as any other SAS file. There are of course some restrictions, but there are also a lot of options that help remove some of the bumps in the road. The LIBNAME statement allows the user to define an EXCEL file in SAS terms and gives the programmer access to LIBNAME and data set options to control how the EXCEL file is defined, accessed, and yes even how the data will be formatted. This paper will describe some of those options. |
excel, variable, libname statement, sas library, proc sql, dataset, proc step, character variable, libname engine, numeric variable, sysdate9, sas programmer, missing value | source | 10 |
| 99 | The Next Step with Macros - Double Ampersand Macros &&helpme&i.. | Jennifer R. Rosson | Have you been using single ampersand macro variables, &single_macro., for years, but scared to take the next step - double ampersand macro variables, &&helpme&i.? I've worked with SAS programmers for years who never take that next step with macro variables. This paper will help you overcome any fears about using double ampersand macro variables. Double ampersand macro variables, or double referencing macro variables are very powerful and can increase program efficiency, as well as reduce hours of coding. When used with single ampersand macro variables and some SAS Macro Language statements, double ampersand macro variables will become one of the most powerful SAS tools you've ever learned!. | macro variable, macro facility, macro definition, macro put, call symput, automatic variable, sas programmer, data step, put statement, %if-%then-%else | source | 5 |
| 100 | The Power to Show: Ad Hoc Reporting, Custom Invoices, and Form Letters | Daniel O'Connor | 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. DATA _NULL_ report writing has long been an integral part of the custom report writing offered by SAS, but with this newly updated ODS Report Writing technology in SAS 9.2, you will have the ability to produce reports that you have only dreamed about. These new features will allow you to build custom data-centric reports in an easy-to-use object-oriented manner that is fully integrated with the ODS System. This technology is perfectly suited for creating custom invoices, inserting narrative descriptions in a table or document, creating form letters and non-rectangular reports, inserting custom subtotals, and it will address a variety of custom reporting needs. |
character variable, numeric variable, hash table, execution phase, if-then-else, file statement, by group processing, format statement, proc step, class variable, dataset, proc sort, output delivery system, data step | source | 58 |
| 101 | The Second CDISC Pilot Project: A Metastandard for Integrating Databases | Gregory C. Steffens, Ian Fleming |
The first CDISC SDTM/ADaM pilot project created a test submission of one study to the FDA using CDISC data and metadata standards, in order to test that these standards meet FDA requirements (described in a paper Greg Steffens presented at SUGI 2007). The second CDISC pilot project objectives are to test 1.) the value of CDISC standards to create integrated databases (IDBs) and 2.) the new FDA safety review guidelines. This presentation focuses on the first objective and describes 1.) the collection and use of metadata in the second pilot and 2.) a very important drafted extension to the define.xml schema that supports row-level metadata and fills a gap in the metadata schema identified in the first pilot project. Metadata for eight pilot project studies and three IDBs were populated in EXCEL - EXCEL was a user request as it has a more familiar interface than the SAS data set editors. |
macro definition, excel, adamig, data standard, dataset, cdisc | source | 5 |
| 102 | The SURVEYFREQ Procedure in SAS 9.2: Avoiding FREQuent Mistakes When Analyzing Survey Data | Kathryn Martin | With recent releases, SAS has become increasingly capable of analyzing survey data-descriptive statistics, cross- tabulations, and regression models can be computed using procedures that account for complex sampling schemes and survey designs. The SURVEYFREQ procedure, for instance, is a common method for computing population- based prevalence estimates of health indicators using data from large national and statewide surveys. Although this procedure may seem familiar to users of PROC FREQ, there are important differences between the analysis of survey data and simple random samples. This paper will provide an overview of PROC SURVEYFREQ and discuss syntax important for producing weighted estimates of prevalence and standard errors. |
sample, proc surveyfreq, proc step, missing value, proc calis, binary variable, where statement, cluster sampling, finite population correction, proc freq, proc surveymeans, population | source | 6 |
| 103 | Tiptoe through the Templates | Cynthia L. Zender | Are you confused about the difference between style templates, table templates, tagset templates, and graph templates? Do you wonder how they're all used with ODS? This paper provides an overview of all the different template types and how they're used with the Output Delivery System. From style and table templates, that first appeared with SAS 7 to the newest graph templates that appeared with SAS 9.2, this paper will provide an overview and several concrete examples for each template type. Along the way, we'll also discuss the template garden (SASHELP.TMPLMST) where all the templates live, how to transplant your templates to a different garden, how to come up with your own new variety of templates (PROC TEMPLATE), and how to find your way to the new template garden (ODS PATH). New features of PROC TEMPLATE syntax (such as the IMPORT statement) will be highlighted. |
proc step, proc freq, proc template, proc means, ods html, proc print, proc report, sas log, ascii, ods pdf, sas output, txt, output delivery system, sas enterprise guide | source | 27 |
| 104 | Trend Analyses of Health Indicator and Risky Health Behavior Variables in Nevada | George C. J. Fernandez, Moses Anabila |
In this study, Nevada Behavioral Risk Factor Surveillance System (NV BRFSS) data from 1995-2007 is used to examine several health indicator variables, including: access to health care, asthma, diabetes, health status, heavy- drinking, hypertension, weight, obesity, physical activity, and smoking. SAS PROC REG, which employs Ordinary Least Squares (OLS), was used to identify trends in the health indicator variables of interest. In cases where OLS may not be capable of accounting for the correlated errors, SAS PROC AUTO REG was used to fit the model. In addition to determining the overall nationwide trends of the health indicator variables, this study compared data from Nevada residents to national data and compared data from several regions within Nevada. |
confidence interval, proc step, proc reg, binary variable, proc autoreg, response variable, sample | source | 9 |
| 105 | Using Functions SYSFUNC and IFC to Conditionally Execute Statements in Open Code | Ronald J. Fehd | Description : This paper explains how to conditionally execute statements in open code without having to wrap the code in a macro. This is accom- plished by combining the macro function sysfunc with the DATA STEP function IFC. The result is that parameterized include programs gain the power of conditional processing - %if ... %then - for which macros are usually used |
macro put, macro variable, macro function, proc step | source | 11 |
| 106 | Using PROC LOGISTIC to Estimate Willingness to Pay for Fresh Produce | Mikael Peterson | What are college students willing to pay for produce? Are they willing to pay a premium for more diverse and higher quality produce? This paper introduces the design for an observational study measuring willingness to pay for fresh produce of college students in the US. For each model we asked if the subject was willing to pay an extra 20 cents per pound; a) if no then would they pay an extra 10 cents?, b) if yes would they pay an extra 30 cents? This lead to an outcome with four levels: no/no; no/yes; yes/no; yes/yes. An ordinal logistic regression is used to estimate willingness to pay to keep the current level of produce available in local markets and the willingness to pay for increased availability of fresh produce in local markets. Issues of data collection and handling to properly and accurately carry out the analysis as well as model specification and assumptions are addressed. | logistic regression, logistic distribution, regression analysis, ordinal logistic regression, multinomial logistic regression, response variable, null hypothesis, proc logistic, proc step, likelihood function, maximum likelihood estimation, predictor variable, sample, sample size | source | 4 |
| 107 | Using PROC REPORT to Cross-Tabulate Multiple Response Items | Patrick Thornton | This paper describes for an intermediate SAS user the use of PROC REPORT to create a cross tabulation of a multiple response item. Surveys often contain multiple response items, such as services received where a respondent may have received more than one service. In this case, an indicator variable (1=Yes, 0=No) is created for each response category. This paper shows how to include all the indicator variables and a grouping variable in a PROC REPORT in order to calculate the number of responses per category overall and by group. It also demonstrates how PROC REPORT may be used to calculate the percent of responses out of the number of observations, rather than out of the total number of responses. A macro program is also included that makes easy the generation of PROC REPORT syntax for the purpose of reporting multiple response items. |
proc report, proc step, binary variable, proc freq, phase i, phase ii, phase iii | source | 5 |
| 108 | Using PROC SGPLOT for Quick, High-Quality Graphs | Susan J. Slaughter, Lora D. Delwiche |
New with SAS 9.2, ODS Graphics introduces a whole new way of generating high-quality graphs using SAS. With just a few lines of code, you can add sophisticated graphs to the output of existing statistical procedures, or create stand-alone graphs. The SGPLOT procedure produces a variety of graphs including bar charts, scatter plots, and line graphs. Because ODS Graphics uses the Output Delivery System, graphs can be sent to ODS destinations, and use ODS styles. This paper shows how to produce different types of graphs using PROC SGPLOT, how to send your graph to different ODS destinations, and how to apply ODS styles to your graph. |
proc sgplot, proc step, bar chart, phase ii, output delivery system, histogram, phase i, series plot | source | 19 |
| 109 | Using Recycled Predictions for Estimating Marginal Effects | Geeta Mahendra, Zhongmin Li |
A conventional way to estimate the marginal effect of a risk factor is to omit the risk factor (i.e., gender, treatment) from the multivariate model and then used the omitted risk factor as class/group variable to compare observed and predicted outcomes. This can have an undesirable impact on what is left of the model since the predicted outcomes could be totally incorrect if the omitted variable is a significant risk factor. The alternative way is using the recycled prediction method to estimate and compare marginal effects without removing the risk factor from the model. While STATA (StataCorp 2005) and SUDAAN (Research Triangle Institute 2004) have provided sub-routines for the recycled prediction method, SAS does not have a dedicated procedure for this purpose. However by using simple SAS programming this can be accomplished. In this paper, we use an example to demonstrate a way to perform the recycled predictions within the SAS platform. | sample, logistic regression, logistic distribution, odds ratio, regression analysis, response variable, predictor variable | source | 9 |
| 110 | Using SAS for Nonparametric Statistics | Gerry Hobbs | proc step, proc freq, anova, sample, alternative hypothesis, proc glm, proc genmod, friedman test, monte carlo, proc npar1way, degrees of freedom, exact test, rank test, outlier | source | 7 | |
| 111 | Using SAS PROC TRAJ to Improve Estimates of Assortative Mating for Problem Behavior | Kelly Knight | correlation, proc step, sample | source | 5 | |
| 112 | Using SAS to Enhance Interviewer Productivity at the University-based Center for Research Design and Analysis | George C. J. Fernandez, Martha Rodriguez-Salazar |
The Center for Research Design and Analysis1 (CRDA) is an academically-based, multidisciplinary statistical research and service center at the University of Nevada, Reno (UNR) utilizing a wide range of data collection techniques for telephone, mail, and internet surveys. During a four month period beginning in January of 2009, the CRDA conducted a total of nine studies which will each be analyzed and explained in further detail. Within this four month period, CRDA had six supervisors to oversee 16 interviewers on varying shifts and monitor daily activities and calling productivity. Currently, CRDA has 19 CATI stations in which each computer has software capabilities that allow CRDA to conduct interviews efficiently and in a timely manner. Data was compiled from each of the 9 studies in order to evaluate interviewer performance. | sample, excel, proc step | source | 11 |
| 113 | Using the SmryEachVar Data Review Suite | Ronald J. Fehd | macro variable, proc step, proc format, attrib statement, proc freq, proc print, proc means, macro put | source | 20 | |
| 114 | Validating the Bland-Altman Method of Agreement | Ryan Fernandez, George C. J. Fernandez |
Bland-Altman's analysis and plot are the most common methods used to assess the relative agreement between two analytical methods that measure the continuous variables measured on the same scale. Many agreement studies have shown that using the t-test or the Pearson's product-moment correlation is flawed when measuring the agreement or detecting the bias. Bland-Altman proposed graphical techniques for analyzing method comparison and validation studies and many articles advocating their approach or variations of it have since appeared in many journals. The basic concept of Bland-Altman's approach is the visualization of the difference of the measurements made by the two methods, then plotting the differences (diff) or the bias (Y-axis) versus the mean (mean) of the two readings (X-axis). In addition, additional reference lines such as the zero bias line and 95% upper (0 + 1.96 S diff) and 95% lower (0 - 1.96 Sdiff) are also overlaid on the same scatter plot. | regression analysis, proc calis, scatter plot, proc reg, normal distribution, proc step, proc robustreg, estimate, chi-square test, correlation | source | 17 |
| 115 | Validation, SAS, and the Systems Development Life Cycle: An Oxymoron? | David J. Polus | Managing a group of experienced consultants can be challenging enough. Throw in some variables such as different time zones and communication styles and it can become a bit overwhelming. This paper uses real life examples to make a few key points on working effectively with a team of consultants: - Managing a Virtual Team - working successfully with centralized AND remote consultants - Effective use of team leads in a consulting environment - Maintaining good communication - How to keep consultants accountable without feeling like "Big Brother" | source | 3 | |
| 116 | Web-Based Integration of Data Collection and Reporting Based on SAS Foundation Technologies | Beate Danielsen, Soora Wi, Eileen Walsh |
The variety of database, statistical analysis, and reporting software products available to today's organizations makes it increasingly difficult to identify the best combination of products that fits the needs of a project. Many factors have to be considered when making this choice such as product features, product support, support staff, timeline, long term planning, ease of use, and product stability. Faced with the challenges of supporting a legacy web-based data collection application that utilized Java, JavaScript, and Oracle, and an increasing demand for rapid generation of reports and data sets, the Northern California Kaiser Permanente's Division of Research (DOR) decided to move its regional registry of neonatal intensive care patient outcomes to a SAS-driven web-based application. | macro definition, macro loop, %if-%then-%else | source | 10 |
| 117 | Wonderful Unix SAS Scripts: SAS Quickies for Dummies | Raoul A. Bernal | Repeated simple SAS jobs can be executed online, and in real-time to avoid having to directly execute SAS command files, producing immediate results directly into any Unix display window. The trick is to simulate SAS using a Unix script, which can be executed just like any Unix command with minimum of one or two parameters. One advantage of making such SAS Unix scripts available is the quick access to SAS without having to learn actual SAS syntax. This reduces the number of exploratory data requests from non-regular SAS users, thereby empowering them to get "quickie" exploratory results without having to ask a SAS practitioner. Just like any Unix command, the results can be directed to an output file (other than the default output screen) for reporting. | proc step, proc univariate, proc freq, proc print, proc contents, proc printto | source | 9 |
| 118 | Working with SAS on a Remote UNIX Server from a Local Windows | Alex Zolot | This paper summarizes experience of work with SAS located on a remote UNIX server from a local Win client in situations - when we have SAS or SAS data provider installed on local machine and when we do not have it; - when we have good connection to UNIX server that allows transfer of full graphic display and - when the connection through VPN - SSH is too slow for transferring graphic display; - with and without utilizing SAS/INTRNET server. The presentation contains some useful SAS, UNIX shell, python, WinSCP scripts. |
create table, sas syntax | source | 6 |
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