SUGI 2006 Papers - Index
258 papers. Source: SAS Users Group International conference proceedings.
| # | Title× | Authors× | Abstract× | Keywords× | Extras | Pages |
|---|---|---|---|---|---|---|
| 1 | "Best-in-Class" Comparison Group (BCCG) Methodology for Process of Care Performance Indicators | William F. McCarthy, Nan Guo |
This paper presents a methodology for making a meaningful comparison of facilities when assessing performance indicators in health care. A SAS Program with a SAS Macro is presented that reflects the methodology discussed. Key Words: Performance Indicator Assessment; Best Practice of Care; Outcomes and Effectiveness Research; SAS Program; SAS Macro | raw data, proc gplot | source | 10 |
| 2 | "PROC Photo": A Generic Method to Capture Time-Stamped States of Operational Tables | Richard Mass�, Luc Simon |
The procedure described hereafter is useful to collect and store in an efficient manner successive states of selected operational tables. Using a series of SAS macros, operational tables are read and copied in a different " historical database ". At selected intervals, operational tables are read again, and another series of macros identifies the differences between the current state of the tables and the last occurrence in the historical database. Finally, the historical tables are updated to reflect the current state of the operational tables. Sample SAS DATA statements that easily exploit the historical database or data warehouse are also presented. To minimize the programming and maintenance effort, a generic process was developed. This system uses SAS to capture ORACLE operational tables and write into an ORACLE historical database, but it could easily be adapted to other databases. Theses procedures are mostly platform independent |
proc step, data warehouse, staging area, proc freq | source | 8 |
| 3 | %DataAutoSum: A SAS Macro for Automatically Producing a Customized Clinical Data Summary Report | Deqing Pei, Cheng Cheng |
Management of clinical trials data requires efforts of a large team, including clinicians, data entry personnel, database managers, and statisticians. For statisticians, to ensure the accuracy of the clinical data is the first critical step in analysis. No statistical method, regardless of its sophistication, can overcome major weaknesses arisen from inaccurate data. Results from analyzing inaccurate clinic data could be misleading and result in a wrong conclusion or decision. This paper introduces a macro, which can be used to generate data summary report with limited user input. Thus, it enables the statistician to check the quality of clinical data quickly and effectively | date variable, character variable, proc freq, missing value, numeric variable, proc means, clinical data, nominal variable, sas library, proc step, data cleaning | source | 8 |
| 4 | %hlmdata and %hlmrmpower: Traditional Repeated Measures vs. HLM for Multilevel Longitudinal Data Analysis?Power and Type I Error Rate Comparison | Hua Fang | This paper proposes a stacked macro called %hlmdata and %hlmrmpow er to generate multilevel longitudinal data and to compare power and Type I error rate of multivaria te repeated measures (MRM) and hierarchical linear model (HLM) approaches. The comparison was conducted on the evaluation of a fixed between-group treatment effect in a balanced design through a Monte Carlo study . By varying correlation in the covariance matrix , effect size, reliability and ratio of level-2 sample size to level-1 time points, the power of the tw o models was examined and presented in tables and figures. Meanw hile, the bootstrap estimates for the treatment mean differences were calculated, such as bootstrap standard errors, bias and conf idence intervals. T he conclusion summarizes the T ype I error rates and power patterns for the two models and discusses the utility of the macro | effect size, type i error, significance level, sample size, proc mixed, covariance, sample, proc step, covariance structure, repeated measures, correlation, treatment effect, proc calis, longitudinal data, confidence interval, fixed effects, bootstrap, data science, monte carlo, proc glm, residual, random intercept, proc genmod, by group processing | source | 11 |
| 5 | %IFN - A Macro Function | Chang Y. Chung, H. Ian Whitlock |
We implement SAS Release 9 DATA STEP IFN() function as a DATA STEP function-style macro, %IFN(), so that both the release 8 and 9 users can obtain the benefit of utilizing succinct conditional expressions in their code. In doing so, we present a general technique of using PUT() and INPUT() functions in order to detect and properly handle missing values in the input expression without generating unwanted messages in log |
missing value, macro function, proc sql, macro definition | source | 6 |
| 6 | 80 Ways to Spell "Refrigerator" | Joshua P. Becker, John Wallace |
A methodology that combines text mining, statistical process control and a balanced scorecard eliminated inaccurate manual claim coding and a significantly reduced the time required to identify root causes of field failures. As a result annual warranty claim costs have decreased, product reliability has increased, and customer satisfaction has improved. Business Case Sub-Zero accepted that their legacy system of collecting, analyzing and learning from corporate warranty and call center data was inadequate. It was obvious to data analysts and engineers at Sub-Zero that the keys to improving metrics such as product quality, product reliability, and operating costs associated with each, resided in the time required to learn from the data. This time period, referred to as the definition timeline, is explained in Figure 1 as the time associated with identification and characterization of a valuable concept within the data when one exists | insurance claims, data wrangling | source | 10 |
| 7 | A Better Means - The ODS Data Trap | Myra A. Oltsik, Peter Crawford |
When we check the statistics of the numeric variables in a dataset, we want to keep those results in another dataset that we can reference over the course of a project. But this is not easily accomplished. Submit the following SAS1 statement - PROC MEANS data=sashelp.class; var Age Height Weight; run; - and the list output shows you six columns of information for the three variable rows. If you were to use ODS to create a dataset of this output by adding the following statement before it - ODS output summary=means_summary; - you might expect to get a dataset with six variables and three rows of data. You don't. Instead, as of SAS v9.1.3, you get a dataset with just one record and 18 variables, i.e., one variable for each combination of input variable and column. Instead of waiting for SAS to fix this ODS problem, we created a macro to produce the results we needed. Along the way, by adding some optional parameters, we think we've built a better "data trap" |
proc step, proc means, macro loop | source | 10 |
| 8 | A Comparison of the MIXED Procedure and the GLIMMIX Procedure | Jennifer L. Ferrell | The focus of this paper is to compare linear mixed models and generalized linear mixed models using a clinical database. Generalized linear mixed models (GLMMs) allow the error term to include the exponential family, and can incorporate repeated measures and random effects. Since generalized mixed models are a fairly new concept, they have been used sparingly in healthcare research. Currently, there is not a lot of literature showing the differences between these models and so it has not been well documented as to when it is appropriate to use generalized linear mixed models instead of linear mixed models. SAS has a new procedure (GLIMMIX) for the generalized mixed MODEL procedure. Prior to this procedure, a macro, %GLIMMIX was available. GLIMMIX must be downloaded from the SAS website. This paper will explore these models and their differences while looking at a study of the benefits of physical rehabilitation in cardiopulmonary patients |
proc mixed, proc glimmix, fixed effects, proc glm, residual, proc model, proc genmod, correlation, sas enterprise guide, insurer, estimate, proc step, data mining, covariance, proc freq, response variable, predictor variable | source | 8 |
| 9 | A Hands-On Introduction to SAS Basics and the SAS Display Manager | Debbie Buck - SC | This workshop is des igned for SAS us ers who ma y have limited experience with the SAS Dis play Manager and/or the SAS DATA STEP. The SAS DA TA step is one of the m ost powerful and versatile software to ols avail able f or h andling and m anipulating d ata. Ho wever, it is sometimes somewhat confusing to SAS programmers as to what the dif ferent s tatements do, what the c orrect s yntax is for these statements, and how they can help you achieve your goals. In this workshop we will examine how t o get data into a SAS data set and how to manipulate data after they are i n a SAS data set. We will also explore using the Display Manager, including the Enhanced Editor, Log, and Output windows, as well as the Results window, to observe the output produced, and the Explorer windows, to examine the descriptor and data values portions of the SAS data sets. This workshop will also be helpful to S AS users who plan to attend other hands-on workshops, but are not familiar with using the SAS9 Display Manager |
dataset, proc step, input statement, if-then-else, label statement, merge statement, numeric variable, proc print, column input, sas output, set statement, sas log, sysdate9, character variable, infile statement, proc contents, error message, formatted input, libname statement, proc sort | source | 12 |
| 10 | A Hands-on Tour Inside the World of PROC SQL | Kirk Paul Lafler | Structured Query Language (PROC SQL) is a database language found in the base -SAS software. It enables access to data stored in SAS d ata sets or tables using a powerful assortment of statements, clauses, options, functions, and other language features. This hands -on workshop presents core concepts of this powerful language as well as its many applications, and is intended for SAS users who desire an overview of the capabilities of this exciting procedure. Attendees will explore the construction of simple SQL queries, ordering and grouping data, the application of case logic for data reclassification, the creation and use of views, and th e construction of simple inner and outer joins |
proc sql, where statement, proc step, inner join, select, index, view, data merging, order by, right join | source | 11 |
| 11 | A Powerful Macro to Control Title Appearance in SAS/GRAPH Output | Louie Huang | Whether or not to have titles in the graphs is always out of your control in clinical trials. It is a painful job when you are asked to add titles into hundreds of graphs at the last minute of your project deadline. The more graphs you have, the more time you need to spend. A macro that can control title appearance is absolutely valuable when creating multiple graphs is necessary. This paper introduces an efficient and straightforward macro used to automatically handle the title appearance of SAS/GRAPH output in CGM (Computer Graphics Metafile) format created from a varying number of programming files. Using this macro, you can execute hundreds of separate programming files to create graphs with titles or figure captions, or without titles. The paper discusses problems by practical examples, and summarizes function of the macro and the related programming skills. The macro is conveniently adaptable to generate multiple formats of SAS/GRAPH output simultaneously |
macro variable, title statement, %if-%then-%else, proc sql, macro loop, standard deviation, dataset, macro definition, macro put | source | 8 |
| 12 | A Pragmatic Programmers Introduction to SAS Data Integration Studio | Gregory S. Barnes Nelson | sas data integration studio, libname statement | source | 34 | |
| 13 | A Programmer's Introduction to the Graph Template Language | Jeff Cartier | In SAS 9.2, the ODS Graphics Template Language (GTL) becomes production software. This powerful language is used by many SAS/STAT and SAS/ETS procedures (including the new SAS/GRAPH procedures SGPLOT and SGSCATTER) to produce graphical output. The Graphics Template Language can also be used in conjunction with special DATA STEP features to produce graphs independently. This presentation helps you understand the basics of the Graph Template Language and create graphs with the DATA STEP. Topics include: Basic concepts: template definition and st orage, compilation, and run-time actions Graphical Layouts: features of Gridded, Overlay, and Lattice layouts Common tasks: customizing axes and adding legends and titles Templates: making flexible templates by using dynamic and macro variables, conditional logic, and expressions Output: controlling image name, size, type, quality, and scaling Integration with ODS styles |
histogram, macro variable, if-then-else, scatter plot, box plot, ods rtf | source | 14 |
| 14 | A Strategy for Managing Data Integrity Using SAS | Brett J. Peterson | Managing and facilitating data integrity is a critical element when collecting information. Many dollars are spent to actively obtain data, making it imperative to ensure the data is of the highest quality. Even with interactive data entry and other checks performed at time of data entry, it will often fall on the SAS programmer to find the remaining problems and bring them to light. The SAS system allows you to find, organize, and report data errors simply and effectively. This paper, written from a clinical research perspective, presents a strategy for performing and facilitating data integrity checks using SAS, including how to communicate and resolve errors with study team members. The examples shown use Base SAS and work for versions 6 and above. The programming presented is at a beginner's level, but the strategy for managing data integrity applies to a broader audience | sas programmer, proc step, error message, proc print, data cleaning, data integrity, proc freq, proc sort, sample, variable | source | 9 |
| 15 | A System of SAS Macros for Producing Statistical Reports | Greg A. Grandits | Monitoring clinical trials requires periodic generation of statistical reports for Data and Safety Monitoring Board (DSMB) reviews and other purposes. These reports typically include descriptive statistics (counts, means, SD's, etc.) for each group and summary information from statistical tests (e.g. hazard ratios and confidence intervals from Cox regression analyses) and often include a combination of both. Existing SAS reporting procedures do not provide a straightforward method of generating such reports, in part because these reports require the collation of information from several procedures. However, with procedure output data sets, the output delivery system (ODS), and the DATA STEP, SAS has the tools necessary to produce such reports. This paper describes a set of macros that use these tools to create reports in which statistical information from several procedures is combined and displayed on a single report page, in either simple text or HTML format (as an html table) |
dataset, clinical trial, hazard ratio, proc means, proc step, regression analysis, confidence interval, set statement, proc tabulate, variable list, proc phreg | source | 7 |
| 16 | Achieving High Availability for the SAS9 Metadata Server | Steve Holzworth, Clarke Thacher |
The SAS Metadata Server is a critical component of the SAS Intelligence Platform. To ensure that information is available to the people who need it, system managers can leve rage high-availability solutions to monitor and protect the SAS Metadata Server. SAS has been working with its technology partners to impl ement high-availability solutions for the SAS Business Intelligence Architecture. This presentation reports on t he technologies that SAS has used in this process, and discusses the steps that are necessary to implem ent high availability for your SAS Metadata Server | business intelligence, sample | source | 5 |
| 17 | Advanced Array Applications in Clinical Data Manipulation | Zaizai Lu, David Shen |
Dealing with a single variable is all well and good, but there comes a time when you have to deal with a big list of variables. That's where array comes in. Array in SAS allows you to group a bunch of variables for the same process. The huge block of the repetitious statements and redundant calculation codes can be reduced to just a few lines. With arrays you can simplify the coding in many cases. Sometimes, arrays can even accomplish tasks which are not easily done with other methods. Array, besides its iterative and conditional processing, can be very powerful. This paper introduces some advanced array applications in data manipulations from data search, count consecutive days, LOCF, find and replace, shift, leading to a more complicated efficient process. These array applications will be presented with ten practical examples. The purpose is to explore new applications of arrays over alternative strategies | adverse events, do loop, last observation carried forward | source | 11 |
| 18 | Advanced Warehousing with SAS9 | Gary Mehler | The world of data warehousing, data marts, and data integration continues to progress as more complex Business Intelligence environments become more widespread. This paper discusses the new and improved capabilities of SAS Data Integration Server (formerly known as SAS ETL Server) and SAS9 in general, to meet these challenges. These capabilities are discussed in the context of meeting specific business challenges and include the areas of administration of complex systems, metadata synchronization, ways to work with parallel execution of processes, and working with parallel storage. Monitoring during the operational phase of a warehouse is also suggested, and updated suggestions are given for multi-developer ETL environments. Armed with knowledge about these areas, warehouse developers can keep their productivity high as they address existing warehouse challenges and still have time to focus on new integration challenges as they arise | sas grid, parallel processing, data integration, elapsed time, data standard, dataset, data wrangling, fact table, star schema, macro variable | source | 17 |
| 19 | AMMI Macros for Multiplicative Interaction Models | Eun-Joo Lee, Dallas E. Johnson |
When you are faced with analyzing two-way cross-classified experiments, you are almost always interested in whether the two factors interact or not, and if they do interact, combinations of the two factors are responsible for the interaction in the data. When there are no independent replications, there are no traditional tests for interaction. SAS macros have been developed to provide user-friendly statistical software for the analysis and interpretation of interaction in two-way experiments. These newly developed macros are called the AMMI (Additive Main-effects and Multiplicative Interaction) macros. The AMMI models allow one to analyze two-way data with interaction even if there are no independent replications | degrees of freedom, interaction effect, response variable, in=, least squares mean, stored macro, anova, filename statement, macro definition, scree plot, libname statement, out=, options statement, main effect | source | 10 |
| 20 | An Alternative Method of Producing Labels without the FORMS Procedure | Dongming Jiang | Many users of SAS System software, especially those who want to print labels for mailing labels or exte rnal tape labels, are often confronted with difficulties on size and spacing. How to perfectly print names and addresses on standard labels such as those produced by Avery? While the PROC FORMS procedure is the traditional procedure to generate a variety of labels, it may not be possible to successfully obtain the desired output which is accurately suit the standard Avery label product. The techniques presented in the paper provide the user with more control on the placement parameters and fonts to facilitate printing data sets to labels. The features of the two methods are compared and discussed. The ideas presented here were developed and tested using SAS Release 8.2 (TS2M0) running under Windows |
proc step, proc report, proc template | source | 5 |
| 21 | An Application of Survival Analysis to Population Dynamics in Human Capital Management | Martin B. Jetton, Robert Yerex |
Using Base SAS, SAS/STAT and SAS/GRAPH we have built a decision support infrastructure to monitor and forecast workforce retention dynamics relative to the economic value of Unicru Personality Assessments. Using PROC LIFEREG we develop best fit survival models for employee lengths of stay and with these best fit model's hazard rates and apply a semi-Markov population dynamic model (described in this paper) to forecast the rate of replacement of employees with new hires with targeted personality traits. SAS/GRAPH is utilized to present historical data, fitted survival models and forecasted replacement levels |
hazard function, survival function, survival analysis, proc step, cumulative hazard, probability distribution, proc lifereg, proc sql | source | 9 |
| 22 | An Evaluation of Splines in Linear Regression | Deborah M. Hurley, James Hussey, Robert McKeown, Cheryl L. Addy |
Linear regression is an analytic approach commonly used in public health to examine the relationship between continuous dependent (e.g., blood pressure) and independent (e.g., body mass index (BMI)) variables. For any regression procedure it is desirable to use models that closely fit the data. Transformations of the response variable can improve the fit and may correct violations of model assumptions such as constant error variance. Predictor variables may be separated into logical categories (e.g., age categories), or we may add additional terms that are functions of the existing predictors such as quadratic or cubic terms. Other approaches, such as spline modeling, may provide a better fit, taking into consideration the variation in the relationship between the predictor variable and the response variable, both within and between levels of the predictor variable | standard deviation, regression analysis, confidence interval, sample size, spline, sample, polynomial regression, predictor variable, proc reg, response variable | source | 11 |
| 23 | An Introduction to Perl Regular Expressions | Ronald P. Cody | prxparse, prxmatch, substr function, proc print, prxposn, sysrc, proc step | source | 21 | |
| 24 | An Introduction to SAS Character Functions | Ronald P. Cody | character variable, substr function, compress function, length statement, character functions, input statement, verify | source | 17 | |
| 25 | Analysis of Large Hierarchical Data with Multilevel Logistic Modeling Using PROC GLIMMIX | Jia Li, Toni Alterman, James A. Deddens |
Studies that combine individual-level and aggregate data are common in epidemiologic research. Such studies are often subject to ecological fallacy which arises from confounding of the individual-level relationship due to heterogeneity of exposure variables and covariates within groups. One approach to address this concern is to use multilevel modeling. The advantage of using multilevel modeling is that it takes the hierarchical structure of the data into account by specifying random effects at each level of analysis, and thus results in a more conservative inference for the aggregate effect. In this study, we combined data from two databases for analysis. Data from the National Occupational Mortality Surveillance System (NOMS) containing individual-level information from death certificates was linked by occupation to the Occupational Information Network (O*NET) which contains job characteristics at the occupational level | proc mixed, proc glimmix, proc calis, logistic distribution, proc step, logistic regression, regression analysis | source | 5 |
| 26 | Analyzing Multivariate Longitudinal Data Using SAS | Feng Gao, Chengjie Xiong, Paul A. Thompson, J. Philip Miller |
Multivariate longitudinal data provides a unique opportunity in studying the joint evolution of multiple response variables over time. Comparing to the traditional univariate longitudinal data, the analysis of multivariate longitudinal data can be challenging because a) the variances of errors are likely to be different for different markers, b) the errors are likely to be correlated for the same marker measured at different occasions, and c) the errors are also likely to be correlated among markers measured at the same time. In this paper, with application to a real-world study to evaluate the joint evolution of the biomarkers for renal structure and function, we illustrate and compare 3 different approaches provided by SAS to analyze multivariate longitudinal data: the multivariate repeated measurement model with a Kronecker product covariance (PROC MIXED), the random coefficient mixed model (PROC MIXED) and the structural equation modeling approach (PROC CALIS) |
correlation, response variable, covariance, longitudinal data, proc mixed, proc step, regression analysis, proc calis, covariance structure, random slope | source | 9 |
| 27 | Application of Experimental Design in Consumer Direct-Mail Solicitations | Jonas V. Bilenas | We will look at how to design experiments using SAS/QC. Examples will come from experiments testing consumer preference for direct mail credit card offers. Discussion will focus on designs of experiments using PROC OPTEX, sample size requirements, and response surface models using PROC LOGISTIC and PROC GENMOD. We will discuss what to do with design results, focusing on simulation and optimization |
proc step, sample size, sample, logistic distribution, main effect, credit card, proc logistic, regression analysis, proc genmod | source | 9 |
| 28 | Application of Proc Discrim and Proc Logistic in Credit Risk Modeling | Jin Li | PROC LOGISTIC is well known in credit card industry as a way to model binary variables such as response or charge off . However, there are many occasions that the dependent variable actually has more than two groups. For example, in addition to model whether or not an account will charge off, it is also important to know if it is going to attrite (voluntarily close account). For those that are going to charge off, we might interest to know whether they are going to charge off within a year, in 2nd year or in 2+ years. Answering these important questions helps us to better manage our risk, maximize our NPV and hence gain a competitive position in the market. In this article, PROC DISCRIM and PROC LOGISTIC are used to address these questions. The theory of each method is introduced in background section. Detailed SAS programs and results are shown in methodology/result section. The comparison between these two methods is outlined in the discussion section |
discriminant analysis, proc step, regression analysis, proc discrim, proc logistic, logistic distribution, significance level, prior probability, qq plot, covariance, sample, credit card, stepwise selection, feature selection, logistic regression, response variable, outlier, proc freq | source | 9 |
| 29 | Archival Documentation of a SAS Database via the Web | Joel F. Achtenberg, Elizabeth M. Hornbeck |
The Collaborative Longitudinal Evaluation of Keratoconus (CLEK) Study was a multi-center observational study funded by the National Eye Institute to characterize vision, corneal changes, and quality of life in keratoconus patients, and to determine the progression of the disease over time. A total of 1,209 keratoconus patients at 16 participating clinics were examined annually for 8 years. Because CLEK is the first systematic, longitudinal study of keratoconus, an eye condition about which very little is known, study data will be an especially valuable resource to investigators outside the study. To provide access to the data following the study's completion, we have produced a web-based archive containing extensive documentation of the study and its database. The archive includes traditional text and standard SAS documentation | proc step, proc contents, proc format, dataset, title statement, proc freq | source | 10 |
| 30 | Assessing Within- and Between-Individual Effects Using Correlated Data from an HIV Clinical Trial | Marla J. Husnik, Grant Colfax, Eugene Huang |
Various statistical methods can be used to analyze correlated data from a clinical study. At baseline of the EXPLORE study, a multi-site, randomized HIV prevention clinical trial conducted in the USA, data was collected from Men who have Sex with Men (MSM) regarding their most recent sexual episode with up to three of their most recent partners. We were interested in the relationship between substance use and risky sexual behavior. Our data allowed us to examine both within-individual effects and between-individual effects. To address the within-individual effects, we first used PROC NLMIX to construct non-linear mixed models. While this modeling approach proved useful for univariate models, we eventually experienced computational difficulties when constructing more complex multivariate models. Thus, we abandoned this modeling technique and instead found success when we constructed conditional logistic regression models using the PROC PHREG procedure |
logistic distribution, conditional logistic regression, logistic regression, proc step, proc mixed, regression analysis, generalized estimating equations, proc genmod, proc phreg, correlation, binomial distribution, proc freq, clinical trial | source | 10 |
| 31 | Banking on the Future - A Metadata Server Survival Guide | Peter W. Eberhardt, Andrew Farrer, Zulfiqar Habib |
The strength of the SAS Business Intelligence (BI) Architecture revolves around a well thought out metadata server. Unfortunately, this crucial piece needs to be designed and configured very early in the v9 learning curve; and in your haste to get your metadata server running you can make some poor choices. Sadly these poor choices early on can lead to long-term pain. This paper will discuss some of the trials and tribulations we experienced configuring our metadata server as part of a major compliance project - Basel II | basel ii, sas enterprise guide, financial reporting, internal audit, sas 9, sql server, access control, data mining, proc sql | source | 11 |
| 32 | Base SAS vs. SAS Data Integration Studio: Understanding ETL and the SAS Tools Used to Support It | Danny Grasse, Gregory S. Barnes Nelson |
Every data warehouse, data mart and data hut needs it. Every good business intelligence interface depends on it. It has been the hallmark of what SAS programmers have done for over 30 years -beat data into submission (a.k.a. ETL - extract, transform and load data). Now all grown up and ready to take on the world, SAS software's ability to get at just about any data source, massage, cajole, beat, cleanse and transform information and then make it sing and dance in your tool of preference makes SAS the ideal choice for modern decision-support applications. So which tools, technologies and/or approaches can we use for ETL and which make sense for any given application? We will explore the world of ETL from the perspective of the tasks that we have to accomplish and compare using Base SAS tools versus Data Integration Studio (or as it is now known - SAS Data Integration Studio) | fact table, surrogate key, sas base, data warehouse, data profiling, data cleaning, slowly changing dimension, data integration, sas programmer, validity, foreign key, natural key, raw data, star schema, change data capture, grid computing, proc step, proc sql | source | 20 |
| 33 | Batch Job to Create and Send Mass Excel Reports Using REXX, SAS, HTML(XML), and E-mail | Stanislaw Furdal | The paper presents a computing architecture and related problems of a batch job to create and send mass EXCEL reports to a lot of users using REXX, SAS Base, HTML, MSO XML and Email system. The paper addresses an application of a SAS parameterized program invoked multiple times from REXX to create EXCEL reports and send them by Email. It reviews, based on a real business example, a proposed computing architecture, programmable components written in REXX, SAS, HTML(XML), stresses their effectiveness, presents optimization problems and solutions to save CPU time and time of HTML to EXCEL conversion |
excel, batch job, macro definition | source | 5 |
| 34 | Beyond the Basics - Advanced OLAP Techniques | Brian O. Miles, Ben Zenick |
This paper will address advanced OLAP capabilities that historically could not be taken advantage via the SAS platform. The paper will include real-world examples demonstrating how the SAS v9 platform has allowed great accessibility to the world of OLAP. Have you ever attempted to apply if/else logic directly into an OLAP cube that will allow the engine to make certain decisions? Have you had difficulty applying Advanced Time Period Manipulation in an OLAP structure? Can you apply different calculations to a measure based on a certain level in a hierarchy? How can you deliver Non-Additive calculations in OLAP? How can traffic light images be represented on an OLAP Report? This paper will address these questions as well as the following information custom options for cube building, using external aggregation tables, advanced MDX topics, and Cube display options | proc step, proc sql, where statement, user-defined format, sample, proc univariate | source | 10 |
| 35 | Biosurveillance and Outbreak Detection Using the ARIMA and LOGISTIC Procedures | Ernest S. Shtatland | The main objective of this pape r is to show potential usefulness of the com bination of autoregressive integrated m oving average (ARI MA) models and logistic regression with automatic model selection (s ee our work presented at SUGI'28 and SUGI'29.) Tim e- series analysis with A RIMA provides only on e perspective of the infor mation in th e surveillance data (i.e. the num ber of patient s as a function of tim e). The information about the geographical location of the patien ts provides a second pe rspective. We would like to combine both perspectives | logistic distribution, regression analysis, poisson distribution, time series analysis | source | 8 |
| 36 | Care and Feeding of Your SAS Consultant and Don't Bite the Hand That Feeds You - Two Views on Consulting and Consultants. | Peter W. Eberhardt, Dianne Piaskoski |
As consultants, we should be constantly trying to work ourselves out of a job. Unfortunately, it doesn't always work out this way. Sometimes, our clients are stuck with a costly resource, a project that is never finished, and one that never quite meets their requirements. As clients, we want to be sure that when we engage a consultant we get the type of expertise we need and that we can (amicably) get rid of the consultant. In this paper, we will discuss both roles - consultant and client - and suggest ways to keep the relationship gourmet and not a food fight | sas consultant, likelihood function | source | 7 |
| 37 | CEDA - The Invisible Hand | Bruce F. Gilsen | proc step, dataset, proc contents, sas library, proc append, libname statement, sas log, data dictionary, proc copy, sas base, dictionary tables, modify statement, proc sql, proc cimport, options statement, output delivery system | source | 10 | |
| 38 | Characterizing Patterns of Longitudinal Data Completeness through Successive Refinement | Lawrence Rasouliyan, David J. Pasta |
The analysis of longitudinal data with multiple assessment periods provides many challenges with respect to completeness and usability of data. Patterns of data completeness over time can vary greatly, and the number of possible longitudinal patterns increases expo nentially with the number of assessment periods. With a great number of possible completeness patterns, questions arise as to which patterns have enough complete data to be usable. Some patterns occur much more commonly than others, and through the process of successive refinement, rules can be developed to accommodate these more common patterns of data completeness. Common patterns of complete da ta include "pure dropout" cases, "a little missing" cases, and "barely any data" cases. These cases will be explored and examples provided. Possible rules will be described to help determine where to draw the li ne with respect to the completeness of data and its subsequent usability | completeness, longitudinal data | source | 6 |
| 39 | Combining the Power of ODS, Data Set Concatenation, and DDE to Output Customized Statistical Results from SAS to Microsoft Excel | Navneet K. Dhand, Jenny-Ann Toribio |
SAS is a widely used software package for statistical analyses, however presentation of customized results for reports and publications is cumbersome and time consuming if done manually and there is a high likelihood of incurring errors during the process. The method reported here makes the presentation of results easier and more efficient especially when a large number of variables are being tested and the procedure needs to be repeated many times. A three step procedure is suggested for outputting results from SAS to EXCEL: firstly, creation of data sets during model building employing the ODS OUTPUT statement, followed by concatenation of the data sets produced and finally exporting of customized results to specific cells of an EXCEL worksheet employing dynamic data exchange (DDE) |
excel, put statement, logistic regression, odds ratio, filename statement, logistic distribution, p-value, proc step, regression analysis, predictor variable, response variable, ods output, likelihood function, where statement, proc freq, estimate, output, proc print, set statement, correlation, proc genmod, proc logistic | source | 10 |
| 40 | Comparison of Data Preparation Methods for Use in Model Development with SAS Enterprise Miner | Charles Manahan | SAS Enterprise Miner is a powerful tool for model development. By providing a GUI interface, drag and drop model evaluation, automatic record keeping of multiple scenarios, and scoring code generation, it saves a great deal of time over the traditional method using SAS STAT with the various regression PROCs. However, as most people who have developed predictive regression or other behavioral models are aware, the bulk of the time spent in developing models isn't in the final production of the regression coefficients, but in variable selection and preparing the input variables (e.g. clustering levels, imputing missing values, etc.). Enterprise Miner has a module for variable selection and level condensation which is easy to use, but how well does this module compare with some traditional methods of variable selection? Several models were developed in Enterprise Miner in parallel using traditional methods for data preparation vs the Enterprise Miner variable selection module | regression analysis, feature selection, data mining, nominal variable, proc princomp, proc step, proc reg, data wrangling, class variable, roc curve, proc varclus | source | 10 |
| 41 | Compass Rose in Stock Markets: The Power of SASECRSP LIBNAME | Taras Zlupko | The SASECRSP interface engine provi des access to CRSP and Compustat financial databas es directly from SAS. The engine presents the data as native SAS datas ets which can be processed as such by SAS. This significantly facilitates any kind of analysi s when using these databases. The SASECRSP LIBNAME statement enables the user to specify database of interest. It also includes some additional options which allow to place restrictions on the chosen datab ase. The SASECRSP LIBNAME statement options are a powerful tool which can significantly increase processi ng efficiency. This is illustrated by accessing returns data to detect the compass rose pattern in financial markets |
libname statement, cpu time, sysdate9, proc freq | source | 7 |
| 42 | Computation of Correlation Coefficient and Its Confidence Interval in SAS | David Shen, Zaizai Lu |
Correlation measures the association between variables. However, the correlation coefficient is not normally distributed and its variance is not constant. This paper presents the principle of Fisher transformation to normalize the distribution and stabilize the variance, and its application in computation of confidence interval. The calculation is implemented with SAS codes in both 8.2 and 9.1.3 versions. | sample, correlation, confidence interval, proc corr, sample size, numeric functions, scatter plot, proc step, pearson correlation | source | 6 |
| 43 | Constructing Stack Tables with Magic %GluePlus (Another User-Defined Macro for Creating Stack Tables) | Lei Zhang, George Li |
As a composite table, a sta ck table is made up of a vary ing number of child tables that are placed one on top of another without any gaps. Unlike a regular table that has a fix ed number of columns throughout the row s, a ty pical stack table allows each of its child tables to have its own number of columns and headers and each can vary its size, layout and style separately. A stack table hence gives a much greater freedom and creativity to the data presentation than a regular table does. Stack tables are commonly used in comple x reports because of their effective integration of statistical results from multiple sources and flexible presentat ions of various aspects of concerns. In this paper, w e extend the method introduced in [1] and present another macro called %GluePlus that can assemble multiple separate tables in a RT F file into a single stack table | proc report, proc step, proc template, change from baseline, macro call, conditional do loop, anova, sas 9, treatment period | source | 12 |
| 44 | Converting Multiple SAS Output Files to Rich Text Format Automatically without Using ODS | Lingyun Chen | A common task facing programmers today is to program in SAS, convert the output to a more commonly recognized file format such as the rich text format, and make some post-processing changes to the file. This task can be easily accomplished with the combined power of SAS macros and Microsoft Word macros. This paper walks you through an example of looping through a series of SAS output files (.lst), converting them to rich text format files (.rtf), and making some post-processing changes automatically using simple SAS codes and an MS Word macro | macro definition, macro facility | source | 5 |
| 45 | Crafting Your Own Index: Why, When, How | Paul M. Dorfman, Lessia S. Shajenko |
A SAS index is a search file associated with a data file. Given a key, the file is searched and, if the key is found, its record ID is returned and used to retrieve the data file record. For many practical tasks, this works sufficiently fast. But fast is never fast enough - SAS indexes are disk-resident and so leave much room for acceleration. SAS auto- maintains its indexes, which is splendid. But oftentimes the trade-off is programmatic rigidity. When either overweighs the pain to program, the indexing scheme suddenly appears to virtually lend itself to custom crafting. Being no longer tied to a particular search algorithm or storage medium, you can let your programming fancy fly, the power of the SAS language being at your disposal. The pain disappears. The disk-resident index file yields to a memory-based look-up returning a file pointer. B-trees are defenestrated in favor of search algorithms chosen for speed and/or to fit a particular key structure | index, cpu time, lookup, hash table, dataset, memory usage, point= option, composite key, key, surrogate key, temporary array, unique key, proc sql | source | 14 |
| 46 | Creating AND Importing Multi-Sheet Excel Workbooks the Easy Way with SAS | Vincent DelGobbo | output delivery system, excel | source zip |
20 | |
| 47 | Creating AND Importing Multi-Sheet Excel Workbooks the Easy Way with SAS | Vincent DelGobbo | output delivery system, excel | source | 20 | |
| 48 | Creating Bar Charts and Scatter Plots on the Same Page, Using PROC GPLOT or PROC GBARLINE in SAS? | Rita Tsang | The SAS GPLOT and GCHART procedures are powerful tools for generating graphical displays of clinical data, as they are usually employed to create scatter plots and bar charts respectively. However, we often need to display both a scatter plot and a bar chart within the same graph. The GCHART procedure cannot generate scatter plots and it does not have the ability to superimpose graphical displays. How do we get around this limitation? Previously, my approach to the problem was to use the SAS DATA STEP (Tsang, 2005) and SAS ANNOTATE (Tsang, 2005) in GPLOT to accomplish the task. In this paper, I will further explore the functionality of the new SAS version 9 PROC GBARLINE, which, was also created to tackle the limitation of GCHART (SAS Institute, 2005). A comparison of the two procedures, GPLOT and GBARLINE, will be given |
bar chart, scatter plot, data visualization, proc step, proc gplot | source | 9 |
| 49 | Creating Statistical Graphics in SAS 9.2: What Every Statistical User Should Know | Robert N. Rodriguez, Tonya E. Balan |
Effective graphics are essential to modern statistical analysis. SAS 9.1 introduced an experimental ex- tension to the Output Delivery System (ODS), which is used by over two dozen SAS/ST A T and SAS/ETS procedures to create statistical graphics as automatically as they create tables. This extension, referred to as ODS Statistical Graphics (or ODS Graphics for short), requires minimal additional syntax, and it provides displays commonly needed for data analysis and statistical modeling, including scatter plots, histograms, and box-and-whisker plots. General ODS features, such as styles and destination statements, apply equally to tables and graphs. With the production release of ODS Graphics in SAS 9.2, many more statistical procedures have been modified to use this new functionality; see Appendix A for a list. For example, PROC LOGISTIC produces effects plots, and PROC RSREG produces contour and ridge plots |
output delivery system, proc step, ods graphics, proc reg, ods html, scatter plot, kaplan-meier plot, proc sgplot, ods rtf, regression analysis, box plot, data science | source | 32 |
| 50 | Custom Template for Reporting Interim Analyses Using PROC REPORT and Output Delivery System (ODS ) | Hanaa M. Girgis | Since the release of SAS 8, programmers and analysts have been eager to take advantage of the Output Delivery System (ODS). This Object Oriented feature works with PROC PRINT, PROC TABULATE, PROC REPORT and Data _NULL_ and can be used to produce calculated summary statistics using Base SAS and STAT procedures, such as FREQ, MEANS, SUMMARY, UNIVARIATE, ANOVA, GLM, MIXED, and REG. The ODS feature allows programmers and analysts to create output with greater clarity and better aesthetics for their readers. Output can be managed with proportional fonts, embedded images and non-tabular layouts |
excel, proc report, proc step | source | 6 |
| 51 | Data and Text Mining the Electronic Medical Record to Improve Care and to Lower Costs | Patricia B. Cerrito, John C. Cerrito |
This analysis uses data-mining techniques on an electronic medical record in the Emergency Department of a hospital to improve care while lowering costs. All patients' records for a 6-month period were examined, and records of those patients who had an initial complaint of shortness-of-breath were extracted. The data-mining techniques of transactional time series in the HPF procedure and the association rules in SAS Enterprise Miner were used to examine the data. Patients' orders, medications, and complaints were also examined using SAS Text Miner to investigate relationships among the variable categories. The Association Node in SAS Enterprise Miner is applied to one target variable that uses a patient identifier to link orders, medications, and charges. Unfortunately, the Association Node is inadequate when there are too many choices for each target; it cannot relate different target values to each other |
time series analysis, link analysis, disposition table, data mining, association rules | source | 20 |
| 52 | Data Mining Techniques to Analyze a Library Database | Chakib Battioui | The paper focuses on using data-mining techniques to investigate a library database of URL information regarding access to electronic sources. The specific objective is to determine the different rules that describe associations between sets of items in the Ekstrom Library database at the University of Louisville, by using SAS Enterprise Miner software. We obtained the data from the Ekstrom Library, which regularly saves the information on a monthly basis. Path Analysis was used to deal with the URL links. The results show how the Library can identify the patrons who log in to their web sites the most often, and where they log in from. Also, the results provide the Ekstrom Library with a count of the number of times each link occurred in the dataset, and a list of association rules that can be used for better organization of the library web site. It is a way of determining whether the databases purchased are of value to library patrons | association rules, data mining | source | 9 |
| 53 | Data Profiling Using Base SAS Software: A Quick Approach to Understanding Your Data | Susan J. Nowlin | "Data Profiling is the use of analytical techniques about data for the purpose of developing a thorough knowledge of its content, structure and quality" (www.bitpipe.com). While this terminology is most often associated with Data Warehousing and high-level business intelligence efforts, these techniques are valuable tools for the everyday data manager or data analyst. SAS Version 9 software offers various avenues for performing data profiling such as, SAS/ETL and SAS Data Quality Solution. These tools however, may not be available for some SAS users, may require additional training, and may be overkill if an understanding of the content of a file is all that is needed; that is, no data cleansing or other transformations are required. This paper discusses an application using only base SAS software which provides basic statistics, frequencies, ranges, outlier, and structural information for each variable in a table |
proc freq, data profiling, sample, sas base, macro variable, proc step, sas enterprise guide, dataset, outlier, data cleaning | source | 8 |
| 54 | Data Step Hash Objects as Programming Tools | Paul M. Dorfman, Koen Vyverman |
In SAS Version 9.1, the hash table - the very first object introduced via the DATA STEP Component Interface in Version 9.0 - has become robust and syntactically stable. The philosophy and application style of the hash objects differs quite radically from any other structure ever used in the DATA STEP previously. The most notable departure from the tradition is their run-time nature. The hash objects are instantiated and/or deleted and acquire memory, if necessary, at the run-time. It is intuitively clear that such traits should make for very interesting and flexible programming having not seen in the DATA STEP code of yore. Although some propaedeutics will be provided in the paper, the talk is intended for SAS programmers already somewhat familiar with the basic ideas and syntax behind the hash objects |
hash table, hash iterator, composite key, length statement, data step, dataset | source | 21 |
| 55 | Data-Driven Annotations: An Introduction to the SAS/GRAPH Annotate Facility | Arthur L. Carpenter | When SAS/GRAPH was first introduced, it was the 'only game in town' for the generation of business graphics. In the current computing environment we have lots of graphics options, and it is not unusual for programmers new to SAS/GRAPH to ask why they should bother learning the command and syntax structure of SAS/GRAPH, let alone that of the Annotate Facility. The fact of the matter is that SAS/GRAPH is still the 'only game in town' with regards to the generation of data driven graphics. When you want to create a large number of graphs (or even a single graph on a regular basis) and you do not want to place labels or other graphic enhancements manually, the Annotate Facility allows you to set up a system that places these items on the graph based on the data contained in the graph itself. In this workshop we will learn how Annotate communicates to the graphics procedures through the annotate data table |
dataset, proc step, histogram, character variable, length statement, proc gchart, numeric variable, proc gplot, retain | source | 17 |
| 56 | DATALINES, Sequential Files, CSV, HTML, and More - Using INFILE and INPUT Statements to Introduce External Data into the SAS System | Andrew T. Kuligowski | The SAS System has numerous capabilities to store, analyze, report, and present data. However, those features are u seless unless that data is s tored in, or can be a ccessed b y, t he SAS S ystem. This presentation is designed to review the INFILE and INPUT statements. It has been set up as a series of examples, each building on the other, rather than a mere recitation of the options as documented in the manual. These examples will include various data sources, including DATALINES, sequential files, CSV files, and HTML files. GETTING STARTED - BASIC INFILE / INPUT with DATALINES In order to bring data from an external source into your SAS session, the user must provide the answers to a couple of simple questions: Where is the data, and what does it look like? The INFILE statement will define the da ta source and p rovide a few tidbits of information regarding its form, while the INPUT statement will define the format of the data to be processed |
input statement, excel, infile statement, pointer control, proc print, proc step, length statement, filename statement, list input, variable, character variable, missing value, proc format, run, out= | source | 18 |
| 57 | De-Mystifying the SAS LIBNAME Engine in Microsoft Excel: A Practical Guide | Paul A. Choate, Carol A. Martell |
This paper is a "how-to" guide exploring the SAS v9 EXCEL LIBNAME engine. It focuses on the application of the EXCEL engine including an introduction and some suggestions on its use. The practical advantages and shortcomings of the engine are discussed. Readers will learn how to use the LIBNAME statement to populate and update pivot tables and charts as well as other pre-formatted workbook objects. Essential topics in EXCEL, such as named ranges are also covered. Techniques in using SAS for renaming, copying, and moving EXCEL workbooks, worksheets, and ranges will also be mentioned. SAS v9.13 and EXCEL 2002 and above are used. SAS/ACCESS software for PC files is required to use the EXCEL LIBNAME engine |
excel, name range list, libname engine | source | 8 |
| 58 | Delivering Dynamic Content with the SAS Stored Process Web Application | Frederick E. Pratter | source | 17 | ||
| 59 | Demystifying the SAS Macro Facility - by Example | Harry Droogendyk, Marje Fecht |
The SAS macro facility enables you to apply a wealth of useful, uncomplicated, real-world solutions to enhance your coding pleasure, reduce coding effort, and minimize error. As your business applications inevitably become more complex, the SAS macro facility is indispensable to: · reduce code repetition · increase control over program execution · minimize manual intervention · create modular code. Unfortunately, the SAS macro facility is often perceived as confusing, difficult to use, and only really comprehensible by a few long-time macro masochists. This presentation removes the mystery of macros and provides coding tips, macro solutions, and methodologies you can take away and implement immediately | macro variable, macro definition, macro facility, proc sql, macro put, macro loop, data step, symbol table, date variable, macro trigger, %if-%then-%else, proc step, if-then-else, keyword parameter, %macro parameters, do loop, put statement, macro call, macro parameter, &variable, proc print, character functions, in=, macro function, sas 9 | source | 15 |
| 60 | Developing, Managing, and Evaluating a Standard Macro System | Albert Mo | Standard Macro System (SMS) has become a very popular, effective, and critical tool at Biostatistics and Statistical Programming departments in many pharmaceutical, biotechnology, and medical device companies. It is a system designed to automate the generation of standard summary tables, listings, and graphs (TLGs). In this paper, both technical and non-technical aspects of developing a SMS will be discussed. The topics include definition, creation & evolution, structure, and benefits of SMS, along with recommendations for developing, managing, and evaluating SMS, Software Development Life Cycle (SDLC), and challenges/opportunities associated with SMS | macro definition, statistical programmer, clinical data, clinical programming, proc means, adverse events, macro variable, proc step, clinical trial, sample, proc freq, data cleaning | source | 10 |
| 61 | DIGITS and DATES - The SQL Procedure Goes "Loopy" | Jack Hamilton | Although PROC SQL, with its descriptive approach to programming, is very good at manipulating data, it lacks an important feature that is found in traditional PROC edural programming languages--the ability to loop o ver a range of values, some of which might not exist in an input d ata set |
proc sql, proc step, where statement, macro put, sysdate9, cpu time, date variable, datepart, create table | source | 11 |
| 62 | Dishing Up SAS/IntrNet Applications - A Second Helping of a Grand Recipe | Jonah P. Turner | As with many traditional recipes, only a few key ingr edients and personal touch are needed to prepare a flavorful dish that appeals to different tastes. Th is concept translates well to the development of SAS programs that function online. With some basic tools and programming techniques, developers can create interesting SAS/INTRNET applications to deliver an assortment of data products to end-users across the globe. Specifically, by mixing together the right amount of SAS, HTML, and JavaScript, it is easy for programmers to build Internet, intranet, and extranet applications from scratch, as well as Web-enable SAS systems that already exist. In operation, such Web-based applica tions can allow users to search through information, generate colorful reports, and perform sophisticated analyses, all from their Internet browser. SAS/INTRNET software effectively brings to bear the powerful data retrieval and computation functionality of the SAS System for straightforward client/server application development. The original paper "A Pinch of SAS, a Fraction of HTML, and a Touch of JavaScript Serve Up a Grand Recipe," published in the proceedings for SUGI 28, explored this issue by presenting a brief overview of SAS and Web development and demonstrating a unique case. As a second, heartier helping of that particular recipe, this discussion puts greater focus on the underlying development pr ocess and offers a piecemeal approach for several examples. Covering the topic in this fashion provides beginning programmers with the ability to cook up a variety of SAS/INTRNET dishes that extend the proven capabilities of SAS software to customers worldwide |
proc freq, output delivery system, macro variable, ods html, sas programmer, proc step, sample | source | 18 |
| 63 | Displaying the Similarity of a Case and Matched Controls | Robert S. Wilson | We present a method to discover observations similar to a specified observation, and a graphic display to assess the suitability of the selected observations based upon the homogeneity of each selection variable. The case-control study design selects one observation or experimental unit as the "case" variable and obtains as "matched controls" one or more additional observations or experimental units which are similar to the case, except for the variable(s) under study. In the retail business, the case may be a store which is to be or has been altered in some way and the controls may be one or more stores of similar size, age, layout, and in like economic and ethnic markets. A standard clustering technique uses supplied selection variables to extract a subset of observations similar to each other and to the control observation. A graph displays the standardized value of each selection variable for the case (target) observation. Overlaid are graphs representing the range of values found within the controls. Variables identical throughout the case and control observations are readily identified, as is the magnitude of those which are not. Knowledge of the importance of the selection variables allows one assessment of the suitability of the selected controls. SAS procs FASTCLUS, STANDARDIZE, GPLOT, FORMAT, TRANSPOSE, FREQ, MEANS, and PRINT are used. A macro to easily select the control observations and generate the described graph is provided. The macro is available in electronic version from the authors. An intermediate level SAS programmer can implement this macro |
proc step, flag variable, proc fastclus, interval variable, proc means, macro definition | source | 8 |
| 64 | Documentation-Driven Techniques for Building SAS Data Warehouses | Leonid Batkhan | This paper describes a process that is used in a SAS data warehouse implementation. Data model documentation of a SAS data warehouse (in Microsoft Word or EXCEL) serves as a feed to a SAS program that performs ETL. Coding techniques are presented for applying SAS formats, informats, and labels to SAS data warehouse tables. It proved to be extremely efficient during development, when data models often undergo changes and modifications. This suggested approach significantly speeds up the implementation of data warehouses |
data warehouse, dataset, macro definition, label statement, macro variable, excel | source | 10 |
| 65 | Don't Just Tell Us - Show Us! Performance-Based Testing and the SAS Certified Professional Program | Marc W. Vaglio-Laurin | Since its inception 7 years ago, the SAS Certified Professional Program has delivered robust certification examinations in a multiple-choice format. To date, more than 10,000 SAS certification examinations have been delivered to a global audience. In our efforts for continuous improvement, the SAS Certified Professional Program is now developing performance- based tests. What are performance-based tests, and how do they differ from multiple-choice exams? Why and how did SAS decide to develop performance-based tests? How valid are these examinations? How can you prepare for the examinations? This paper answers these questions | business intelligence, proc print | source | 9 |
| 66 | Drawkcab Gnimmargorp: Test-Driven Development with FUTS | Jeff Wright | One of the practices of Extreme Programming is Test-Driven Development (TDD), also known as Test-First Design. This style of development emphasizes an approach that is backwards to many programmers: writing tests before working code. Interestingly, this approach has found application in both agile methodologies and validation-intensive programming environments. TDD involves creating automated and repeatable unit tests, typically using a testing framework such as JUnit for Java and NUnit for Microsoft .NET languages. This paper will describe FUTS, a Framework for Unit Testing SAS programs in the spirit of JUnit and similar tools. Unit testing with FUTS is described, and an example of TDD in SAS is presented. In addition, pragmatic advice is given for dealing with challenges that commonly occur with automated testing | proc step, proc import, sample, error message, macro variable, excel, dataset | source | 12 |
| 67 | Duration Calculation from a Clinical Programmer's Perspective | Alice M. Cheng | Calculation of duration is common in c linical reporting. Often in clinical tr ials, the start dates and stop dates of adverse events or of medication usage ar e recorded. Clinical programmers ar e required to com pute the number of distinct days in these time intervals for each subject. When a subject has multiple time intervals, gaps and overlaps in these time intervals can be a major challenge in duration ca lculation. In this paper, t he author explores different methods to compute duration. A brief discussion of the pros and cons of these methods is provided. Keywords: Duration, Time Intervals, Gaps, Overlaps | adverse events, clinical trial, sas output, clinical data | source | 10 |
| 68 | Dynamic Superscripts and Footnotes | Rex Tungala, Rebecca L. Montgomery |
This paper shows step by step how to create superscripts and matching footnotes from your data | proc step, proc format, laboratory data, txt, proc report, proc tabulate | source | 9 |
| 69 | Dynamic Table Numbering - A Straightforward Approach | Diane C. Hall | Do your clients constantly renumber their tables, listings, or graphs? Do you get tired of going into individual programs to update the numbering on the tables, as well as the output file names? This paper will describe a simple, straightforward way to number your output displays and files using PROC FORMAT, and a small MACRO. The numbers are driven by a unique text identifier for each display, rather than being hard coded into each program |
macro variable, adverse events | source | 3 |
| 70 | E-mail from your SAS Session: How and Why | David H. Johnson | While we sleep, or attend to other issues, SAS can run some routine processing for us. A SAS job can be instructed to send an e- mail to confirm its completion, to provide results, or to warn of particular issues. At some suitable time we can then read our e- mail for confirmation of the process, for information that is distilled from the process, or for data that requires verification. If our process handles 1,000 records daily, this e- mail process can help us to save time by drawing our attention to only the problems in that data. This paper examines one such process as an example of "e- mailing exceptions". We look at a number of ways to send e- mail from the SAS process. The methods include a very simple approach, a generic macro approach, a batch e- mail process, and reporting exceptions from, of all things, our e- mail server | data step, file statement, sas log, ods pdf, proc step, sample, proc format | source | 22 |
| 71 | Efficient Construction of a "One-Row-per-Subject" Data Mart for Data Mining | Gerhard Svolba | Creating a "one-row-per-subject" data mart is a fundament al task when preparing data for data mining. To answer the underlying business question, the analyst or data-mart programmer is challenged to distill the relevant information from various data sources. Creating a data mart involves more than reading columns from a source table to the data mart. It also includes the aggregation or transposition of observations from "multiple-row-per-subject" tables like transactional tables and time histories. This process is a critical success factor for being able to answer the business question or to have good predictors available for a target event or target value. This paper shows the details of input data structures fo r a "one-row-per-subject" data mart | data mart, data mining, data wrangling, credit card, macro variable, savings account, proc freq, proc means, proc step, regression analysis, insurance claims | source | 16 |
| 72 | Empirical Power Estimation for Phase I Dose-Proportionality Studies Based on Power-Law Model Using Confidence Interval Criteria | Jihao Zhou, Jane Li, Bruce Coate, Melissa Chen |
A Phase I dose-proportionality study is an essential tool to understand drug pharmacokinetic dose -response relationship in early clinical development. There are a number of different approaches to the assessm ent of dose proportionality. The confidence interval (CI) criteria approach, a staitistically sound and clinically relevant approach, has been proposed to detect do se-proportionality (Smith, et al. 2000), by which the proportionality is declared if the 90% CI for slope is completely contained within the pre -determined critical interval. This method, enhancing the information from a clinical dose -proportionality study, has gradually drawn attention. However, exact power calculation of dose proportinality st udies based on CI criteria poses difficulity for practioners since the methodology was essentailly from two one -sided tests (TOST) procedure for the slope, which should be unit under proportionality | sample, monte carlo, sample size, macro definition, proc step, phase i, confidence interval, proc mixed, covariance, data step, clinical research, correlation | source | 11 |
| 73 | Estimate the False Discovery Rate Using SAS | Jason A. Osborne | This paper gives an exposition of recently developed methods of estimating the false discovery rate (FDR) under multiple comparisons and discusses their implementation using SAS. For example, microarray experi- ments typically involve tests of signi¯cance for hundreds or thousands of genes. For biologists confronted by this problem of multiplicity, the FDR is an appealing quanti¯cation of error. Recent literature establishes theoretical properties of an estimator for FDR associated with any chosen critical region. SAS code using the SAS/MACRO, SAS/STAT, and SAS/IML facilities is presented to compute this estimate, and appears in the appendix. Q-values, which are to FDR as p-values are to the type I error rate, are also obtained and used to reproduce plots generated by the R package \qvalue" that may be helpful for conducting mul- tiple tests. Two approaches to estimating the proportion of true null hypotheses are considered |
false discovery rate, sample, proc step, null hypothesis, type i error, histogram, proc calis, multiplicity | source | 10 |
| 74 | Everyone Trying to Update at the Same Time? Let's Try the Source Control Manager! (SAS/AF Development Tool) | Lawrence W. Altmayer | The SAS/AF development tool Source Control Manager (SC M) is a source file management facility featuring SAS file check-out/check-in capability. This feature allows se veral developers to have edit access to the same files, while ensuring that no one makes changes to a program while a nother developer is making changes to the same program. You use it with SAS/SHARE. The Standard Economic Processing System (StEPS), a batch and SAS/AF system developed by the U.S. Census Bureau for processing data from its economic surveys, is a prime candidate for SCM. Several developers requiring edit access to its files maintain it. This paper describ es how SCM has been implemented for StEPS, providing a basis for how it can be used by other organizations |
catalog entry, dataset | source | 10 |
| 75 | Exploiting Consistent Program Documentation | Richard Koopmann Jr. | Just because documenting programs isn't fun, doesn't mean it shouldn't be done. You've probably had to work off programs written several years before by someone who wasn't exactly faithful about program documentation. This makes for a headache when trying to figure out what the point of a program is and why it was coded the way it was. Fast-forward a few years...will your predecessors be frustrated by your lacking documentation, or will they be grateful that you spent the time to describe the program? Perhaps programmers feel that by not documenting programs they have more job-security, or maybe it's form of hazing; either way, it didn't help you. How will it help your predecessors? This paper moves beyond the simple practice of documenting programs to developing and implementing a system of automatic documentation. The results, in native SAS data set, can then be put through various PROCs to practically any format to look like you spent hours drudging through your programs | data step, proc step, comment, proc sql | source | 11 |
| 76 | Exploiting the Link Between the Wilcoxon-Mann-Whitney Test and a Simple Odds Statistic | Ralph G. O'Brien, John M. Castelloe |
Over a quarter-century ago, Alan Agresti (Biometrics, 1980) proposed using the generalized odds ratio (genOR) to summarize the association between two ordinal variables. Unfortunately , genOR is still largely unknown, even though it is elegantly straightforward and fills key voids in the working statistician's toolbox. An extension of it, a statistic we are calling "WMWodds, " is an ideal effect-size measure for properly in- terpreting and reporting results based on the common Wilcoxon-Mann-Whitney (WMW) two-group test. In addition, the distribution theory suggests a sound and general way to perform sample-size analyses for the WMW test, an assertion strongly supported by Monte Carlo results. These matters are developed through realistic examples using SAS, including a downloadable macro. This is an interim report of work still progressing; see www.bio.ri.ccf.org/robrien/WMWodds for later communications | confidence interval, sample, odds ratio, monte carlo, proc step, proc npar1way, proc freq, wilcoxon test | source | 12 |
| 77 | Exploratory or Confirmatory Factor Analysis? | Diana D. Suhr | Exploratory factor analysis (EFA) could be described as orderly simplification of interrelated measures. EFA, traditionally, has been used to explore the possible underlying factor structure of a set of observed variables without imposing a preconceived structure on the outcome (Child, 1990). By performing EFA, the underlying factor structure is identified. Confirmatory factor analysis (CFA) is a statistical technique used to verify the factor structure of a set of observed variables. CFA allows the researcher to test the hypothesis that a relationship between observed variables and their underlying latent constructs exists. The researcher uses knowledge of the theory, empirical research, or both, postulates the relationship pattern a priori and then tests the hypothesis statistically. The process of data analysis with EFA and CFA will be explained. Examples with FACTOR and CALIS procedures will illustrate EFA and CFA statistical techniques | factor analysis, correlation, estimate, latent variable, proc step, covariance, sample, factor loading, maximum likelihood estimation, r-squared, likelihood function, scree plot, proc calis, proc factor, confirmatory factor analysis, missing value, normal distribution, covariance structure, sample size, data science | source | 17 |
| 78 | Exploring Alternative Predictive Modeling Techniques to Strengthen the Customer Relationship | David Bordeleau | Maintaining customer loyalty in the financial sector is the key to steady sustainable growth. Being able to predict dissatisfaction as early as possible will ultimately allow a company to interact with the customer in an effort to regain their loyalty. It is no secret that the faster you can satisfy a customer's concerns, the less likely it is that they will seek out your competitor. But what do you do when the customer does not come right out and say they are not satisfied or that they have received a better offer? This paper discusses the benefit of using SAS software to leverage alternative techniques to linear or multiple regression for the prediction of future attrition and activation. Although more complex and requiring additional time and effort, the use of alternative methods such as Cox model with time dependent variables and Multinomial logistic regression can improve your results significantly | regression analysis, proc phreg, multinomial logistic regression, response variable, logistic regression, logistic distribution, likelihood function, data cleaning | source | 5 |
| 79 | Exploring SAS Generation Data Sets | Kirk Paul Lafler | Users have at their disposal a unique and powerful feature for retaining his torical copies of SAS data sets . Th is collection of copied generation data sets, representing versions of the same data set consists of a root member name and a unique version number , is aptly referred to as a generation group. This p resentation explores the power associated with generation dat a sets by showing users their purpose, how they are created and maintained, the approach used for accessing a specific version of a generation group , as well as other usefu l techniques. Simple coding examples will be illustrated to reinforce concept and application. Page 4 Copyright 2004-2005 by Software Intelligence Corporation Page 5 Copyright 2004-2005 by Software Intelligence Corporation | proc print, proc step | source | 6 |
| 80 | Finding a Duplicate in a Haystack | Brett J. Peterson | Duplicate observations are unwanted in many data sets. Nevertheless, they have a way of popping up unexpectedly and interfering with DATA STEP merges and compromising data integrity. I present multiple methods to find and eliminate erroneous duplicates using SAS, including a macro. A proactive approach including a weekly production job that alerts clinical study team members of duplicates to be reconciled is also discussed. The examples shown use Base SAS and the SAS macro language, work for versions 8 and above, and may work for earlier versions. The programming presented is at a beginner's level except for the macro example |
proc step, proc freq, proc sort, clinical trial, sample, by group processing, macro definition, macro call | source | 10 |
| 81 | Fixed Effects Regression Methods in SAS | Paul D. Allison | Fixed effects regression methods are used to analyze longitudinal data with repeated measures on both independent and dependent variables. They have the attractive feature of controlling for all stable characteristics of the individuals, whether measured or not. This is accomplished by using only within-individual variation to estimate the regression coefficients. This paper surveys the wide variety of fixed effects methods and their implementation in SAS, specifically, linear models with PROC GLM, logistic regression models with PROC LOGISTIC, models for count data with PROC GENMOD, and survival models with PROC PHREG |
fixed effects, regression analysis, logistic regression, logistic distribution, likelihood function, predictor variable, binary variable, proc calis, poisson distribution, proc step, response variable, maximum likelihood estimation, proc phreg, conditional logistic regression, sample, poisson regression, proc logistic, proc mixed, binomial distribution, correlation, proc genmod, survival analysis, odds ratio, proc glm, treatment effect, degrees of freedom, negative binomial regression, hazard function, repeated measures, proc reg | source | 20 |
| 82 | Flying a Pilot BI Solution in a Virtualized UNIX Environment | Frank M. Bartucca | source | 13 | ||
| 83 | Fraud Detection - A Primer for SAS Programmers | Thomas J. Winn Jr. | Prevention of fraud and abuse has become a major concern of many organizations. The SAS System includes powerful tools for data management, data analysis, and reporting, which can be used in battling against fraud and abuse. This expository paper will describe some basic methods for detecting possibly fraudulent activities, using Base SAS software. Additional remarks will mention using other SAS software components for fraud detection | sas base, outlier, internal audit, proc hpsplit, data mining, neural network, data science, sas programmer, regression analysis | source | 6 |
| 84 | FREQ n' MEANS | Marge Scerbo, Michael S. Lajiness |
Procs FREQ and MEANS have been part of SAS for over 30 years and are probably some of the most used and loved procedures. They provide useful information directly and as input to other routines and procedures and are easy to use, so people run them daily without thinking much about them. These procedures can facilitate the construction of many useful statistics and data views that are not readily evident from the documentation. This paper will discuss different forms of the procedures and provide you with ideas on where they may be most useful in your organization and should expand your horizons with respect to these two procedures | proc step, proc freq, class variable, out=, numeric variable, proc format, dataset, label statement, exact test, binomial distribution, chi-square test, missing value, output, proc means, sample, by group processing, proc print, standard deviation | source | 19 |
| 85 | Getting in to the Picture (Format) | Andrew H. Karp | Although part of the SAS Format facility for well over two decades, PICTURE Formats are often not well understood, and consequently tend to be underutilized by even experienced SAS users. Yet, they provide a wealth of tools to effectively portray the values of numeric variables and often avoid the need for either tedious DATA STEP coding or to create new variables in your data sets. This tutorial describes how PICTURE Formats "work," how to write them in PROC FORMAT statements and how to apply them in both Data and Procedure Steps. By mastering the concepts and techniques shown in this paper you will be able to apply the power of PICTURE formats in your SAS programs and in so doing often complete your data management, reporting and analysis tasks faster and easier than resorting to other potentially more tedious and time-intensive methods in the SAS System |
proc step, proc format, numeric variable, credit card, proc print, proc report, datetime variable, format statement, data step, excel | source | 16 |
| 86 | Getting Something from Nothing: How to Produce a TABULATE Procedure Table with All Zeros | Marie Byrd Alexander, Sharon Avrunin-Becker |
The TABULATE procedure in SAS is frequently used to create appealing reports. However, there is currently no easy way in PROC TABULATE to produce a table showing all zeroes when the data set does not have any cases satisfying the WHERE statement. This paper demonstrates a technique that works around this limitation and enables you to produce the desired output whether or not any cases satisfy your filtering criteria |
proc tabulate, proc step, where statement | source | 6 |
| 87 | Getting Your Random Sample In PROC SQL | Richard Severino | PROC SQL can be used to get a random sample from a large dataset with relative ease. A more common method of getting a random sample from a large dataset requires using the DATA STEP along with some programming or using the SURVEYSELECT procedure which became available in SAS/STAT beginning with SAS Version 8 . It is relatively easy to get a simple random sample using only the SQL procedure |
sample, proc sql, proc step, where statement, order by, standard deviation, random sampling, sample size, proc freq, create table, data step | source | 14 |
| 88 | Gracefully Terminate a DATA Step If the Input Data File Is Not Available | Erik W. Tilanus | The standard method to read external data into a SAS data set consists of the following steps: - Allocate the data file using a FILENAME statement - Create a DATA STEP to read the data using INFILE and INPUT statements. The allocation creates a link between the SAS program and the data file. Normally SAS will access the data file during the compilation phase of the DATA STEP to determine the availability and the attributes of the file. If the data file is not available, the DATA STEP will fail during the compilation and you are left without control about what to do next. By using the FILEVAR option of the INFILE statement you can move the process of allocation from the compilation to the execution phase of the DATA STEP and regain control over what is happening with the input file. This allows for corrective actions in case that the input data file is not available |
dataset, sas log, macro variable, infile statement, compilation phase, error message, filename statement, input statement, execution phase | source | 4 |
| 89 | Graphical Analysis of Clandestine Methamphetamine Laboratories Utilizing PROC GMAP: A Visual Inventory of Activity across the United States | Wendy B. Dickinson, Anthony Onwuegbuzie, Constance Hines |
Nationally, a proliferation of clandestine methamphetamine laboratories (meth labs) has resulted from the growing popularity of the drug (Santos et al., 2005). The nature of this illicit process poses inherent dangers for the "cook", the first responders, bystanders including children, and the environment (Caldicott et al., 2005). By combining data from two sources, the National Clandestine Laboratory Database and the Drug Enforcement Agency (DEA) website, a visual inventory representing both frequency and location of illicit lab activity across the United States was developed. Within PROC GMAP, statement options of rotation, light source coordinates, plane assignments (x, y, and z), midpoint, and angle of tilt were written to produce effective visual displays of the United States with both surface map and prism map presentations. Secondly, algorithmic components of color, pattern, and scaling were modified to maximize information display. Lastly, for comparison of observed variables, composite graphical images were produced utilizing PROC GREPLAY |
proc step, proc gmap, data visualization, proc greplay, proc freq, sample | source | 12 |
| 90 | Graphing Laboratory Data and an Introduction to the Custom Macro %GRAPHME | Adrienne Groulx | We all know that a picture speaks volumes when it comes to relaying a message. This also holds true when one is graphically displaying clinical data. Producing a clear visual representation of laboratory results is the most important method of determining the existence of abnormal values, sampling errors, or other confounding factors within a data set. This paper discusses common mistakes that are made in clinical graphs, and gives guidelines for producing plots that can be clearly interpreted by any data reviewer. The SAS macro, %GRAPHME, which was created to identify possible sources of error and display the most efficient vertical scaling of the data of interest, will also be introduced. The macro utilizes both user-defined reference parameters, as well as data-driven reference points, and uses the GPLOT procedure to plot the data. The macro is intended for beginner to intermediate users |
laboratory data, time variable, missing value, sample, char. | source | 7 |
| 91 | Grid Computing with SAS - A Developer's Perspective | Greg J. McLean | Over the past few years there has been a great deal of discussion and hype over the concept of Grid Computing. It seems that many of us in the Information Technology field are now convinced of the major benefits: Ability to reduce overall processing time Ability to leverage existing hardware However, a big question still remains on a lot of people's minds. How does one actually proceed to implement such a strategy using SAS? Using various components of the SAS software, in particular SAS\CONNECT, we have the ability (and have had the ability for the past decade) to implement a Grid Computing solution with a somewhat simple amount of effort. Of course some changes will be required to existing SAS programs and/or data. This paper will focus on the concepts and ideas that the developer will need to address in order to successfully implement a Grid Computing strategy using SAS. A basic discussion of SAS\CONNECT will also be made | grid computing, macro variable, macro definition, cpu time | source | 10 |
| 92 | Hiding the Complexity: A Customized Application for Accessing Multidimensional Data | Phil Rhodes | The mission of the Office of Institutional Research and Testing (IRT) at Baylor University is to conduct research in order to provide information which supports institutional planning, policy information, and decision making. As part of that mission, IRT maintains several data warehouses with student, financial, and human resource data. Warehouse users access the data with a variety of tools, including a customized MDDB report viewer built using JavaServer Pages and the Java classes provided with webAF. This report viewer allows users to lay out reports, export the data to a spreadsheet, and save reports for later use. This paper will describe the design and building of the report viewer. Additionally, a separate application will be described that allows the users to pre-filter the data before viewing the report, thus hiding some of the complexity of the underlying data | data standard, where statement, access control | source | 7 |
| 93 | How Do I Look it Up If I Cannot Spell It: An Introduction to SAS Dictionary Tables | Peter W. Eberhardt, Ilene K. Brill |
SAS maintains a wealth of information about the active SAS session, including information on libraries, tables, files and system options; this information is contained in the Dictionary Tables. Understanding and using these tables will help you build interactive and dynamic applications. Unfortunately, Dictionary Tables are often considered an 'Advanced' topic to SAS programmers. This paper will help novice and intermediate SAS programmers get started with their mastery of the Dictionary tables. Ever needed a list of the tables (datasets) in a library? How about the columns (variables) in a table? Need to make sure you reset any titles after you run a report? Got some pesky warning messages in your SAS log you would like to clean up? Sure, you can look them up in the table and column properties in the explorer window. Or you can run a PROC CONTENTS and check the listing. And of course you can ignore the warnings and errors in the SAS log since they 'almost always appear' |
dictionary tables, proc sql, proc step, sas log, sas programmer | source | 11 |
| 94 | How to Grow a SAS Programmer | Joanna Koft | Where does a SAS Programmer come from?? Join me on the journey of how one SAS Programmer came to be from an administrative assistant position and how this was accomplished in the best way. This paper will discuss in detail 4 phases of moving into Statistical Programming. These phases are discovery, practice, transition, and development. The discovery phase includes how interest was sparked and information gathered. The practice phase will discuss the projects that were introduced as a way to gain more exposure to programming. The transition phase will focus on the actual transition into a statistical programming role as well as discuss the programming position that was created. And finally, the development phase will discuss the ongoing role of the statistical programmer and where it can go from here | statistical programmer, sas programming, sas programmer, clinical programming, macro definition | source | 3 |
| 95 | How to Think Through the SAS DATA Step | H. Ian Whitlock | You are relatively new to SAS and interested in writing SAS code. You have probably written DATA STEP code; some works, some doesn't, sometimes you know why, and sometimes you don't. If this describes you, then this talk is for you. You are a programmer, new to SAS. The DATA STEP language looks similar to PL1 and has some characteristics that look like languages you are familiar with. However, after learning the syntax your code feels awkward and you feel like you are fighting the system. The DATA STEP has been very well designed, but it is different, and it is worth learning how it works, if you want elegant code, this talk is for you. Even people who have been SAS programmers who have been working with SAS for years should find, an "Ah ha, so that's why", in this talk. SAS is Step Oriented Before looking at the DATA STEP in detail, it would be good to take an overall look at SAS. SAS is a step oriented language rather than a routine oriented language |
set statement, dataset, infile statement, input statement, sas programmer, character variable, filename statement, length statement, merge statement, _eof_, decimal, libname statement, missing value, by group processing, if-then-else, sas output, trailing @, put statement, array, formatted input, retain, proc step | source | 20 |
| 96 | How to Use SAS/IntrNet and Client-Side Functionality to Automate Your SAS Processing | James L. Ribble, William P. Bartoli |
This paper outlines a method of combining SAS/INTRNET tasks and client-side JavaScript functions to create an application that can automatically detect new data arrivals and spawn additional background tasks to process the data and create multiple types of output for both online viewing and distribution. The system provides for the establishment of task dependencies which allow entire SAS batch-processing streams to be triggered and managed automatically without the need for user intervention |
dataset, sas programming | source | 8 |
| 97 | Identifying an Event within a Sequence of Events | Marge Scerbo | There are analyses that require the identification of an event within a series of events. Where does one event fall in the sequence? This poster will step through a process that was used in the study of teen pregnancies. A study was undertaken to trend teen pregnancies over a period of several years. Additionally, the analysis determined if the use of contraceptives occurred before, after, or around the delivery. The poster will include DATA STEP code including RETAIN, FIRST.var and LAST.var |
by group processing, where statement | source | 6 |
| 98 | Implementing a Multiple Comparison Test for Proportions in a 2xc Crosstabulation in SAS | Alan C. Elliott, Joan S. Reisch |
This presentation illustrates a method for creating a multiple comparison test for proportions in a 2 x C cross tabulation or contingency table using the FREQ procedure and a SAS macro called compprop. This test is analogous to a Tukey-type multiple comparison test as used with one-way analysis of variance |
post hoc test, proc freq, null hypothesis, sample, sample size | source | 6 |
| 99 | Improve Database Transaction Processing Using MODIFY, the Most Under-Appreciated DATA Step File-Handling Statement | Curtis E. Mack | The MODIFY statement has been part of the SAS set of tools for years, yet it is rarely used. Good programmers have written very complicated code to accomplish that what be done very readily using this statement. It allows changing of a SAS dataset, in place, using a DATA STEP, without creating a new or replacement dataset. If used correctly, it is faster and more straight-forward than alternatives techniques using SQL. As a result it is indispensable when working in a relational database, be it implemented in SAS or another DBMS. This paper will discuss some of its syntax and uses, focusing on its use as a batch transaction processing tool. It will also detail some of the SAS Access components and options that can enhance its functionality against a non-SAS DBMS. An Introduction to MODIFY MODIFY is a file-handling statement like SET, MERGE, and UPDATE. These statements read input datasets into the DATA STEP data vector. Datasets are any data type members of a SAS library |
modify statement, dataset, by group processing, proc sql, set statement, unique key, foreign key, out=, key, temporary dataset, infile statement, constraint, key=, sysrc, reject records, update statement | source | 12 |
| 100 | Improve Your Dating: The INTNX Function Alignment Value SAMEDAY | Bruce F. Gilsen | date variable, sysdate9 | source | 2 | |
| 101 | Improving Your Graphics Using the SAS/GRAPH Annotate Facility | David R. Mink, David J. Pasta |
Have you ever created a graph with SAS/GRAPH and really liked it … except for one little thing? The Annotate facility in SAS/GRAPH allows you to enhance or change features of your plot or chart. This presentation introduces Annotate and provides practical examples to illustrate how to improve your graphs. You do not need to be an expert at SAS/GRAPH to use Annotate. Even though Annotate is an extremely powerful tool for creating entirely custom figures, with a few guidelines (and the Annotate macros) it can be easy to use for simpler tasks. In this presentation, we will explain the principles behind Annotate and give specific examples of some common uses: adding a label to a single point on a graph, re-labeling an axis, adding a custom box of text, and applying "white out" to unwanted text. You will learn basic building blocks of Annotate that can be applied to many different graph enhancement situations |
scatter plot, data step, macro call | source | 10 |
| 102 | Including All Variables in the Original Data Set If There Are Empty Fields | Wei Xu | Have you ever checked the number of observations in a data set prior to PROC REPORT step? If it is zero, you will output shell listings/tables with text indication "No observations" per shell listings/tables requests. This paper will describe a simple, straightforward way to return the number of observations in a data set or an empty data set with the words "No observations" in the specified variable using PROC SQL, and a small MACRO. The text "No observations" will appear for each display, rather than having empty outputs for the display after using PROC |
proc step, proc report, proc sql, macro variable, alter table, macro call | source | 2 |
| 103 | Incorporating PROC FORMAT, PROC REPORT, and ODS Style Definitions to Track Sources of Records with Poor Data | Thaer Baroud, John W. Senner, Paul W. Johnson |
Data quality is essential to proper planning, evaluation, and research in nearly all industries. This paper describes how PROC FORMAT and PROC REPORT can be employed to generate a color-coded report that visibly displays sources of data values outside acceptable ranges. Using birth certificate data collected and submitted by hospitals, this report examines multiple data fields against specified criteria and accordingly assigns different colors. By glancing at the report, the reader can quickly identify hospitals with reporting problems in several areas or if there is a particular item that is a problem for many hospitals |
proc step, proc report, proc means, output delivery system, excel, macro variable, dataset | source | 9 |
| 104 | Inline Formatting + Long Character Variables = "I Didn't Know You Could Do That with SAS"! | Derek P. Morgan | Version 8 of SAS expanded the maximum size of character variables, and this is a practical use of that capacity. When you combine this with a custom ODS template, in-line formatting, and the REPORT procedure, you can build a report that will look as if it came from a word processor |
character variable, proc report, proc step | source | 4 |
| 105 | Interactive Graphs from the SAS System | Shi-Tao Yeh | An in te ra ct iv e gr ap h is a dy na mi c gr ap h in te rf ac e th at al lo ws vi ew er s in te ra ct io n . Th e S A S Sy st em pr ov id es th e fo ll ow in g in te ra ct iv e fe at ur es : By an Ac ti ve X co nt ro l - ( po p - up da ta ti ps , dr il l - do wn li nk s , an d in te ra ct iv e me nu s ) By a Ja va ap pl et - ( po p - up da ta ti ps , dr il l - do wn li nk s , an d in te ra ct iv e me nu s ) By a Me ta vi ew ap pl et - ( da ta ti ps , dr il l - do wn li nk s , or so me in te ra ct iv it y su ch as zo om in g , pa nn in g , an d sl id e sh ow s ) By St at ic Im ag es - ( da ta ti ps , an d dr il l - do wn li nk s , or an im at io n ) By Gr ap hi ca l Te mp la te La ng ua ge ( G T L ) - ( da ta ti ps ) By O D S fe at ur es of bo ok ma rk s an d hy pe rl in ks . Th is pa pe r il lu st ra te s in te ra ct iv e gr ap h fe at ur es pr ov id ed by th e S A S Sy st em . Th e S A S ve rs io n 9 | neural network, correlation, data mining, sample | source | 10 |
| 106 | Intermediate and Advanced SAS Macros | Steven J. First, Katie Minten Ronk |
This hands-on workshop presents some intermediate-to-advanced macro topics such as macro referencing environments, macro interfaces (SYMGET, SYMPUT, EXECUTE, RESOLVE, PROC SQL), macro quoting, and macro functions. Good practices and alternatives to macros are also discussed. After a short lecture, attendees will perform hands-on exercises until the end of the session |
macro variable, data step, macro definition, proc step, macro facility, call execute, proc sql, proc print, sas log, symbol table, macro put, macro function, call symput, %if-%then-%else | source | 16 |
| 107 | Introducing the GLMSELECT Procedure for Model Selection | Robert A. Cohen | This paper describes the GLMSELECT procedure, a new procedure in SAS/ST A T software that performs model selection in the framework of general linear models. This procedure supports a variety of model selection methods, including the LASSO method of Tibshirani (1996) and the related LAR method of Efron et al. (2004). The procedure enables selection from a very large number of effects (tens of thousands) and offers extensive capabilities for customizing the selection with a wide variety of selection and stopping criteria |
data cleaning, proc glmselect, proc step, significance level, feature selection, main effect, forward selection, stepwise selection, anova, regression analysis, proc reg | source | 18 |
| 108 | Introduction to SAS Enterprise Guide 4.1 for Statistical Analysis | Charles B. Hallahan, Linda P. Atkinson |
The workshop begins with a tour through Enterprise Guide (EG) as a menu-based interface to SAS procedures. Emphasis in this workshop will be on the statistical capabilities of EG. A set of data, put together using features of the query builder task, serves as a case study for a statistical analysis. The workshop will show how code that's generated by SAS Enterprise Guide can be customized, stored, and re-run, and custom reports saved with Report Controls Integration | sas enterprise guide, time series analysis, regression analysis, dataset, line chart, data science, binary variable, predictor variable, autocorrelation, correlation, proc reg, excel, proc step, proc autoreg | source | 22 |
| 109 | Investigating Open Source Project Success - A Data Mining Approach to Model Formulation, Testing and Validation | Uzma Raja, Marietta J. Tretter |
This paper demonstrates the use of Data Mining (DM) techniques in exploratory research. A robust model for identifying the factors that explain the success of Open Source Software (OSS) projects is created, validated and tested. The predictive modeling techniques of Logis tic Regression (LR), Decision Trees (DT) and Neural Networks (NN) are used together in this analysis. Using Text Mining results in the predictive modeling process strengthens the model. SAS Enterprise Miner and SAS Text Miner are used in this research | data mining, data cleaning, regression analysis, missing value, interaction effect, sample, proc means, response variable, validation set | source | 7 |
| 110 | Just Skip It | Helen D. Carey | When developing SAS programs, we sometimes (or often) want to either submit only a portion of the code or skip some of the code. This paper explains how to do both and offers tips and techniques to make the coding easier to do and easier to identify | comment statement, macro variable, macro definition, proc step | source | 8 |
| 111 | Just Skip It | Helen D. Carey | When developing SAS programs, we sometimes (or often) want to either submit only a portion of the code or skip some of the code. This paper explains how to do both and offers tips and techniques to make the coding easier to do and easier to identify | comment statement, macro variable, macro definition, proc step | source | 8 |
| 112 | Let the ODS PRINTER Statement Take Your Output into the Twenty-First Century | Scott Huntley | Since its debut in SAS 8.2, the ODS PRINTER statement has steadily become more versatile, more flexible, and more robust. Working closely with Technical Suppor t and the balloting system, we have added new items in response to our users' needs. Inline formatting, tabl e-of-contents handling, and Unicode support are some of the many new enhancements available to users of SAS 9.2. With all the new changes, ODS PRINTER will take your output into the twenty-first century and beyond |
proc print, title statement | source | 10 |
| 113 | List Processing - Make Light Work of List Processing in SAS | Peter Crawford | In the world of extensive metadata, list processing prevails. A small ut ility macro has improved applications development (source and maintenance) where they handle lists. This paper demonstrates techniques. Over a period of 4 years, this macro has been refined into a robust and reliable facility that enables applications to delegate most list processing and leave cleaner, clearer code that will be cheaper to build and maintain | macro definition, sas base | source | 6 |
| 114 | Literally Minded - The Use of SAS Literals and Why They Are Still Relevant! | Stanley E. Fogleman | Many people are unaware that there are SAS literals that can be used to store dates, hexadecimals and even SAS variable names directly instead of going through time-consuming and error-prone conversion steps | sysdate9, sas enterprise guide, excel | source | 4 |
| 115 | Litigation Data Analysis/Auditing/ETL for BI: Triplets Separated at Birth | Nicholson E. Warman | This paper shows how the steps in Litigation Data Analysis (hereafter Litigation Analysis), Auditing and Extract- Transform-Load for Business Intelligence (ETL for BI, or data warehousing for business data analysis) are inherently similar; it is just the emphasis and time spent on each step that varies, based on the participant's goal. This is due to the commonality of the underlying principles of "Truth," Reproducibility and Time-Invariance (also seen as Time- Invariant). If the process is flawed, or if the data or processes are "out of sync," one with the other, then any subsequent decision based on that data or process is without merit. The paper will also cover the issue of time series data, and some of the problems it poses for each function | data warehouse, time series analysis, business intelligence, data science, normal distribution, standard deviation, dimension table, proc freq, raw data | source | 15 |
| 116 | Load Balancing and Offloading Static Web Content for SAS9 Web Applications with Apache and BEA WebLogic | Justin Choy, Ken Matz, Darrell Barton |
The Web tier is a critical component of the SAS BI (Bus iness Intelligence) Server architecture. In essence, the Web tier is the layer that helps to provide traffic-flow control for the many users in a production implementation when they request Web applications through a Web browser. As the number of Web users increases in a production implementation of SAS BI Server, any and all gains in incremental performance for a Web request are extremely helpful in maximizing performance in the overall environment for the users. One example of this is serving static content from a HTTP server instead of through the Web applicat ion server to save time. In terms of serving a large number of users, it is also critical that there isn't a single point of failure for all these users | sample, business intelligence | source | 22 |
| 117 | Make the Invisible Visible: A Case Study of Importing Multiple Worksheet Files By Using the SAS9 LIBNAME Engine in Microsoft Excel | Zizhong (James) Fan | When you need to import d ata from Micros oft EXCEL into SAS, there are vario us met hods available. For example, you can use the IMPORT Wizard, PROC IMP ORT, ODBC, PROC DBLOAD, PROC AC CESS, PROC SQL, and the most p owerful, flexibl e, and com plex too l - DDE (Dynamic D ata Exch ange). W hen multiple worksheets ne ed to be importe d, it adds more complexity to the alread y p ainful job. One of the tedious things SAS programmers have to do is to specif y the different sheet names by hard coding, so that the sheet nam es are visib le to the SAS sy stem. Unfortunatel y, in most of the multi-sh eet situatio ns, the number of worksheets and sheet names happen to b e different. And, so metimes the s heet names are too messy to be usable (e.g. sheet names containing quotation marks) |
excel, proc step, proc import, libname engine, sample, dataset, proc sql, macro loop | source | 7 |
| 118 | Making Presentations More Fun with the DATA Step Graphics Interface (DSGI) | Hui-Ping Chen | Microsoft PowerPoint is powerful and most popular software for presentation. However, it is more convenient to present your analyzed data from SAS Output Window or Result Viewer Window directly when you have already populated all information by SAS. The advantages of showing the results from SAS directly are 1) reducing mistakes when manually copy or re-type the results into another software, such as PowerPoint; 2) it is easy to re-fresh the results when the data is updated. So, you can use GSLIDE procedure or DSGI DATA STEP to create slides or graphs for the presentation based on the results you get from previous procedures (PROC). However, it is more efficient, more fun, and much easier to create slides with DSGI, especially to create drill-down graphs |
proc step, proc gplot | source | 6 |
| 119 | Making Your Own Balanced Scorecard Using the SAS Information Delivery Portal | Paul Smeekens, Erwin van Dongen |
In 2004, OZ zorgverzekeringen migrated its existing Web applications and SAS Information Delivery Portal to the new architecture of SAS version 9 using a central SAS Metadata Server. With this move, all information flows were centralized in the SAS portal. Still, the amount of information made it difficult to get a quick look into the performance of the organization as a whole. In 2005, OZ zorgverzekeringen combined several pieces of information into a balanced scorecard. The Balanced Scorecard has been made by using just AppDev Studio and SAS/BASE. The scorecard is published within the existing SAS-portal. Now, on the level of the entire organization as well as per department, figures are being published on the financial, internal business processes, customer, and learning and growth perspectives of the company. The balanced scorecard is giving management at OZ improved insight into how the organization is doing |
proc sql, dataset | source | 10 |
| 120 | Managing Content in Your SAS Business Intelligence Environment | Gregory A. Smith, Diane Hatcher |
With the release of the SAS BI Server in 2003, SAS provided a suite of tools that made the power of SAS available to everyone in an organization. As more organizations deploy these tools, questions are being asked about managing the content that's generated with these tools in a dynamic environment. How can we move a report from the test environment to the production environment? How c an we turn an ad-hoc report into a batch report? How can I ensure that my report gets to the right people? This paper attempts to answer these questions by describing which tools and techniques are available for dealing with dist ribution, automation, promotion, security, and archiving reports in the SAS BI environment | sas management console, sas enterprise guide, business intelligence, spk file | source | 10 |
| 121 | MDIRT-FIT: SAS Macros for Fitting Multidimensional Item Response | Sung-Hyuck Lee | Even though unidimensional item response theory (IRT) provides a better framework for practical test settings than classical test theory (CTT), theoretical and empirical evidence shows that most response data violate the assumption of unidimensionality. There are several computer programs dedicated to estimating parameters based on the multidimensional perspective (MIRT). However, their accessibility is still costly, and they are not easy to use. In this paper, we present a SAS macro called MDIRT-FIT, to increase accessibility to the benefits obtained from this recent measurement theory development. The program is developed to estimate parameters based on a compensatory multidimensional item response theory (MIRT) model for dichotomous data. The full information item factor analysis model with an EM algorithm suggested in Bock & Aitken (1988) is implemented in the SAS programs | factor analysis, likelihood function, maximum likelihood estimation, macro definition, correlation, standard deviation, proc calis, uniform distribution, factor loading, posterior probability | source | 9 |
| 122 | Measure the Performance of Your SAS/IntrNet Applications | Michael A. Raithel | macro variable, dataset, macro definition, elapsed time, production run, proc freq | source | 19 | |
| 123 | METAPERM2: A SAS Macro for Permutation Tests of Linear Models in Fixed and Random Effects Meta-Analyses | Jeffrey D. Kromrey, Kristine Y. Hogarty |
With the growing popularity of meta-analytic techniques to analyze and synthesize results across sets of empirical studies, has come concern about the sensitivity of traditional te sts in meta-analysis to violations of assumptions. Such violations are particularly distressing becaus e the tenability of such assumptions in primary studies is often impossible to evaluate. Permutation tests for linear mo dels may provide a robust alternative to more traditional tests. A variety of permutation strategies for linear models have been proposed in the literature, and recent research (Kromrey & Hogarty, 2002; Hogarty & Kromrey, 2003) suggests that such approa ches provide superior Type I error control when assumptions of normality and homogeneity of variance are violated | effect size, sample, regression analysis, permutation test, correlation, partial correlation, sample size, type i error, type i error control, null hypothesis, dataset, proc mixed, permutation, proc calis, fixed effects | source | 10 |
| 124 | MISSING! - Understanding and Making the Most of Missing Data | Suzanne M. Humphreys | Missing values can have a surprising impact on the way that data is dealt with. They can be represented and referenced by SAS in a number of ways, there are various functions linked to missing values and procedures will have specific ways of handling them too. It can be a bit of a minefield but hopefully this paper will show some useful ways of dealing with missing data and how by using certain techniques you can turn this to your advantage. Topics will include the MISSING function, the NMISS function, special missing characters, different ways to identify missing data and MERGE vs UPDATE. The focus will be missing data in SAS data sets, rather than reading in raw data including missing values. Intended audience - beginner to intermediate, not limited to any particular operating system, based on SAS 8.2. KEYWORDS: MISSING, NMISS, MERGE, UPDATE, MODIFY, survey data, questionnaire data, special missing characters | missing value, missing function, character variable, proc sort, dataset, numeric variable, master data management, proc step | source | 9 |
| 125 | Modeling Water Quality Trend in Long Term Time Series | Anpalaki J. Ragavan, George C. J. Fernandez |
Water quality variables change continually through time, arise from dynamic processes and consist of random error components with stochastic variations in space and time that cannot be modeled or explained by normal analytical procedures. Water quality time series with long-term trend, when recorded by any consistent time interval, will display some measure of auto-correlation. This is expected to affect the p-values derived from autoregressive and/or the moving average time series model parameters. Parametric seasonally adjusted ARIMA model was successfully applied to predict the long-term trend of water quality of a randomly selected river using the SAS/ETS software. The EXPAND procedure in SAS was used to adjust the data for missing values. The PROC ARIMA in SAS was used to correct the data for non- stationarity, and to identify model orders, and the type of seasonal and non-seasonal differencing required. Data were seasonality adjusted through seasonal differencing |
time series analysis, proc step, proc model, missing value, proc arima, unit root, moving average, acf plot, estimate, standard deviation, residual analysis, correlation, proc freq, histogram, outlier, proc ucm | source | 10 |
| 126 | Modular Programming using SAS/AF and SAS SCL | Kevin Graham | Build modular SAS Frame applications using advanced programming techniques and features available in SAS SCL. Easily separate critical logic and business rules from your code base without creating tangled source code. Isolate and integrate decision-logic from task-logic without separating your brain from your sanity | data validation rules, macro definition, dataset | source | 8 |
| 127 | Moving from Programmer to Statistician - A Statistical Mentoring Program | Emily Anne James | Programmers and Statisticians typically interact on a daily basis, thus making the relationship between the two fundamental to a successful project. Did you ever wonder what it would be like to be in the shoes of a Statistician? I'm sure most of us programmers have wondered what it would be like but how many actually have the desire to try it out? This paper will tell the story of a Programmer's experience working as a statistician | adam dataset, csr, clinical trial | source | 3 |
| 128 | Moving SAS Solutions to a Production IT Environment | Mike Miller, David Simpson |
The SAS System provides a robust, flexible set of tools that allow the user to quickly develop a broad range of analytical solutions, whether they are multi-dimensional reporting, statistical models or ad hoc analyses. Innovation is a direct result of this capability, with many of these solutions becoming indispensable to running the business unit and regular updates being requested by management. When the analytic solution moves from a one-time solution to a recurring information process, it presents a unique set of challenges for both the business and IT units. At Ermas Consulting, we've found a number of organizations struggling with the challenge of putting analytic solutions in a production environment. IT is often engaged to provide the production support and ongoing maintenance of the analytic solution. IT is viewed as being the best equipped to manage this type of work | data mart, sas enterprise guide, in=, macro variable, time series analysis, macro loop, %if-%then-%else, excel, macro definition | source | 10 |
| 129 | Multi-Media Wizardry - How to Make ODS Outputs That "Dance and Sing" | LeRoy Bessler | Augmenting simple, static, passive output should not dilute, obstruct, or distract from the message in and the meaning of your data. Some animation can be used to provide an essential data presentation function, rather than decoration or amusement. Audio can be a useful, extra, concurrent communication channel. And there are other multi-media options. For web pages, this paper shows you how to add audio (including background audio, which does not require launch of a media player on all or part of your screen), video, animation, a marquee ("traveling text", which is what you sometimes see at the bottom of a television news broadcast), and custom-sized images. For PDF documents, this paper shows you how to: include pop-up text (possibly data- dependent); create hyperlinks (possibly data-dependent) to audio clips, video clips, and animated graphics outside your PDF document; and imbed and re-size images | proc step, bar chart, proc print, proc template | source | 10 |
| 130 | My Enterprise Guide | David Shannon | Following on from My Computer and My Documents, users of SAS can now also have My Enterprise Guide! The aim of this paper is to present the methods of creating your own add-ins for SAS Enterprise Guide providing users with rapid exploitation of the power of SAS through a desktop interface. This paper discusses the advantages of using Enterprise Guide as a platform to deliver to users the ability to achieve your complex business specific tasks. Additionally the paper highlights the full power of the Microsoft Windows environment that is available, in addition to the full power of SAS. A practical overview is then presented of the steps involved in developing, debugging and deploying Enterprise Guide add-ins with Visual Studio .NET. The demonstration builds an add-in providing customised reporting of subject demographics | sas enterprise guide, sysrc | source | 8 |
| 131 | Now - That's Your Style!!!!! | Chevell T. Parker | This paper discusses how to use styles to enhance output or to overcome problems that are frequently encountered using the Output Delivery System (ODS). Solutions to these problems involve methods that use styles and TAGSETS in the TEMPLATE procedure, cascading style sheets (CSS), scripting, the Extensible Stylesheet Language (XSL), and more. Other topics that are addressed include handling page breaks in HTML; preventing truncated printed HTML output; adding headers, footers, page margins, and repeating headers; printing in landscape with the ODS HTML destination; and fine-tuning your printed HTML |
output delivery system, proc template, proc step, excel | source | 24 |
| 132 | ODS LAYOUT is Like an Onion | Rich Mays | ODS LAYOUT is like an onion. They both make you cry? No! They both have layers! In version 9.1, the ODS LAYOUT feature is one of the best inventions since the Carmel Frappuccino. SAS now gives you a straightforward approach to placing graphs and tables on a page while eliminating the need for PROC GREPLAY and TEMPLATES. This paper demonstrates a method of using ODS LAYOUT capabilities to create PDF documents by creating a series of page "layers." It also demonstrates the use of macros to enhance the capabilities of ODS LAYOUT. A macro controlled system to determine available space on a page, and the subsequent placement of graphs/tables will be discussed. A good understanding of how to use macros is essential to understanding this paper. An understanding of ODS LAYOUT and PROC GREPLAY is helpful but not necessary. This paper will include actual code and examples |
proc greplay, proc step, ods pdf, output delivery system | source | 9 |
| 133 | ODS Statistical Graphics for Clinical Research | Wei Cheng | Graphical representations to illustrate the effects and safety of treatments are often more easily understood and remembered than tabular forms. Statistical graphics play an important role in clinical research. Beginning with SAS9, a number of SAS/STAT procedures can use the Output Delivery System (ODS) to create statistical graphics automatically. You can use the ODS Graphics Template Language (GTL) to generate statistical graphics of your own layout design. This new facility which is referred to as ODS Statistical Graphics greatly enhances the ability to produce statistical graphs for clinical research. This paper describes how to create commonly used statistical graphs for clinical research using ODS Statistical Graphics: Create statistical graphs from SAS procedures; Customize statistical graphs using ODS templates and ODS styles; * Create statistical graphs using ODS Graphics Template Language |
clinical research, proc sgplot, proc step, data visualization, ancova, survival function, proc means, box plot, log-rank test, proc template, rank test, proc reg, scatter plot, anova, regression analysis, covariance, proc ttest | source | 10 |
| 134 | Offer Assignment with SAS Marketing Optimization | Manoj Chari | numeric functions, data mining | source | 18 | |
| 135 | PDF Can Be Pretty Darn Fancy - Advanced ODS Options for PDF Output | Peter J. Lund | We're not too far removed from the days when presentation-ready SAS output meant lots of cutting and pasting or retyping. Now, the ODS PDF destination enables you to produce high quality output the first time, without other tools or applications. This paper explores a number of ODS options in general and, more specifically, their use in creating PDF output. We will cover ODS ESCAPECHAR, which allows for inline formatting of titles, footnotes and other text; ODS LAYOUT, which lets you place output wherever you want it on the page - even output from more than one procedure; inline formatting in PROC REPORT; overlaying output from SAS/GRAPH procedures on top of other output and more. We'll work from real life examples and see how you can produce output that looks like it took hours to create |
proc step, proc report, ods pdf, footnote statement, proc print, proc tabulate, output delivery system, proc sql | source | 19 |
| 136 | Perestroika: Restructuring Data for Flexibility | Mikhail Gruzdev, Blake R. Sanders |
PROC TABULATE is a wonderful tool. It allows us to display data by cross tabulating one or more category values against other category variables. However, because of its efficiency, the result is lacking for those that need to import the result into a spreadsheet or database. By manipulating the data, we can produce a result that is flexible and has all of the elements needed in a data processing environment |
proc tabulate, proc step, macro loop, macro variable, macro definition | source | 6 |
| 137 | Performing Latent Class Analysis Using the CATMOD Procedure | David M. Thompson | Latent class analysis (LCA), which is currently unavailable in SAS, has attracted the interest of clinical professionals and others who must place clients in diagnostic or other categories when a gold standard for doing so is poorly defined. This paper demonstrates a SAS approach to performing LCA by combining PROC CATMOD's loglinear modeling facility with conventional DATA steps. LCA, a categorical analog to factor analysis, posits membership among unobserved classes to explain the pattern of association observed in a multi-dimensional contingency table. The SAS macro estimates two types of parameters: (1) the prevalence of each latent class and (2) the probabilities, conditional on class membership, that an individual demonstrates a specific response to an observed variable. The program arrives at estimates using a classic expectation-maximization algorithm |
proc step, likelihood function, numeric functions, estimate, proc calis, factor analysis, proc freq, latent variable | source | 8 |
| 138 | Predicting Child Support Payment Delinquency Using SAS Enterprise Miner 5.1 | Jodi Blomberg, Jacqueline K. Long |
To ensure the health and welfare of children and to reduce welfare costs, child support agencies around the country are tasked with successfully collecting child support payments fo r the children in their respective states. This paper describes two case studies that illustrate how a dat a mining approach has helped agencies collect more support payments and use their collection resources more effectively. Using data mining to identify payers who are likely to become delinquent helps child support agencies build effectiv e intervention strategies for collecting payments. Predictive modeling is also used to determine which interventi on strategies are effective for various types of payers. Sequence analysis and binary response modeling are emphasized in this approach, using SAS Enterprise Miner 5.1 as the modeling environment | response variable, data mining, proc hpsplit, predictor variable, sample, regression analysis, unsupervised learning, class variable, model deployment | source | 12 |
| 139 | Pretty Dates All in a Row | Dianne Louise Rhodes | sysdate9, macro variable, sas function, call symput, datepart, macro function | source | 6 | |
| 140 | Problems Commonly Associated with Forest Plots Addressed Using High Resolution Graphics in SAS | Gary A. Foster, Charles H. Goldsmith |
Forest plots are frequently used to display the results of meta-analyses and have been published in the medical literature since 1988 (Lewis & Clarke, 2001). A review of forest plots reveals that the format chosen can affect the accuracy with which the information is conveyed to the reader. One formatting convention is the use of symbol areas to reflect the relative contributions, or weights, of the studies included in the analysis. Typically a study with a larger weight is represented by a symbol with a proportionately larger area. The use of symbol areas to convey study weights is not optimal for a number of reasons. First, it is difficult for viewers to accurately decode symbol areas to enable a visual comparison of study weights. Second, as symbol areas increase in size they can obscure other information on the plot. Third, if a logarithmic scale is used, studies with equal weights should, but often do not, have symbols with the same physical dimensions. This issue becomes more apparent as the difference in effect sizes increases. The macro used to generate the figures in this paper provides SAS software users with an easy to use program to produce high-resolution forest plots. It will generate forest plots where symbol widths represent study weights, but it will also generate traditional forest plots where symbol areas represent study weights. Regardless of the symbol format or type of scale being used, symbols representing studies of equal weight will have the same dimension anywhere on the plot | forest plot, macro variable, confidence interval, effect size, box plot, proc step | source | 8 |
| 141 | PROC FORMAT - An Analyst's Buddy | Benjamin A. Kupronis | PROC FORMAT provides essential tools for simplified coding and program efficiency that are often overlooked by novice users. This paper presents basic formatting techniques using the VALUE statement and useful permanent formats. More advanced techniques are presented such as the utility of picture formats and conversion of databases to formats. All these tips avoid re-coding data in the DATA STEP and create catalogs, which can streamline workflow |
proc format, proc step | source | 7 |
| 142 | PROC REPORT - Doing It with STYLE! | Ray Pass, Sandy McNeill |
The advent of the SAS Output Deliver y System (ODS to its friends) has turn ed SAS reports from machine-generated, black & white monospace bores into people-pr oduced, productive and reader-friendly information displays. One of the m ain principles underlying ODS is the use of Table and Sty le d efinitions (also known as Table and Sty le templates). Most procedures hav e a standard output la yout structure and rely on their Table and S tyle definitions to gov ern the cosmetic or stylistic appearance of th eir tables. Cert ain procedures (REPORT, TABULATE, etc), however, by the very nature of their complete structural customizability, do not rely on fixed external table definitions. For these procedures, stylistic customizations are performed through the use of the STYLE option, an ODS concept which is integrated into the heart of the procedures' syntax. This presentation will demonstrate the use of STYLEs in the REPORT procedure |
proc report, proc step, ods html, cpu time, user-defined format | source | 15 |
| 143 | PROC SQL: A Powerful Tool to Improve Your Data Quality | Keh-Dong Shiang | The Structured Query Language (SQL) is a standardized query language that can be efficiently used to retrieve and update data stored in relational databases. However, SQL's WHERE-clause row-selection feature can be interestingly utilized for data validation and error checks. In this paper, I will present a method of designing a highly structured validation program, which is applied to implement a data quality assurance procedure for collecting clean clinical data in the Diabetes department at City of Hope National Medical Center. With both SAS macros and SQL procedures used, the results will demonstrate the following benefits: easy database maintenance with no hard-coded checks, transparency of sophisticated error-check edits to the users, effectively-geared with nested structures, easy- to-understand reporting system, and considerable reduction of the total programming time required | data cleaning, proc sql, data validation rules, where statement, proc step, sample, error message, quality assurance, excel, missing value, adverse events, clinical data, dataset, numeric variable | source | 10 |
| 144 | PROC TEMPLATE - The Basics | Lauren E. Haworth | So you haven't gotten around to reading the entire PROC TEMPLATE chapter in Online Doc? The TEMPLATE procedure is incredibly powerful, but it's also incredibly complex, and this chapter of the documentation is not an easy read. If you don't have time to learn everything, but you want to be able to make basic changes to the appearance of your output, this is the workshop for you. We'll start out with a few syntax basics, and then focus on a number of shortcuts that will make customizing the style of your output quick and easy. Topics include viewing the source code for an Output Delivery System style, a point-and-click approach to modifying styles, and plenty of sample code snippets to use in your own programs. In no time you'll be impressing your boss and coworkers with beautiful reports. The presentation will include easy-to-use techniques for enhancing HTML, RTF, and PDF output |
proc template, proc step, output delivery system, sample, ods html, ods pdf, ods rtf | source | 20 |
| 145 | Processing Large Environmental Data Sets with SAS: Writing Robust and Dynamic SAS Macro Code | Peter Mooney, Conor McDonagh, Adam C. Winstanley |
We discuss the application of SAS to a number of environmental datasets. Usually reports, graphical visualizations, summary statistics, and subset or aggregate datasets must be generated from one or more of these datasets. A library of SAS macros was developed while building a reporting system for several large and complex environmental datasets. This paper discusses a number of SAS code segments from these macros that may be easily extended to other similar projects. The intended audience is the SAS macro programmer and concentrates on several key areas: * Using the DATASTEP to generate CSV and XML file output corresponding to data used by GPLOT and |
proc step, proc univariate, dataset, call execute, macro definition, data science, proc sql, proc gplot, ods xml, macro variable, confidence interval | source | 7 |
| 146 | Producing Summary Tables in SAS Enterprise Guide | Lora D. Delwiche, Susan J. Slaughter |
This paper shows, step-by-step, how to use the Summary Tables task in Enterprise Guide to produce polished reports. Summary Tables is based on the TABLULATE procedure, but you don't need to know how to use PROC TABULATE or even how to write SAS programs to use this feature. Whether you are a seasoned SAS programmer or new to SAS, Summary Tables can make creating summary reports easier. This paper is similar to paper 113-31, but uses different examples. You may want to compare the two papers |
sas enterprise guide, proc tabulate, proc step | source | 10 |
| 147 | Programming with the KEEP, RENAME, and DROP Data Set Options | Stephen R. Philp | One of the more frustrating things for a new user learning SAS can be the multitude of ways of accomplishing the same thing, each with its own subtleties. The topic of dropping, keeping and renaming variables in data sets is no exception. Using a DATA STEP, there are two ways of manipulating variables for keeping, dropping, or renaming: DATA STEP statements and data set options. First we will review the basic workings of the DATA STEP, which will help you understand how each approach differs, which will then help you to create more efficient code and avoid some potentially costly mistakes |
keep statement, rename statement, data step, drop statement, proc step, proc sort, proc sql | source | 13 |
| 148 | Project Duplication: Eradication Techniques | Monal Kohli | The performance of any statistical model depends largely on clean and reliable set of input data.Duplication of data is a very common problem in everyday working scenario and can lead to ambiguous results and incorrect predictions .There are straightforward techniques from SAS which help eradicate duplication quickly.But at times, it gets very risky to delete data without actually looking at it. This paper talks in detail about the various techniques which help in identifying duplicates and removing them efficiently. The techniques I will be talking about are NODUPKEY option, NODUPRECS option, By Group processing and hash tables | by group processing, hash table, out=, proc sort, proc step | source | 9 |
| 149 | Quality of the ICT Service at KBC Group | Albert Jacobs | We use SAS IT Management Solutions at KBC with SAS IT Resource Management for processing many ICT loggings from different computing platforms. Two ye ars ago we changed our outflow and reporting enviro nment dramatically. We use SAS/INTRNET as the main engine to disclose all those informati on more or less locked-up in the Systems Data Warehouse and call it RapITWeb. The development process passed three stages: first a collection of static web reporting was expanded, then dynamic web reports were introduced and finally dashboards were created. Dashboards give us the ability to dri ll up and down in the information (bottom-up and top-down app roach). The first part of this paper gives a short overview of the setup of a dynamic SAS/INTRNET environment, starting from the needs of technical ICT people for an ICT qualit y improvement project. The purpose of this project was to follow up and optimize heavy transactions that consume a m ajor part of the available system resources |
proc step, macro definition, proc report, proc tabulate, quality of service, macro loop, proc sql, %if-%then-%else, excel | source | 10 |
| 150 | Question: How Do I Find Out What That _TYPE_ Value Is from My MEANS Procedure? Answer: The FINDTYPE Macro! | Daniel E. Bruns | Have you ever been really confused by the _TYPE_ variable with PROC MEANS or PROC SUMMARY? Have you ever had trouble determining the values of _TYPE_? The FINDTYPE macro is your answer! Accepts variable names as parameters and returns the corresponding _TYPE_ value. A tip worth ten minutes of your valuable conference time! |
macro variable, macro loop, macro function, %if-%then-%else, macro definition, proc step, end, macro flow control | source | 4 |
| 151 | Reading Between the Lines: Distinguishing Macro Code from Open Code in Macros | Michael J. Molter | Have you ever been confused by the sight of bad "SAS grammar" such as statements that read %IF &X=A %THEN IF X=A… ? Have you ever puzzled over how to iteratively generate DATA STEP DO loops or parts of them? Ever wonder why macros sometimes contain consecutive semicolons? If so, you are not alone. The macro facility enables us to generate open code that varies with circumstances, but of course the directions for code generation must be conveyed through more code. Inevitably, we find ourselves having to mix open code with macro code. Add to this the fact that macro code contains statements, keywords, and syntax that resemble their DATA STEP counterparts, and we begin to see the difficulties programmers experience with reading and writing macros. This paper attempts to clear up all the confusion by illustrating exactly what parts of a macro accept open code |
macro variable, macro definition, do loop, output, macro facility, macro loop, macro call, macro parameter, &variable, macro quoting function, if-then-else, macro function, proc step, %if-%then-%else | source | 16 |
| 152 | Reading Compressed Text Files Using SAS Software | Jaime L. Llano | External raw data files continuously needed at work are every day more and greater. Normally, those files come to you in any of the more popular compressed formats like zip, 7zip, gzip and rar. A common practice is to previously decompress files and next, read them with SAS. Taking advantage of the PIPE device of the FILENAME statement and the aid of some tools free to use, you can directly read compressed data without extracting them first. This paper shows different ways to read compressed data, considering several formats and software tools used to produce archives. Open code software will be used to access compressed data as well as a special dynamic library of the SAS Software. All the SAS code used here has been tested with Windows XP SP2 and SAS 8.2. A special skill level from the reader is not required |
sas log, cpu time, txt, filename statement | source | 10 |
| 153 | Reading Microsoft Word XML Files with SAS | Larry Hoyle | In 2005 Microsoft announced that the new default format for documents created in Microsoft Office will be XML-based. The ability of SAS to read XML offers a convenient method for extracting structured information from Microsoft Word documents. This paper examines three scenarios where information from a Word document is read into SAS datasets: extracting text along with associated properties (styles and attributes), extracting all data from tables, and extracting coordinates of objects in drawings | sample, dataset, libname engine, data cleaning, excel | source | 10 |
| 154 | Real Time: What Is It? What Are We Doing about It? | Richard H. Phillips, Gregory S. Barnes Nelson |
Real-time computing is the term used to describe systems which are subject to constraints in time. Typical data warehousing processes are, more often than not, batch processes that are allowed as much time as needed to perform the required transformations and loading processes. Business Intelligence (BI) applications, typically built on top of data warehousing systems, demand exceptional performance by the user and people work hard to optimize for performance, yet performance problems rarely incur any serious penalty as BI applications tend to surface strategic information about the company - not the kind of information that drives the company today. This is contrary to what we believe can be achieved. SAS Software is applied in many contexts and different scenarios. Common uses include as the driver for an ETL process (to a data warehouse/mart/hut/superstore) and as a just-in-time reporting tool | business intelligence, data integration, operational data store, sas programmer, data warehouse, data governance, sas 9, batch processing, sas log, data validation rules, proc sql | source | 14 |
| 155 | Really 'Cool' Graphics with SAS/GRAPH - Plotting and Embedding Likert Scales in Your Reports | Richard M. Mitchell | The use of Likert scales can be a very effective approach in reporting one's data. While this type of scale is commonly used across a wide-range of professions to show where a given measure fits within a predefined scale, references on how to generate this as a high-quality professional looking graphic in SAS are rare at best. This paper will discus s an approach to generating Likert scale graphics that is unique, yet basic. By utilizing PROC GPLOT within SAS/GRAPH along with a few nifty ODS features, a SAS programmer can easily plot and embed his or her own Likert scales into reports. Users of this approach will undoubtedly get a "Wow, those are really cool graphics!" reaction from their coworkers |
sas programmer, ods html | source | 10 |
| 156 | Receiver Operating Characteristic (ROC) Curves | Mithat Gonen | Assessment of predictive accuracy is a critical aspect of evaluating and comparing models, algorithms or technologies that produce the predictions. In the field of medical diagnosis, receiver operating characteristic (ROC) curves have become the standard tool for this purpose and its use is becoming increasingly common in other fields such as finance, atmospheric science and machine learning. There are surprisingly few built-in options in SAS for ROC curves, but several procedures in SAS/STAT can be tailored with little effort to produce a wide variety of ROC analyses. This talk will focus on the use of SAS/STAT procedures FREQ, LOGISTIC, MIXED and NLMIXED to perform ROC analyses, including estimation of sensitivity and specificity, estimation of an ROC curve and computing the area under the ROC curve. In addition, several macros will be introduced to facilitate graphical presentation and complement existing statistical capabilities of SAS with regard to ROC curves |
roc curve, proc step, proc calis, type i error, auc, logistic distribution, confidence interval, proc freq, binomial distribution, type ii error, proc logistic, sample, histogram, regression analysis, normal distribution, null hypothesis, credit scoring, logistic regression | source | 18 |
| 157 | Release 2.1 of SAS Add-In for Microsoft Office - Adding Microsoft PowerPoint to the Mix | Jennifer Bradshaw Clegg, Eric Hill |
Release 2.1 of SAS Add-In for Microsoft Office builds on t he functionality introduced in release 1.3 of SAS Add-In for Microsoft Office. With release 2.1, Microsoft PowerPoint users can access the power of SAS and create presentations with refreshable SAS content. SAS data acce ss support in Microsoft EXCEL is greatly expanded in release 2.1; users can open SAS data sources of any size, eit her directly into worksheets or into Microsoft EXCEL PivotTables, and users can easily create a SAS data set from Microsoft EXCEL data. For reporting, release 2.1 facilitates formatting SAS reports using the Microsoft Office application, and intermixing SAS content with other content in Microsoft EXCEL |
excel, dataset, sas enterprise guide, xls, sas programming, proc sql | source | 20 |
| 158 | Rich, Handsome, & Successful: The Power of SAS for Scientists & Statisticians in Research | David Shannon | This session presents how a successful SAS/AF application used by scientists and researchers was presented to users through a Windows application for usability and speed whilst retaining the robustness of SAS 9. SAS Integration Technologies was used to interface the tried and trusted algorithms to a bespoke application developed using Microsoft Visual Basic .NET. This created an interoperable and scalable environment for the current and future of the business. Discussions will focus on techniques that can be used to integrate SAS via the integrated object model (IOM) of Integration Technologies, through the use of workspaces, stored processes and access to SAS metadata and data via OLEDB |
sas enterprise guide, macro variable, anova, format statement, dataset, proc step, macro quoting function | source | 12 |
| 159 | RIP: The Unofficial SAS Weblog, 2004-2005 | Ted Conway | For a brief period from December 2004 to July 2005, the author penned The Unofficial SAS Weblog for Weblogs, Inc. In this short paper, which serves as an accompaniment for the SUGI poster that displays all of his blog posts, the author recounts some of the tidbits learned during this blogging-for-love-not-money experience. Author's Note: After submitting this paper, I managed to straighten things out with the folks at Weblogs, Inc., who it turns out were busy concentrating on a $25 million sale to AOL when I asked for tweaks to my blogging contract in June (guess which one got priority!). Anyway, it's all good now, and The Unofficial SAS Weblog is back in business! | source | 9 | |
| 160 | SAS and VMware to Create an Environment for Computer Systems Validation in a Pharmaceutical Company | Wayne F. Woo | 21 CFR Part 11 states that computer systems used in the clinical trials process must adhere to certain criteria, one of which is validation. The computer systems validation (CSV) paradigm exists to provide guidance and structure to this process. Within the SAS programming environment, there is a lot of debate on how to approach validation, both of the SAS programming environment itself, and the applications that get created. There often are contentious viewpoints. The CSV model calls for separate areas for development, testing, and production to ensure that there is an orderly, documented path to the development of SAS programs and enhancements to the SAS infrastructure itself. This paper examines how virtualization of systems can play a role in adhering to CSV principles for SAS systems. An example is given of how our company is using VMWARE technology to host a development and testing environment |
data cleaning, sas programming | source | 5 |
| 161 | SAS Applications Introduced into China Customs | Bin Fang | In 2004,China became the third-largest trade nation in the world, with its foreign trade volume exceeding 1.1 trillion USD. Also the amount of data doubled in the past 4 years. Although the increase of human resources cannot keep step with workload, China Customs handles problems such as business cozenage (fraudulent schemes), management inability, and hidden risks with confidence and ease. Because, since 1999, China Customs developed a series of applications based on SAS. With the help of these applications data quality is improved, duty losses are retrieved, hidden risks are detected, and impending conflicts evaded. Extensive use of SAS and SAS applications makes China Customs one of the largest SAS Users in China and Asia | data wrangling, data cleaning, quality control | source | 6 |
| 162 | SAS Blogging -- Finding Resources & Sharing Information Outside of SAS Tech Support | Angela M. Hall | Do you weblog? Did you know that there are several blogs now available that are updated regularly with information about SAS products? This presentation discusses the blogs that are currently available and what information they contain. Also, learn how to use blogs to your advantage, and how to update them with information that you consider noteworthy | proc sql, sas programmer | source | 3 |
| 163 | SAS by Design - A Disciplined Approach | John W. Davison Jr. | This paper presents my systematic approach to SAS application design, based on nearly thirty years' experience in SAS development and maintenance. Without setting forth a rigid framework some broad guidelines are offered embodying the author's own rules that have served him well and may help others to develop their own. They represent a step toward formulation of a disciplined approach to more rapid development of more robust and maintainable applications and more reusable code | proc step, macro variable, sas enterprise guide, sample | source | 8 |
| 164 | SAS Enterprise Guide Stored Processes, Part 1: The Information Consumer's View | Marje Fecht, Peter R. Bennett |
SAS9 and SAS Enterprise Guide 3.0 provide an array of powerful tools for analyzing data and generating the information that organizations demand in order to address their business needs. This two-part tutorial focuses on Stored Processes within SAS Enterprise Guide. Part 1 presents the view of the "end user" or "information consumer." Part 2 focuses on the technical aspects of creating and deploying Stored Processes. In Part 1, we explore the flexible and responsive reporting environment and demonstrate benefits such as: The user has easy access to Stored Processes in Microsoft EXCEL and Word via the SAS Add-In for Microsoft Office. Because the processing is done by the Stored Process, consistent answers are provided to all users. Parameter-driven Stored Processes allow powerful and flexible "drill-down" capabilities. Because Stored Processes use the original external data, the user is not limited by EXCEL row limitations |
sas enterprise guide, excel, bar chart, libname statement, sas management console, raw data, macro variable | source | 21 |
| 165 | SAS Enterprise Guide Stored Processes, Part 2: Creation and Deployment | Marje Fecht, Peter R. Bennett |
SAS9 and SAS Enterprise Guide 3.0 provide an array of powerful tools for analyzing data and generating the information that organizations demand in order to address their business needs. This two-part tutorial focuses on Stored Processes within SAS Enterprise Guide. Part 1 presents the view of the "end user" or "information consumer." Part 2 focuses on the technical aspects of creating and deploying Stored Processes. In Part 1, we explore the flexible and responsive reporting environment and demonstrate benefits such as: The user has easy access to Stored Processes in Microsoft EXCEL and Word via the SAS Add-In for Microsoft Office. Because the processing is done by the Stored Process, consistent answers are provided to all users. Parameter-driven Stored Processes allow powerful and flexible "drill-down" capabilities. Because Stored Processes use the original external data, the user is not limited by EXCEL row limitations |
sas enterprise guide, excel, bar chart, libname statement, sas management console, raw data, macro variable | source | 21 |
| 166 | SAS Goes Grid - Managing the Workload across Your Enterprise | Cheryl Doninger | The intensive computing requirements being placed on IT are demanding a dynamic environment to effectively manage the workload across your enterprise. As data volu mes continue to grow while the window of processing time continues to shrink, applications analyzing enorm ous amounts of data can be optimized with shared and dynamically allocated resources. Learn how grid computing and scheduling have been incorporated and automated to deliver value in a highly efficient manner for SAS analyt ics, data integration (ETL), data mining, and business intelligence. Also learn about advanced configuration opt ions that you can use to fine-tune your SAS grid environment and allow multiple applications to efficient ly and dynamically use a virtual IT infrastructure | data mining, sas grid, excel, business intelligence, sas base, grid computing | source | 15 |
| 167 | SAS Graphics in Motion | Barbara G. Schneider, Kristan A. Schneider |
Animated graphics become more and more popular to en hance the effectiveness of presentations. SAS Software provides the GIFANIM device driver to create sequences of images that are displayed from a single GIF file e.g. stored on a Web page or Microsoft Office PowerPoint slide. Thes e linked sequences can result in slide shows or in movie like performances. The poster focuses on an example that we use in a biostatistical course for medical students. An intuitive understanding of random phenom ena should be induced by the discussed animation. Animated graphics are of great value to transfer didactic concepts. SAS code is pr ovided for technical details. SAS software refers to Version 9.1.3. The paper might be interesting for teachers in statistics as well as for presenters in general | normal distribution, by group processing | source | 7 |
| 168 | SAS Macro Design Patterns | Mark Tabladillo | The qualities which SAS macros share with object-oriented languages account for the power of macro programming. This paper illustrates some examples of specific design patterns which can be partially or fully implemented with the SAS macro language. The material is intermediate to advanced, and assumes knowledge of macros and macro variables. The goal is to illustrate best practices for SAS macro programming | macro facility, macro definition, macro variable, sas base, macro call, macro parameter, dataset | source | 10 |
| 169 | SAS Macro Dynamics - From Simple Basics to Powerful Invocations | Richard Andrews | The SAS Macro Facility offers a mechanism for expanding and customizing the functionalit y of the SAS System. It allows for the abbreviation of a large amount of program code conveniently and makes textual substitutions easy. The facility contains a programming language enables the exec ution of small sections of a program or entire steps conditionally. This paper assumes a basic knowledge of the DATA STEP and the use of programming logic. It will provide simple to dynamics views of the powerful capabilities of SAS macros |
macro variable, macro definition, proc sql, call symput, macro call, macro loop, proc step, macro facility, where statement, %if-%then-%else, macro put | source | 6 |
| 170 | SAS Macros for Generating Abridged and Cause-Eliminated Life Tables | Zhao Yang, Xuezheng Sun |
The life table, a valuable tool in research, is a statistical table based on age-specific death rates in a particular population. The macros( %abridge, %celiminate) developed in this paper are used to generate abridged life tables and cause-eliminated life tables, respectively. These MACROS are easily implemented in practice. Keywords: Abridged life table, Cause-eliminated life table, SAS macro | life table, proc step, proc report, macro definition, proc tabulate | source | 10 |
| 171 | SAS Programming Guidelines | Lois Levin | This paper presents a set of programming guidelines and conventions that can be considered in developing code to ensure that it is clear, efficient, transferable and maintainable. These are not hard and fast rules but they are generally accepted good programming practices. These techniques can be used in all types of SAS programs, on all platforms, by beginners and experts alike | macro variable, proc step, error message, keyword parameter, macro parameter, %macro parameters, dataset, autocall macro, macro definition, symbol table, stored macro, if-then-else, options statement, comment | source | 18 |
| 172 | SAS Programs for Extracting Data from LexisNexis Documents | Robert S. Matthews, Thomas J. Bender |
Text files often contain data for multiple variables that are distinguished from one another by consistently used text strings that label and organize the data. Devising a programmatic solution for extracting these data from text files can require a significant time investment that may only be justified when the number of files is quite large. The approach we used to extract address information from over 100,000 text files may serve as an instructive and time-saving example for SAS users who desire a similar solution that ensures faster throughput and greater reliability than manual data extraction. To develop residential histories for subjects in a retrospective follow-up study of cancer incidence, we sought address information for each subject from the LexisNexis National Group Files database. We downloaded the search results from the LexisNexis website as Rich Text Format (RTF) files | dataset, txt | source | 10 |
| 173 | SAS to Publishable Excel... Seamlessly - Using ODS, XML, and Other Tricks | Marje Fecht, Harry Droogendyk |
Do you have legacy "listing" reports that you want to publish easily in EXCEL? Do you currently output to EXCEL but dislike having to massage the output to get things just right? This hands-on workshop will introduce you to XML, and show you how to leverage the strengths of ODS to generate custom-formatted output in EXCEL. Topics include: · creating EXCEL files using DATA _NULL_ · using XML to easily customize EXCEL document properties. · using CSV and XML to feed EXCEL pivot tables This workshop will prepare you to use XML and ODS for creating EXCEL reports that are ready to publish with minimal (or no) post-processing |
excel, ods excel, sas 9, by group processing | source | 20 |
| 174 | SAS Web Analytics 5.2 - What's New? | Jonathan E. Polito | This presentation describes and demonstrates some of the new features of SAS Web Analytics 5.2. SAS Web Analytics collects, analyzes, predicts, and reports Web-site visitor behavior. This information helps businesses better understand the effectiveness of their online (and, potentially, o ffline) initiatives, and the information optimizes their Web site and business practices. These new features are discussed: Visitor drop-off; funnel and path analyses Report creation, navigation, and linking Decision support analytics and integration of additional log data Server performance improvements Page tagging Use of powerful expressions and synthetic columns in reports | excel, cluster analysis, data mart, credit card, likelihood function, proc freq | source | 19 |
| 175 | SAS with Excel Application Development: Tools and Techniques | LeRoy Bessler | The commonest non-SAS tool for data presentation, and working with data, is Microsoft EXCEL. Other people may want your SAS report formatted as a spreadsheet. Dynamic Data Exchange (DDE) can empower and augment your use of SAS with EXCEL. You can develop SAS programs to load worksheets, and to format them without point-and-click. Almost anything that you can do directly in EXCEL can also be done using DDE commands from your SAS program. You can access EXCEL data, even to the level of a specific cell, row or column, part of a row or column, or set of contiguous rows or columns, or can work with an entire worksheet. Then you can write, read, or format data. Why would you want to run EXCEL from SAS? You can create a hands-off production job to be automatically scheduled by the computer to access and analyze the data, load the spreadsheet, format it, and attach the report to a SAS-dispatched email message |
excel, sample, data step, filename statement | source | 20 |
| 176 | SAS/AF - Building a Tree View Hierarchy with Drag and Drop | Scott Jackson, A. Darrell Massengill |
Drag-and-drop is a powerful tool in SAS/AF software; the SAS 9.2 Tree View Control is also a powerful and flexible SAS/AF tool. In combination, these tools enable you to build exciting SAS/AF applications such as the one presented here. This example application enables the user to create a Tree View hierarchy simply by dragging and dropping items from list boxes onto the Tree View |
source zip |
7 | |
| 177 | SAS/AF Software Rises Again - Enhancements in SAS 9.2 | Lynn Curley | Is there a future for SAS/AF software? Absolutely! We hav e heard from many customers that SAS/AF is particularly useful for the development of interactive applications that can be executed with as little as an installation of Base SAS. In response to this feedback, SAS wants to demons trate its support for SAS/AF, ensuring that SAS/AF will continue to be a useful product for many years to co me. Accordingly, SAS/AF and the VIEWTABLE window are being enhanced to include support of long format names. Two cl asses with experimental status, the Dual Selector Control and the Tree View Control, are being enhanced and pr omoted to production status. This paper discusses the exciting enhancements to the classes and demonstrates how to use them |
sas base, options statement | source | 14 |
| 178 | SAS/AF, SAS/IntrNet, and ODS: Automation of State Health Data Collection and Report Generation | William P. Bartoli, William S. Garvin, David Gilbertz, James L. Ribble, Robert E. Schwartz |
The Behavioral Risk Factor Surveillance System is a state based health information phone survey that has been collected since 1984 and is the largest continuously conducted telephone health survey in the world. The data is collected each month by each state and the District of Columbia and three US territories and uploaded to the CDC via the internet. Once the ASCII file or zipped ASCII file is detected, a SAS/AF application converts the ASCII file into a SAS data set and puts the file in the correct state folder. Once the updated data set is detected in the folder, a SAS/INTRNET application then runs a number of programs that generate data sets and reports. SAS data sets, SAS transport files and ASCII data sets are created for each state and are placed in a zip file to be returned to the states. The SAS programs, using ODS and mostly PROC REPORT, generate HTML and RTF output simultaneously. The RTF files are also placed in the zip file to be returned to the states |
proc sql, proc step, sql server, proc report, dataset, ods html | source | 9 |
| 179 | SAS/GRAPH 101 | Michael S. Zdeb, Robert E. Allison |
SAS/GRAPH shares a trait with other parts of the SAS system. Upon first glance, the sheer volume of documentation makes it seem as if the learning curve might require a significant investment of time. In reality, very little knowledge of the 'bells and whistles' of SAS/GRAPH is needed before you can produce presentation-quality graphics. The following instructions start with very simple SAS code - where SAS makes the decisions as to the look of your graphics - and work their way gradually toward more customized output by adding more user control. PROC GPLOT is used throughout, though the same approach can be taken with any of the other SAS/GRAPH procedures. Hopefully, the knowledge you gain here can be used in experimenting with other procedures |
proc gplot, proc step, line chart, ods pdf | source | 20 |
| 180 | SAS/OR - Making Sense of Network Data with Network Visualization Workshop | Edward P. Hughes, Phil Meanor |
Network data, structured into nodes and links joining the nodes, is being used to describe more and more enterprise systems and their associated planning problems. Examples include supply chains, communications networks, Web sites, database designs, and credit card associations. Interest in this area has been so intense that several promising new fields of study have arisen, among them "The Science of Networks" and "Small World Networks." Just as network data is being used more frequently and studied more intensely, the size of typical network data is increasing also. The growing size of network data creates a problem: How can you identify patterns and relationships and extract other useful information from data that can feature thousands of nodes and even more links? One answer is visual analysis. SAS/OR's Network Visualization Workshop (NV Workshop) is designed to enable you to visualize and investigate large networks |
network data, credit card, dataset, histogram, scatter plot, variable list, card fraud, box plot, data science, sample, data standard | source | 20 |
| 181 | SAS9 Migration: How to Develop an Automated Process Using Perl | Xiaoming Liang | Migration process usually presents challenges when multiple source locations are involved. Identifying those source locations manually could be very labor intensive since SAS files may exist in any sub-directories. Migrating SAS files from those locations is also very time consuming due to the need of code modification to reflect the change of source location each time. This paper is intended to introduce an automated migration process, which complements SAS with Perl scripts to traverse the directory tree to identify and extract source locations, and to update macro variables used in SAS migration script. When migrating SAS files from 32-bit to 64-bit environment, PROC CPORT/CIMPORT is used to migrate catalog files, while PROC MIGRATE is used to migrate datasets |
macro variable, index, proc step, macro definition, proc cimport | source | 4 |
| 182 | SASEnterprise Guide and SAS/CONNECTSoftware Peaceful Co-Existence Using SAS Code | John C. Hennessey | Enterprise Guide (EGuide) is an amazing new point-and-click interface to SAS. For many SAS users, it is becoming THE interface to SAS, replacing the Display Manager interface. However, one of the useful SAS features has been the cooperative processing system through the SAS Connect module. This module allows SAS on our PC to run code and to access data on any available platform, including a mainframe. The new Integration Technologies Module for SAS replaces SAS Connect with a more comprehensive and up-to-date approach to the coordination and cooperation of all of the platforms at your enterprise. Although this module is clearly the future, a number of us are caught with a business process that cannot immediately respond to the purchase of a costly additional module. Planning and justifications for this module as well as the many other new features to SAS version 9 takes time | sas enterprise guide, libname statement | source | 3 |
| 183 | Save Those Eyes: A Quality-Control Utility for Checking RTF Output Immediately and Accurately | Michael Hagendoorn, Jonathan M. Squire, Johnny Tai |
A common deliverable for SAS programmers in biotech and other companies are summary tables and listings in a structured format, like Rich Text Format (RTF) generated by SAS ODS. During quality control activities, these files are visually compared to independently generated output based on the same specifications. When a large number of output files or reruns are involved, this becomes time consuming and prone to human error. We developed a utility that reads the data from an indicated RTF file into a SAS data set. Quality control occurs by programmatically comparing this data set to the independently generated summary via the COMPARE procedure for instant and 100% accurate results, regardless of output size or quantity. We will present an overview of this utility. The utility uses only the SAS/BASE version 8.2 product and is geared to users with at least an intermediate level understanding of SAS/BASE and SAS/MACRO language |
proc compare, sample, proc step, work library, high-level term, keyword parameter, %macro parameters, macro call, macro variable, file statement, quality control, raw data, clinical trial | source | 10 |
| 184 | Security and Cost Considerations When Using Middleware to Facilitate SAS Integration | Robert Jackson, Stephanie R. Thompson |
Middleware is "programming that serves to "glue together", mediate between, or enhance two separate and usually already existing programs" (see References). Middleware can be used to integrate SAS into web site functionality. However, there are security and total cost of ownership (TCO) considerations that must be considered in the design. This paper focuses on best practices and recommendations for securing the use of middleware and SAS within a multi functional interactive web site as well as identifying TCO issues related to support and maintenance of the design. A brief overview of the SAS data warehouse, benefits that the middleware infrastructure provides to the client community, and security challenges created by using a middleware/SAS infrastructure design are explored. The paper concludes with lessons learned and best practices for addressing middleware/SAS infrastructure security concerns | data warehouse, dataset | source | 9 |
| 185 | Service-Oriented Architectures - Going from Buzz to Business | Daniel Jahn | The big promise of Service-Oriented Architectures is their ability to solve business integration issues. This promise is based on applications coded to a common set of standards . Any application that can communicate with the standard can participate in the architecture. This paper examines how SAS applications can call and be called through Web Service standards including XML, SOAP, WSDL , WS-Security, and HTTP. Demonstrations include exposing a SAS program (Stored Process) in a Web Service | web service, sas enterprise guide | source | 9 |
| 186 | Show Me the Big Picture | Sanjaya Kumar | This presentation will show how SAS can help to present com plex data dynam ically. Output Delivery System (ODS) is a help ful, easy to use tool in S AS that can produce colorful and interactive graphs, reports and maps. ODS integrates the various new Java and ActiveX methods that give the user control over the style of output . This paper uses am bient air pollution data to compare simple SAS output with ODS output and develop complex HTML output. ODS out put is user-friendly, in teractive and allows for creativity and innovation in the inform ation display. This paper is intended for SAS user s who have basic SAS knowledge and want to enhance their SAS output using the ODS |
ods html, sas output, proc report, proc step | source | 10 |
| 187 | Simple Tests of Hypotheses for the Non-statistician: What They Are and Why They Can Go Bad | Arthur L. Carpenter | Hypothesis testing is a central component of most statistical analyses. The focal point of these tests is often the significance level, but what does this value really mean and how can we effectively use it? And perhaps more importantly, what are the pitfalls and dangers in its interpretation? As we conduct statistical tests of hypotheses, are there other things that we should be doing or looking out for that will aid us in our decision making? After years of academic study, professional statisticians will spend additional years gaining a practical knowledge and experience so that they can correctly conduct and correctly interpret the results of statistical tests. You cannot gain these insights over night, however, this tutorial provides a basic introduction to the concepts of hypothesis testing, as well as, what you should look for and look out for, while conducting statistical tests of hypotheses | significance level, sample, null hypothesis, type ii error, type i error, proc ttest, standard deviation, proc step, sample size, hypothesis testing, anova | source | 9 |
| 188 | Sleepless in Wherever - Resolving Issues in Scheduled Jobs | Faron Kincheloe | Even with the capability of Windows scheduler or other utilities to schedule your SAS jobs to run automatically, life is not always a dream. Dataset names and variables that must be changed periodically along with perpetually growing log files can keep you awake at night. This paper discusses techniques to solve these problems using macro variables and various date formats. It will also discuss a method for time-stamping data when you have non- standard time periods. Perhaps you've lain awake at night worrying about whether your jobs completed successfully or maybe you worry about the effects of leaving your computer on all the time. This paper will describe a relatively simple way to send an e-mail message when a job fails and will show you how to automatically shut off your computer when your jobs finish running | macro variable, proc printto, macro function, proc step | source | 7 |
| 189 | So You Want to Be a Manager? Summary of the SUGI 30 Panel Discussion about Issues to Consider before Aiming for a Management Career Path | Stephen M. Noga | A panel discussion1 was held at SUGI30 to explore issues that people face everyday in management positions. The targeted audience was programmers who were thinking about making the career move into management. The three panelists had different experiences. One panelist moved into management - and then moved out of management. Another juggled management responsibilities with coding responsibilities. The other panelist focused on managing people and projects. The panelists shared their professional experiences and engaged in an active question-and- answer session with the audience. This paper summarizes the three views of the panelists with additional insight from another year in management | data step, proc sql | source | 7 |
| 190 | So You're Still Not Using PROC REPORT. Why Not? | Ray Pass, Daphne E. Ewing |
Everyone who can spell SAS knows how to use PROC PRINT. Its primary use may be as a development tool to help in debugging a long multi-step program, or as a simp le report generator when all that is r eally needed is a quick look at the data , or even a basic low-level finished report. However, if a re port generation/information delivery tool with powerful formatting, summarizing and analysis features is called for, then PROC REPORT is the solution. PROC REPORT can provide the standard PROC PRINT functionality, but in addition, can easily perform many of the tasks that you would otherwise have to use the SORT, MEANS, FREQ and TABULATE procedures to accomplish. PROC REPORT is part of the Base SAS product, can run in both an interactive screen-painting mode or a batch mode, and should be the basic tool of choice when there is a need to produce powerful and productive reports from SAS data se ts |
proc report, proc step, class variable, character variable, proc print, numeric variable, proc tabulate, proc means | source | 20 |
| 191 | So, Your Data are in Excel! | Edward Heaton | You say your customer sent you the data in an EXCEL workbook. Well then, I guess you'll have to work with it. This paper will discuss some of the quirks you will find when your data are stored in an EXCEL workbook. It will cover such things as naming conventions, character length issues, numeric precision, date, time, and DATETIME values, mixed data types, and caching. This paper will demonstrate - through the Display Manager - SAS code and techniques to make your life with EXCEL more predictable and your work less prone to error. We will use the EXCEL engine that is available in SAS 9.1.3 when you license SAS/ACCESS for PC Files. Previous Work SAS programmers have imported data from EXCEL for years. Common methods that use only the basic SAS products include exporting the EXCEL worksheet to a tab-delimited file or an XML file and then reading that file into SAS |
excel, libname statement, xls, name range list, sysdate9, character variable, label statement, relational database, missing value | source | 13 |
| 192 | SQL Set Operators: So Handy Venn You Need Them | Howard L. Schreier | When it comes to combining data from multiple tables in the SQL Procedure, joins get most of the attention and subqueries are probably second. Often overlooked are the set operators (OUTER UNION, UNION, INTERSECT, and EXCEPT). This tutorial begins by relating OUTER UNION to similar functionality provided by the DATA STEP's SET statement, then explains and demonstrates the full repertoire of SET operators |
create table, proc sql, proc step, order by, union all, set statement, missing value | source | 18 |
| 193 | Squeezing Information out of Data | William C. Murphy | The SAS system offers a superb set of tools for analyzing data. However, the data you receive from a client may not be as clean as you would like. Character data may contain comments with embedded control charact ers that makes print out impossible. There may be stray te xt in an otherwise numeric variable making summariz ation difficult. Important information may be contained in variables that contain both numeric and charact er components. Prior to version 9, the undesired information was r emoved out of the variables by a combination of pro gramming and the use of the COMPRESS function with a long list o f characters for the function's second argument. However, the new COMPRESS function has a third argument that all ows the user to remove or retain selected types of data. This argument greatly mitigates the need for extensive programming to remove undesired characters from a text | compress function, character variable, proc step, numeric variable | source | 4 |
| 194 | Stars and Models - How to Build and Maintain Star Schemas Using SAS ETL Server | Nancy A. Rausch | Star schemas are used in data warehouses as the primary storage mechanism for dimensional data that is to be queried efficiently. Star schemas are the final result of the extract, transform, and load (ETL) processes that are used in building the data warehouse. Efficiently building the star schema is important, especially as the data volumes that are required to be stored in the data warehouse increase. This paper describes how to use the SAS Data Integration Server, which is the follow-on, next generation product to the SAS ETL Server, to efficiently build and maintain star schema data structures. A number of techniques in the SAS Data Integration Server are explained. In addition, considerations for advanced data management and performance-based optimizations are discussed | dimension table, fact table, star schema, proc sql, scd type 2, data standard, surrogate key, txt, hash table, raw data, where statement, data merging, slowly changing dimension, proc step, data cleaning, cpu time, foreign key, key, lookup, parallel processing, unique key, natural key, composite key, dataset | source | 24 |
| 195 | State Agency Personnel Information Reports: A SAS/IntrNet Project | Thomas J. Winn Jr. | This paper describes how the author used SAS/INTRNET to develop a simple intranet application to provide auditors and investigators at the State Auditor's Office with information extracted from several databases containing personnel information data for the State of Texas |
excel, data science | source | 8 |
| 196 | Stay in Control of Your SAS Environment | Vijayanand Rajandram | This paper describes why planning your SAS environment is fundamental in the implementation of a well- established information management system and illustrates how the migration to SAS Intelligence Platform version 9 and the SAS Credit Risk Management solution helped a large UK mortgage lender implement a good platform for data management, reporting and modeling activities within the Credit Risk division. The SAS Intelligence Platform version 9 streamlined the operational running and maintenance tasks of the software whilst added value to its users by providing the ability to share programs, projects and data across the department and by performing some degree of self-documentation. This increases its re-usability, reduced the total cost of ownership of the software and simplified the operational effort required for performing day to day activities | sas enterprise guide, credit risk, data mart, data mining, sql server, operational data store, proc sql, sas base, data governance, excel, data cleaning, operational risk | source | 8 |
| 197 | Step-by-Step in Using SAS DDE to Create an Excel Graph Based on N Observations from a SAS Data Set | Choon-Chern Lim | From the end user's perspective, the advantages of having an EXCEL graph include familiarity with EXCEL application and the ability to modify the graph by changing the underlying data in the EXCEL spreadsheet. Although the process of exporting the data from a SAS data set to an EXCEL file is relatively straightforward, someone has to manually create and format an EXCEL graph, which can be a time consuming process. It is possible to embed a SAS graph image into the EXCEL file, but this static graph cannot be altered once created. This paper presents a detailed step by step approach to programmatically create an EXCEL graph based on N observations from a SAS data set. In most circumstances, we have a fixed number of variables with unknown number of observations for creating an EXCEL graph. Therefore, we will perform a minor tweak to the recorded EXCEL macro to satisfy this need. This paper covers a little Visual Basic coding, but it is not necessary for you to know how to write it |
excel, dataset | source | 10 |
| 198 | Stop! Wait! Go!: Look at What Traffic Lighting Can Do for You! | Louise S. Hadden | The Output Delivery System in conjunction with three SAS procedures that have procedure level styles make "traffic lighting" or the highlighting of various output items easy to accomplish. Traffic lighting can allow you to make your tables and reporting really stand out in the crowd! This paper will demonstrate various forms of traffic lighting in PROC TABULATE, PROC REPORT, and PROC PRINT to add interest to YOUR SAS output! |
proc step, proc tabulate, proc report, proc print, proc format, user-defined format | source | 9 |
| 199 | Subject Profiles Generated with Macro Profile System (MPS) | John Iwaniszek | Subject profiles are commonly requested as part of the general deliverables in a Food and Drug Administration (FDA) submission. Profiles usually take the form of a by-subject fact sheet detailing key data from different pages of the Case Report Form (CRF). The Macro Profile System (MPS), written in Base SAS, provides a convenient way to generate profiles in Rich Text Format (RTF), which can be easily converted to Portable Document Format (PDF), and bookmarked to provide easy access to reviewers. This paper describes the MPS macros, provides an outline for programming subject profiles, and gives tips for book-marking individual profiles for easy access from an index | adverse events, macro call, macro variable, data step, sample, sas base, character variable, macro definition | source | 12 |
| 200 | Summary Tables Task in SAS Enterprise Guide: PROC TABULATE Made Easy | Susan J. Slaughter, Lora D. Delwiche |
This paper shows, step-by-step, how to use the Summary Tables task in SAS Enterprise Guide to produce polished reports. Summary Tables is based on the TABLULATE procedure, but you don't need to know PROC TABULATE or even how to write SAS programs to use this feature. Whether you are a seasoned SAS programmer or new to SAS, Summary Tables can make creating summary reports easier. This paper is similar to paper 144-31, but uses different examples. You may want to compare the two papers |
sas enterprise guide, proc tabulate, proc step | source | 14 |
| 201 | Sur La Table: Creating Microsoft Excel PivotTables in a Jiffy from SAS Data | Ted Conway | Creating good looking EXCEL Pivot Tables to hold your nicely summarized SAS data can be surprisingly labor intensive. This paper presents a technique and macro that combine Base SAS with Visual Basic Scripting to make it possible to fully automate the creation of custom formatted EXCEL Pivot Tables from SAS data sets |
excel, macro call, txt, sample | source | 6 |
| 202 | Teaching Your RTF Tagset to Do Clever Tricks | Wayne Hester | Using the new RTF Tagset with the ODS Markup destination in SAS 9.2 enables many controls and customizations that the traditional ODS RTF destination does not support. Explaining and describing the controls and processes can be confusing and pedantic. Therefore, this paper presents a simple comparison between the default RTF Tagset and an additional experimental sample RTF Tagset. The sample, which is provided by SAS, shows how to customize a tagset |
sample, put statement, proc template, proc step | source | 7 |
| 203 | Text Mining with "Holographic" Decision Tree Ensembles | Barry deVille | The data-mining classification and predictive modeling algorithms that are based on bootstrapping techniques re-use a source data set, repeatedly, to create a family of predictive and classification models that can be said to render a "holographic" view of the modeled data. The results offer a classification and prediction performance that is superior to single-model approaches. These holographic approaches are applied in an industrial setting that involves text mining warranty claims at a major international car, truck, and heavy equipment manufacturer. This paper explains the methods used, how they work, and how they perform in the text-mining area as applied to warranty claims. Combined text and quantitative data models are developed, tested, and validated in order to address the goal of achieving "better-than-human" classification performance on warranty claims | proc freq, proc hpsplit, sample, data mining | source | 7 |
| 204 | The "Handy, Dandy, Quick-n-Dirty" Contrast Generator - A SAS/IML Macro to Support the GLM, MIXED, and GENMOD Procedures | Paul A. Thompson | Contrasts are an important component of the armamentarium of the statistician. In the SAS/STAT R⃝ GLM, ANOVA, MIXED, and GENMOD procedures, the contrasts are used to answer specific additional questions. In many cases, it is difficult to define contrasts which are estimable, or correctly formed. A macro which converts a question about differences between cells (defined in several ways) into estimable contrasts is described. This macro uses SAS/IML R⃝ to convert the comparison into the various components of the comparison intoSAS R⃝ system contrasts. Using several macro components unique to theSAS/IML system, the macro generates contrasts which are invariably estimable |
macro variable, proc step, macro call, proc genmod, macro put, interval variable, main effect, proc iml, macro loop, macro definition | source | 10 |
| 205 | The Beginners Guide to ODS Markup: Don't Panic! | Eric A. Gebhart | The MARKUP destination is the most powerful Output Delivery System (ODS) destination. The ODS MARKUP statement can create a multitude of output file types fr om Comma Separated Values (CSV) to Compact HyperText Markup Language (cHTML), HTML 4.0, Extensible HyperText Markup Language (XHTML), LaTeX, and an endless variety of Extensible Markup Language (XML) flavors. It can also create Microsoft EXCEL output. Learn how easy it is to use this destination, and learn how it works. Get the most out of this versatile ODS destination with minimum effort |
excel, ods html, output delivery system, sas output, proc template, proc step | source | 20 |
| 206 | The Big Four: Analyzing Complex Sample Survey Data Using SAS, SPSS, STATA, and SUDAAN | Arlene B. Siller, Linda Tompkins |
The National Center for Health Statistics (NCHS) conducts surveys with probability-based complex sample designs to produce estimates of health conditions, vital statistics, medical establishment characteristics, disparities in health status, and use of health care by race and ethnicity, socioeconomic status, and other population traits in the United States. Researchers usually present descriptive statistics such as means and totals and their standard errors. However, in order to make statistically valid population inferences from sample data, standard errors must be computed using procedures that take into account the complex nature of the sample design. This paper compares estimates produced with four statistical packages (SAS, SPSS, STATA, and SUDAAN) using data from two NCHS surveys | sample, proc calis, regression analysis, proc step, confidence interval, logistic distribution | source | 5 |
| 207 | The Big Introduction from the Smallest Macro | Peter Crawford | The KISS (see later) approach provides a big learning opportunity for those starting to write their own base SAS macros. The charming simplicity of the smallest macro makes it very memorable, and introduces the macro beginner to far more issues than it's short (three-line) simplicity might lead a macro newcomer to expect. (KISS= Keep It Short & Simple ) | sas base, macro variable, macro function, macro definition, proc step | source | 3 |
| 208 | The Design and Use of Metadata: Part Fine Art, Part Black Art | Frank C. DiIorio, Jeffrey M. Abolafia |
macro variable, excel, dictionary tables, sas log, proc step, quality control, libname statement, options statement, proc sql | source | 17 | |
| 209 | The Dynamic SAS Scheduler System (DSx3) Framework: Scheduling SAS Jobs Has Never Been Easier | Choon-Chern Lim | Tired of manually scheduling all of your SAS jobs yourself? Tired of playing the "waiting game" with your system administrators so that they can schedule the jobs for you whenever they have free time? Worry no more… these problems will all be solved shortly. This paper presents the Dynamic SAS Scheduler System (DSx3) framework which allows you to programmatically schedule your SAS jobs. This paper also explores the advantages and disadvantages of using this framework, and some workarounds to ensure this framework runs smoothly. The DSx3 framework is currently built for Windows environment, but this concept should work in different environments with slight modifications to the framework | macro function, macro variable, dataset, proc step | source | 6 |
| 210 | The Enigma of Survey Data Analysis: Comparison of SAS Survey Procedures and SUDAAN Procedures | Katherine L. Baisden, Paul Hu |
Stratified, clustered, or complex sample designs involved in most survey research impact the accuracy of variance estimates and test statistics. Until recently, SAS programmers had to rely on other statistical software packages, such as SUDAAN, WesVar, and STATA, to produce accurate estimates of such statistics. With the release of SAS/STAT Version 9.1, there is now a survey module (e.g. PROC SURVEYMEANS, PROC SURVEYFREQ, PROC SURVEYREG and PROC SURVEYLOGISTIC) to address this issue. This paper examines these four basic procedures widely used in survey research, focusing on the differences between the SAS procedures and the corresponding SAS-callable SUDAAN V9.0 procedures. It will illustrate differences in syntax and output using data examples and it will also discuss the available options, limitations and recent updates of each package |
proc step, sample, missing value, regression analysis, proc calis, proc surveyreg, design effect, chi-square test, proc surveyfreq, proc surveymeans, response variable, sas output, proc surveylogistic, proc freq, class variable, logistic regression, anova, predictor variable, proc reg, sample size, logistic distribution, likelihood function | source | 11 |
| 211 | The Estimation of Sensitivity and Specificity of Clustered Binary Data | William F. McCarthy, Nan Guo |
This paper reviews a methodology for the estimation of sensitivity and specificity of non-clustered binary data (patient level analysis) and presents a methodology for the estimation of sensitivity and specificity that considers the patient as a c luster and th e cor onary arteries (or c oronary arter y segme nts) as the diagnostic units of the st udy (D UOS) within each cluster. In addition, we present a SAS Program with a SAS Macro for the estimation of sensitivity and specificity that considers clustered binary data. Key Words: Clustered Binary Data; Diagnostic Accuracy; Cardiovascular Imaging; SAS Program; SAS Macro | confidence interval, diagnostic accuracy, correlation, sample, sample size, normal distribution, binomial distribution | source | 10 |
| 212 | The Ins and Outs of SAS ETL Studio | Christopher R. Olinger, Tim Weeks |
The SAS Version 9 suite of tools provides many new resources for managing and manipulating data. SAS ETL Studio is one of the many new SAS Version 9 applications in the Data Transformation and ETL space. ETL Studio is a new breed of SAS tool that lets the user visually define executable processes, which up until now had to be created and deployed using traditional SAS programming and operating system techniques. This tutorial explores the different aspects (both good and bad) of the ETL tool using a simple case study, and is intended for beginner to intermediate SAS programmers | raw data, dataset, fact table, sas programmer, proc sql, libname statement | source | 17 |
| 213 | The Invisible Character ALT+255 - Hidden Dragon: Hiding and Aligning Text in SAS Output | Eugene Tsykalov, Shi-Tao Yeh |
Use of a special Invisible Character in SAS code is described to remove sometimes unnecessary text and help in text aligning and positioning in SAS output. The magic sequence of keys Alt-255 typed at numeric keypad places an Invisible Character symbol into text. This character looks like a blank space in the program code and SAS output but is processed and printed by many programs as a valid text character. Practical applications of Invisible Character Alt-255 - the Hidden Dragon which eats out undesirable text and guards SAS output text aligning are presented: removing unnecessary column names from PROC REPORT output, suppressing the name of a Pageby variable in page headers, aligning text in titles, footnotes and columns, preserving the original text layout in SAS ODS output in PDF format. Also discussed are differences in displaying of the Invisible Character in Windows and UNIX based programs |
proc report, proc step, sas output, character variable | source | 8 |
| 214 | The Personal Touch: Control Your Environment as a SAS User | Peter Crawford | Most software works for you "straight out of the box." Equally, most software feels a bit bland when used that way. Just as we are all different, we work and respond, better when the environment is adjusted to suit the way we want to work. I find that an important part of this is knowing what in our environment we can control and how we can control it. This tutorial introduces the main opportunities in SAS client environments for giving them the "personal touch" | proc step, libname statement, sas enterprise guide, txt | source | 11 |
| 215 | The Power of the FORMAT Procedure | Jonas V. Bilenas | The FORMAT procedure in SAS is a very powerful and productive tool, yet many beginning programmers rarely make use of it. The FORMAT procedure provides a convenient way to do a table lookup in SAS. User generated FORMATS can be used to assign descriptive labels to data values, create new variables and find unexpected values. PROC FORMAT can also be used to generate data extracts and to merge data sets. This paper will provide an introductory look at PROC FORMAT for the beginning user and provide sample code that will illustrate the power of PROC FORMAT in a number of applications. Additional examples and applications of PROC FORMAT can be found in the SAS Press book titled "The Power of PROC FORMAT " (2005, Bilenas) |
proc format, proc step, proc freq, lookup, char., dataset | source | 9 |
| 216 | The REPORT Procedure's Temporary Variable: What Is It? Why Do I Care? | Michael J. Molter | PROC REPORT can do it all. That was my reaction after I learned about all the tasks that I could perform with this procedure. Not only can I display and summarize data as I can with other procedures, but I can also customize how the output looks. Even better than that, I can perform certain DATA STEP-like tasks such as creating data or defining attributes with DATA STEP-like processing such as conditional or iterative looping logic. However, as I began playing with some of these features, I soon discovered that the underlying file on which the report is based is not what I had expected, making conditional execution of statements based on their values unpredictable. Luckily, my countless journeys through SAS OnlineDoc had exposed me to temporary variables. Perhaps an under-documented feature, temporary variables give us the opportunity to, in effect, make the file on which the report is based more like the more familiar data set |
proc report, proc step, class variable, do loop | source | 5 |
| 217 | The SORT Procedure: Beyond the Basics | Britta KelseyBassett | The SORT procedure is a very useful procedure with many options that often get overlooked. There are many options that you can use in both a DATA STEP as well as the SORT procedure, consequently eliminating the need for a DATA STEP in many instances. In this paper, I will describe these options in greater detail and show examples of how to use them. All examples shown were done in the SAS system for PCs, version 8.2. The intended audience for this paper is beginner level SAS programmers with the basic knowledge of the SORT procedure |
proc sort, proc step, obs, where statement, keep statement, rename statement, firstobs, label statement | source | 6 |
| 218 | The SQL Procedure - A Primer for SAS Programmers | Jimmy A. DeFoor | The Structured Query Language (SQL) has a very different syntax and, often, a very different method of creating the desired results than the SAS DATA STEP and the SAS procedures. Only a very thorough manual, such as the SAS Guide to the PROC SQL Procedure, could even begin to describe the complete syntax and capabilities of PROC SQL. Still, there is value in presenting some of the simpler capabilities of PROC SQL, especially those that are more efficient or easier to code than the SAS DATA STEP. The reasons: 1. The tables created by PROC SQL can be read by the SAS DATA STEP or SAS procedures, so the SAS programmer can choose to use only some SQL code without impacting the rest of his or her SAS code. 2. Understanding PROC SQL can aid the programmer in understanding other SQL code, such as DB2 and Oracle |
proc sql, proc step, select, where statement, group by, sum, order by, set statement, create table, if-then-else, proc print, cross join | source | 17 |
| 219 | The SQL Procedure: When and How to Use It | Ying Feng | As a data analyst who did Oracle and SQL Server Database programming before diving into the SAS world, I'm thrilled to find SAS also provides its own version of Structured Query Language (SQL). Sure, the DATA STEP can do a lot of work, but sometimes PROC SQL can accomplish the same work more efficiently and with fewer steps. At the very least, it provides a nice alternate to the DATA STEP. In this paper, some scenarios will be identified and PROC SQL will be used to demonstrate them |
proc sql, proc step, sas base, macro variable, create table, relational database | source | 7 |
| 220 | The TEMPLATE Procedure Styles: Evolution and Revolution | Kevin D. Smith | In SAS 9.2, PROC TEMPLATE styles will have more features and enhancements added than in any other version of SAS, including simplifying inheritance and making style overrides more intuitive. Many of these enhancements deal with the usability problem that has given PROC TEMPLATE styles their poor reputation. In addition to the evolutionary enhancements, an entirely new species of ODS styles is being introduced: Cascading Style Sheets (CSS). Styles that are written using the World Wide Web Consortium's (W3C) CSS specification are now valid ODS styles that enable you to create and edit your ODS styles using the SAS Enterprise Guide style editor or third-party CSS editors |
proc template, proc step, sas enterprise guide, ods html | source | 9 |
| 221 | The TRANSPOSE Procedure or How to Turn It Around | Janet E. Stuelpner | So many times we need to take our data and turn it arou nd. One of the reasons that this is done is that it is more efficient to store your data in a vertical format and processing the data is easier in a horizontal format. That means that we need to change the format of the data before we process or analyze it. There are many ways to accomplish this in a DATA STEP. Another way to change the data is to use a PROC TRANSPOSE. This paper will show you, step by step, how to change the format of the data. You will be taken from the easiest way of doing without any options to a more complex manner using a whole host of options |
proc transpose, out=, proc step, numeric variable, by group processing, character variable, proc print, output, array, sample, vital signs | source | 9 |
| 222 | The Utter Simplicity and Power of the TABULATE Procedure | Daniel E. Bruns | proc step, proc tabulate, proc freq, label statement | source | 13 | |
| 223 | The Value of Real-Time Scoring Technology Using SAS | Young Chun Kim | Imagine having built a Data Mining model to detect fraudulent credit card transactions. If this model is applied once a day by the analyst to determine the nature of transaction, this implies the loss of preventing fraudulent transactions at the moment it occurred due to the fact that the model could not be applied in "real-time", in another words, at the moment of transaction. To overcome this loss, the key technology required is to be able to systemize the determination process of normal against fraud at the moment it requests for authorization. SAS technology enables to build this real-time detection system. The biggest challenge of Call-Centers is to balance the distribution of calls at peak time. Being able to direct the customer call to the most appropriate Call-Center agent based on the customer needs will be the basic principle of distribution | credit card, data mart, data mining, score code, real-time processing, outlier, sas model manager | source | 6 |
| 224 | The VIEWTABLE Window - a Useful but Underappreciated Tool | Venky Chakravarthy | The SAS VIEWTABLE window is part of SAS/BASE. This paper focuses on the some of the features of the VIEWTABLE that are easy to overlook. By examining and highlighting some of its capabilities , a rational assessment can be made for the need to license additional products such as SAS/FSP. The latter, although a very powerful product with many uses , may be unnecessary for some organizations. Hence it is worth while to take a closer look at the VIEWTABLE. The appropriate audience for th is paper is an Intermediate to an advanced level SAS user but a beginner should be able to follow most of this discussion . In any case the VIEWTABLE is covered from the basics |
work library, where statement, sashelp | source | 12 |
| 225 | Think FAST! Use Memory Tables (Hashing) for Faster Merging | Gregg P. Snell | The objective of this paper is to present a simple way to merge datasets using memory tables. Well, actually, it will be an associative array (or hash) object. However, by simply thinking of this "object" as an in-memory table, it just may help you to grasp the hashing concepts and feel less intimidated about learning and using (what I believe is) the fastest method available for merging datasets | cpu time, hash table, dataset, sas base, implicit loop, index, proc sort, proc step, hashing function | source | 15 |
| 226 | Tight Looping with Macro Arrays | Ted Clay | You can apply the power of macro %DO-looping in the tight space of a single statement by using macro arrays. A macro array is a list of macro variables that share the same prefix and a numeric suffix, for example, AA1, AA2, AA3, etc., plus an additional macro variable with a suffix of "N" that contains the length of the array. Two macros, %ARRAY and %DO_OVER, make it simple to create and use macro arrays. %ARRAY stores text in a macro array from an explicit list of values or from variables in a data set. Then, wherever you need those text values in your program, %DO_OVER loops over the macro array and substitutes the text values wherever you put a "?" in your code phrase. %DO_OVER(AA,PHRASE="?") generates a list with double-quotation marks around each text string. SET %DO_OVER(AA,PHRASE=mylib.?); concatenates a series of data sets. RENAME %DO_OVER(AA,PHRASE=?=pre_?); renames a list of variables by adding a prefix | macro variable, macro loop, macro parameter, %macro parameters, do over, data step, macro definition, macro quoting function | source | 8 |
| 227 | title=Like Wine, the TTEST Procedure Improves with Age | John M. Castelloe, Randall D. Tobias |
PROC TTEST is an old reliable among SAS/ST A T procedures, testing hypotheses about means of one and two normal samples. While this is a narrow class of analyses, it's an important class, with key applications in all areas of science, including clinical trials. Recent updates to the TTEST procedure make it an even more powerful tool for the statistician. The enhancements include: Equivalence tests, which answer not "Are the samples significantly different?" but rather "Are they significantly the same?" AB/BA crossover studies, a common repeated measures design for clinical trials Perhaps the most useful new feature is the new plotting capability of PROC TTEST . It now produces uni- variate and comparative versions of histograms, box plots, and densities. This paper describes these new features of PROC TTEST in SAS 9.2 and illustrates their use in a number of examples |
standard deviation, confidence interval, proc ttest, treatment period, sample, proc step, equivalence testing | source | 14 |
| 228 | U.S. Health and Nutrition: SAS Survey Procedures and NHANES | Jeffrey M. Gossett, Chan-Hee Jo, Pippa M. Simpson |
The National Health and Nutrition Examination Survey (NHANES) is used to evaluate the health and nutrition of the United States (CDC 2005). It is composed of cross-sectional, nationally representative health examination surveys of the U.S. civilian, non-institutionalized population. A complex, stratified, multistage probability cluster sampling design is used in the surveys. Analyzing survey data such as the National Health and Nutrition Survey requires software that accounts for the complex design. You can use SAS survey procedures to analyze data from NHANES, including the SURVEYMEANS, SURVEYFREQ, SURVEYREG, and SURVEYLOGISTIC procedures. We discuss the use of these procedures and contrast them with the procedures available in SAS callable SUDAAN(RTI 2001) | proc step, proc surveyreg, sample, logistic regression, proc surveyfreq, proc surveylogistic, logistic distribution, regression analysis | source | 9 |
| 229 | UltraEdit: Thumbs-Up Code Editor for SAS Programming On PC and UNIX Servers | Eugene Tsykalov | The use and features of UltraEdit, a powerful and practical Program Editor application, are described for creating, editing and saving SAS program code when working on the PC and remote servers. UltraEdit is a Windows application, which runs on a PC and has a familiar and user-friendly interface. It has common for Windows-editors features like text highlighting with the mouse and shift-arrow keys; same commands for copy, paste, cut; etc. What makes UltraEdit unique is its ability to work with files on any remote server transparently for users, as if you are working with files on your local hard drive. Using a built-in FTP engine, UltraEdit allows programmers to easily open/save/reload files residing on any PC-based or mainframe server and in any operating system (UNIX, VMS, Windows NT, etc.). While some other editors (MultiEdit, SlickEdit) provide similar FTP features, UltraEdit has by far the most convenient, intuitive and complete implementation of remote work with files | sas programmer, proc contents, sas programming, excel, proc step | source | 7 |
| 230 | Understanding the System Architecture of the SAS ETL and the SAS Enterprise BI Servers for Federal Enterprise Architecture Requirements | John W. McCue | In order to document our Agency's Systems Architecture we need to understand how the design of the SAS System affects the other Systems in our infrastructure. This paper describes some of the key points learned through : many conversations with SAS Institute , and persistence to understand how the SAS Enterpri se Business Intelligence Server and the Extraction, Transformation, and Loading Server work . The se new Enterprise offerings of SAS Institute require planning to install and knowledge of your system infrastructure to configure. Because of this, SAS Institute personnel are often utilized to facilitate this process. But following two old axioms about teaching a man to fish, and learning more from your mistakes than your successes we installed the Server software on our own . This paper documents some of what we learned about the SAS Intelligence Platform from configuring the new software | source | 11 | |
| 231 | Using Contour Plots to Promote EHR Use in Physician Offices | Barbara B. Okerson | The role of a quality improvement organization (QIO) is to assist healthcare providers in making successful and meaningful changes in the way care is delivered and in improving outcomes of that care. While traditional activities in this role addressed specific clinical indicators, the QIO role has evolved to include the promotion of Health Information Technology (HIT) and the use of Electronic Health Records (EHR), especially in the physician office setting. Contour plots provide a two-dimensional display of three-dimensional data. Traditional uses of contour plots include display of elevation, concentration, velocity, non-linear regression displays, and time histories of data in both geographic and non-geographic applications. While SAS provides the ability to create contour plots with SAS/GRAPH and SAS/IML, the new ODS graphics applications add value to this ability by adding this feature to the Kernel Density Estimation (KDE) procedure |
contour plot, data visualization, proc step | source | 6 |
| 232 | Using Data Set Options in PROC SQL | Kenneth W. Borowiak | Data set options are an oft over-looked feature when querying and manipulating SAS data sets with PROC SQL. This paper explores using the data set options DROP, KEEP, LABEL, COMPRESS, SORTEDBY, WHERE, and RENAME in the CREATE TABLE statement and FROM clause of PROC SQL. These options can help facilitate more succinct and efficient code and create parsimonious and well-labeled data sets |
proc sql, proc step, create table, where statement, inner join, numbered range list, select, options statement, create view, numeric variable, sas log, character variable, cpu time, name range list, macro variable | source | 10 |
| 233 | Using Database Principles to Optimize SAS Format Construction from Tabular Data | Perry Watts | While formats are more efficient than standard lookup tables for retrieving target values, guidelines still need to be established for building the best possibl e format from a control data set. More specifically, the guidelines need to link the format as a function where label=f(range) to the format's underlying table as a two-dimensional relation where entities and attributes are identified by primary keys. Fortunately, database cardinality and normalization concepts can be expanded to embrace these seemin gly disparate constructs. An identity is established between a mathematic "function" and database theory's "first normal form" requir ed for format construction. The paper then shows what happens when formats are built that either conform to or fail to meet requirements for second and third normal forms. Terms are defined and concepts are explained by diagram and example | key, normalization, composite key, hash table, proc format, structured data, transaction data, format statement, proc step, character functions | source | 20 |
| 234 | Using Design Patterns to Integrate SAS/IntrNet with Web Technologies | Manolo Figallo-Monge | Design Patterns are reusable design solutions for commonly occurring problems in softwa re engineering. The purpose of this paper is to demonstrate how SAS developers can use design patterns in order to write more extensible and reusable code while deriving more enjoyment in the process. We present three simple applications related to Workf low Management that use design patterns and SAS: 1. XML Configurations using the Singleton and Observer Pattern 2. Role -based Authentication using the Chain of Responsibility and Decorator pattern 3. Model View Controller Workflow Architecture using | put statement, sas programmer | source | 10 |
| 235 | Using External Data Dictionary Files When Building SQL Queries in Base SAS | Mike D. Tangedal | Documentation of created variables within a data warehouse requires a compromise between definitions in code (Base SAS) and text supplied by analysts. Business rules nestled within code serve no documentation audience other than skilled SAS programmers, not management and analysts who ultimately provide the logic for these rules. However, business rules stated purely in terms of the customer are not directly translatable into code without major concession to both the code sophistication and the expertise of the customers. A workable solution is to store each business rule for each unique defined variable in an external file, both readily accessible by the Base SAS language, customers, and analysts. The challenge to the programmer is then to successfully implement these external business rules into a usable end product. The challenge to the analysts is to document all business rules in absolute terms of data available | data validation rules, data dictionary, proc sql, sas base, lookup, data warehouse, quality assurance, proc step | source | 10 |
| 236 | Using Metadata and Project Data for Data-Driven Programming | Brian K. Varney | Creating dynamic, data driven programs is a very powerful tool. Often we can use the metadata or the project data itself to help write our programs. This paper will introduce some of the concepts related to writing SAS programs which will generate pieces of SAS code in a data driven manner. Parts of the SAS language used in this discussion include the following: 1. macro call routines (call symput and call execute) | macro variable, proc sql, proc step, call execute, dictionary tables, macro loop, macro function, data step, label statement | source | 10 |
| 237 | Using SAS Enterprise Guide to Code When You're Not a Programmer | Britta K. August | If you are new to SAS and have never been a programmer, SAS Enterprise Guide is an excellent tool to get you started. With a few tips to help out, you can tackle some seemingly daunting tasks right away. Examples to be covered include the difference between the inner and outer SQL joins; two methods to approach analysis; and ways to organize tasks, queries and code efficiently by taking advantage of icon names in the process flow view. Once you begin to create your own data sets using EG queries, you will quickly encounter the need to store either a reference to the data created, or the data itself. An approach to saving data will also be presented. All examples presented were created in SAS Enterprise Guide 3.0 and are intended for a beginning level | sas enterprise guide, inner join | source | 6 |
| 238 | Using SAS for Statistical Modeling of Nutrient Removal and Water Quality Aspects from Constructed Wetlands | Rupali Mohansingh, George C. J. Fernandez, Keith E. Dennett |
Steamboat Creek (Reno, Nevada) is contaminated by agricultural and stormwater runoff. Exploratory, descriptive, and statistical modeling was performed using SAS software version 9.13 in order to predict the performance of small-scale constructed wetlands. The performance of 6 constructed wetland designs with different combinations of sediment and water were considered. Water sampling was conducted twice a month. The removals of total nitrogen (TN), total phosphorus (TP), total suspended solids (TSS), and total organic carbon (TOC) within the wetlands were monitored. Data exploration using box plots were examined to check for trends, outliers, and distribution patterns. Efficiency of nutrient removal associated with each wetland design, seasonal changes, and interactions between design and season were analyzed using Mulitvariate Analysis of Variance (MANOVA) using the SAS/STAT PROCEDURE GLM |
correlation, proc cancorr, regression analysis, p-value, data science, sample, confidence interval, box plot, predictor variable, response variable, proc reg, scatter plot, multiple regression, outlier, anova | source | 11 |
| 239 | Using SAS ODS to Extract and Merge Statistics from Multiple SAS Procedures | Stuart D. Long, Jeffrey M. Abolafia, Lawrence Park |
SAS procedures often provide more statistical output than is needed for a given analysis. When an analysis involves iterative processing on numerous groups of variables using multiple procedures, the number of output pages to be reviewed may be quite massive. By using SAS ODS output datasets, one can extract only the desired statistics from a procedure. The ODS output datasets from numerous procedures can be merged together and used by the programmer to generate concise reports summarizing the results from the different SAS procedures.. This presentation provides a detailed blueprint for 1) generating ODS output datasets from multiple procedures, 2) retaining specific statistics in these datasets, and 3) merging them together to produce one summary dataset. This is an advanced tutorial intended for SAS programmers knowledgeable with BASE/SAS and the SAS Macro facility |
proc step, proc logistic, predictor variable, logistic distribution, proc freq, response variable, out=, proc print, logistic regression, proc means, macro variable, interval variable, macro definition, regression analysis, adam dataset, macro facility, output, sas log, proc append, dataset, nominal variable, file statement, %if-%then-%else, confidence interval, sas output, macro call, macro loop | source | 21 |
| 240 | Using SAS to Control and Automate a Multi SAS Program Process | Patrick Halpin | Often times a project is comprised of many SAS programs that need to run in a given order. Additionally, the SAS programs are dependent on previous SAS programs completing. One way to accomplish and automate this task is to use "Done" files and the SLEEP command in SAS. "Done" files are files that are created when a SAS program finishes. SAS programs dependent on previous jobs finishing look for those "Done" files to be created. Once the "Done" files are created the next SAS job in the process will start | txt, dataset | source | 6 |
| 241 | Using SAS to Investigate Effect Modification | Peter H. Van Ness, Heather G. Allore |
Effect modification occurs in biomedical research when a measure of statistical association between an exposure and a health outcome, as represented on some specific scale, differs according to the levels of a third variable-the effect modifier. The heterogeneity of a measure of association across the levels of a modifying variable has an importance that might be statistical, epidemiologic, and/ or biologic. Respectively, it might contribute to the goodness of fit of a regression model, identify subgroups for which a health risk factor is especially prominent, and/ or specify a multifactorial causal relationship. Effect modification can be tested and graphed in numerous ways with SAS statistical software. In this article we will provide code for six different ways of investigating effect modification, primarily using PROC GENMOD, and two ways of graphing statistical interactions using the GPLOT and (via ActiveX Control) the G3D procedures |
interaction effect, estimate, proc step, regression analysis, proc genmod, odds ratio, predictor variable, relative risk, proc mixed | source | 10 |
| 242 | Using SAS to Process Repeated Measures Data | Terry Fain, Cyndie B. Gareleck |
Data that contain multiple observations per case are called "repeated measures data." Common examples are medical records, credit card charges, and airline travel history. This tutorial will discuss ways to use the SAS DATA STEP to handle repeated measures data, in order to generate summary data for reports or for submission to analytic techniques (e.g., regression). We will address both horizontal repeated measures (using arrays) and vertical repeated measures (using RETAIN, FIRST., LAST., OUTPUT, and other SAS statements and options), as well as how to convert horizontally structured data to vertically structured data and vice versa |
repeated measures, longitudinal data, proc step, output, by group processing, credit card, proc print, lag function, sample, array, retain, do loop, format statement, proc contents, proc freq, run | source | 11 |
| 243 | Using SAS/CONNECT and the Windows API to Preserve File DateTime Stamps in a Platform Migration Project | Wayne F. Woo | In certain circumstances it is desirable to retain the file DATETIME stamp when moving or copying a file from one location to another. This is a trivial manner when performing such functions under one operating system because the COPY and/or MOVE commands typically do not alter the DATETIME stamp. But what about moving or copying files between different operating systems? The standard file transfer protocol (FTP) does not give an option to preserve DATETIME stamps, but many vendors have created FTP software with this feature. This short paper will describe how to achieve this outcome with SAS code. The code transfers files between the OpenVMS operating system and Windows using SAS/CONNECT. Windows API functions are then called to set a file's DATETIME stamp to match with VMS. This code was used as part of a platform migration project. With slight modifications, the code should work equally well for Unix-to- Windows file transfers |
dataset, proc step, proc download | source | 5 |
| 244 | Using Statistical Graphics to Understand Your Data (Not Just to Present Results) | David J. Pasta | Figures and graphs are often used to present the results from statistical analyses. As business graphics become increasingly common, there is an expectation that much (if not most!) numerical data will be presented in graphical form. This is, generally, a good thing (although more attention to t he principles of good graphica l presentation would be welc ome). But statistical analysts seem to have lost sight of the value of using graphical displays to better understand the data they are analyzing. With the advent of ODS Graphics in Version 9, SAS has made it easier to get the "basic" analytical graphics. This paper gives examples of graphical displays that l ead to insights into the data (as opposed to displaying something that is already understood). Several examples are given where graphs were used as an analytical tool |
data visualization, bar chart, proc sgplot, data science | source | 14 |
| 245 | Using the DATASETS Procedure | David Fickbohm | The purpose of this paper is to explain why, and how to use the DATASETS procedure. Datasets is a very powerful procedure. It is not used as much as it could / should be used. This paper will cover the basic concepts and syntax of the DATASETS procedure. The instructions that manipulate data files; age, append, change, copy, delete, exchange, and, save will be presented. This paper will cover the informational instructions contents. Finally the audit instructions will be discussed |
proc step, proc datasets, sas library, proc contents, dataset | source | 5 |
| 246 | Using the RAND Function in SAS for Data Simulation in Clinical Trials | Wenping Zhang | Often an important decision needs to be made based on anticipa ted data for a trial design or a determination of data handling rules. In this regard, simulation is a very useful method. For example, to pr epare programs for statistical analyses and report generation before database lock, some SAS data has to be simulated. RAND, a new SAS function, is an easy-to-use general random number generator, and basically gives "standard distribution." Therefore, to obtain a random number for "non-sta ndard distribution," some additional math work is needed to transform data from "standard" to "non-standard." This paper demonstrates a SAS macro that generates simulation SAS data for clinical trials for a variety of "standard" and "non-standard" distributions. Moreover, the data is generated with different distribution parameters and the expected sample size for each treatment group that corresponds to the trial design | macro variable, rand, exponential distribution, normal distribution, macro call, random number generation, lognormal distribution, treatment effect, weibull distribution | source | 7 |
| 247 | Using the SAS System for Experimental Designs for Multi-Component Interventions in Medicine | Heather G. Allore, Peter Peduzzi, Ling Han, Mary Tinetti |
We demonstrate how to use SAS to design experiments for multicomponent interventions for multifactorial health syndromes. Multifactorial syndromes are health conditions that have more than one risk factor related to the outcome and require interventions with several components that target different risk factors. The design and analysis of multicomponent trials are complicated by the number of factors to be studied and the interdependency among the factors. A full factorial design is appropriate when there are a few risk factors to treat; however, when there are many risk factors to treat, fractional factorial designs allow for estimation of the main effects at the sacrifice of higher-order interactions (available in ADX Interface SAS/QC software). When selecting risk factors to treat, researchers must consider the inter-relationships among factors, particularly interactions (using ADX) |
main effect, treatment arm, randomization, clinical trial | source | 7 |
| 248 | Version Control on the Cheap. A User-Friendly, Cost-Effective Revision Control System for SAS | Tim P. Williams | Revision control is an integral component of code de velopment in many languages but is often absent from SAS programming. Cost and ease of use are often cited as two of the primary reasons why a revision control system is not used. However, the need for such a system is growing. An audit trail of changes to code is becoming increasingl y important in many indus tries. From a programmer's perspective there are many advantages to a system that can easily differentiate between programs that are under development, have been validated, or have been released into a production environmen t. The ability to roll back changes during development and easily compare revisions to files can greatly increase programming efficiency. This paper describes the implementa tion of free, open source component s that comprise an easy to use revision control system for SAS programs. The system is deployed in a large organization where SAS is used for the analysis of clinical trials data | interim analysis, audit trail, clinical trial, data cleaning, final analysis, pharmaceutical industry, quality control, clinical data | source | 10 |
| 249 | Wait Wait, Don't Tell Me… You're Using the Wrong Proc! | David L. Cassell | Statisticians and data analysts frequently have data sets which are difficult to analyze, with characteristics that break the underlying assumptions of the simpler analytical tools. But SAS has tools to handle more complex problems. And, now that SAS has survey analysis procedures, there's no longer a need to pretend that survey samples should be analyzed using non-survey design tools. Now that large databases are commonly sampled for marketing, data mining, and scientific research, the need to use survey analysis procedures is increasing. In this paper, we'll look at several common situations and illustrate how the data are usually analyzed. Then we will show how the data ought to be analyzed using the SAS survey analysis procedures, and what the consequences of choosing the wrong procedures may be | proc step, sample, proc calis, sample weight, proc surveyreg, regression analysis, confidence interval, proc glm, chi-square test, population, proc surveyfreq, proc surveylogistic, proc mixed, proc genmod, proc reg, logistic regression, proc surveymeans, degrees of freedom, logistic distribution, anova, estimate, random sampling, survey weight, proc means, cluster sampling, data science | source | 11 |
| 250 | Web-Enable Your SAS Applications | Teresia L. Arthur, Mary Jafri |
How many times do we write applications, only to rewrite them later because a new operating system comes online, users want a friendlier interface, or users just want "the latest cool stuff?" Wouldn't it be wonderful if we could write core application code that remained in use throughout the evoluti on of an application, and even more so if that application remained in service for many years? Who said applications have to become antiquated so quickly, and who has the time and the resources for application rewrites? The objective of this paper is to demonstrate how a producti on SAS/AF software application, which was originally written in 1993 (13 years ago) on MVS, has become Web-enabled and se rves more than 2,000 unique global users, without having had its core application code rewritten |
data validation rules, proc sql | source | 13 |
| 251 | Web-Site Analytics - A Land Mine or a Gold Mine? | Jerry J. Hosking | Do you have the information that you need in order to optimize the decisions that you make about your Web site? Can you tell if your Web site is effectively influencing its visitors? This paper is a practical guide to avoiding the hidden land mines of Web-site analysis and providing a gold mine of information about your Web site and its use. Technical issues related to using the Web log and other data to understand activity on your Web site are discussed. This paper also outlines major steps for implementing a Web analytics solution to provide guidance about your Web content. Topics include data accuracy, suggestions for automating processing, domain experience on issues such as tagging, cookies, standards and definitions, and specific practices based on a real-world implementation of SAS Web Analytics. The techniques presented can help you discover the critical nuggets of information buried in your Web data | web analytics, excel, data mart, sample, sas log, dataset, macro call, proc freq | source | 19 |
| 252 | What's New in SAS Enterprise Miner 5.2 | Wayne Thompson, David R. Duling |
SAS Enterprise Miner 5.2 for SAS 9.1.3 provides many new enhancements to help both business analysts and statisticians carry out the data mining process more efficiently and with greater control and flexibility. A major focus of this release is to deliver new interactive statistical and visualization tools. The tool set has been expanded to include the new SOM/Kohonen, Decisions, and Replacement nodes. Major improvements have been made to nearly every other node. System administration has been enhanced through the use of the SAS Analytics Platform, which provides both thin-client distribution and server management functionality. Grid processing is now supported to manage the workload created by a large group of data miners. Customers will find many reasons to upgrade to SAS Enterprise Miner 5.2 | data mining, proc hpsplit, sas management console, sample, data wrangling, estimate, stepwise selection, training set, regression analysis, score code | source | 10 |
| 253 | WHERE vs. IF Statements-Knowing the Difference in How and When to Apply | Sunil Kumar Gupta | When programming in SAS, there is almost always more than one way to accomplish a task. Beginning programmers may think that there is no difference between using the WHERE statement and the IF statement to subset your data set. Knowledgeable programmers know that depending on the situation, sometimes one statement is more appropriate than the other. For example, if your subset condition includes automatic variables or new variables created within the DATA STEP, then you must use the IF statement instead of the WHERE statement. This paper shows you how and when to apply the WHERE and IF statements to get correct and reliable results. It also reviews the similarities as well as the differences between these two SAS programming approaches |
if-then-else, where statement, error message, colon modifier, automatic variable | source | 10 |
| 254 | Xamining the X Statement (and Some Other Xciting Code) | George J. Hurley | The X statement has been briefly documented for years in the SAS Language Guide. However, the usage of this statement in code appears uncommon and its power is underutilized, especially by the novice programmer. This statement can be used to issue operating system commands during an interactive SAS session, consequently allowing for better software integration. The only part that is needed is Base SAS! This short paper will help the reader understand how, when, and why to use the X statement, as well as what type of code works well with it. Furthermore, it will provide sample code. The focus will be on the Windows environment, however much of the paper can be utilized in other operating systems | options statement, macro variable, sas base, macro definition, txt, dataset | source | 6 |
| 255 | XSLT-Friendly XML: Generating Structured XML from SAS Data | Ted Conway | The XSLT language can be used to transform XML into desired web output, but it sometimes requires more highly structured XML than the default produced by the SAS XML engine. This paper presents a macro that can be used to impose greater structure on XML produced from SAS data, making it easier to use XSLT to obtain desired formatting results. As an added bonus, the example provided produces XML that can be used to help babies to read (really!) | dataset, sample | source | 6 |
| 256 | You Can't Stop Statistics | Maura E. Stokes, Robert N. Rodriguez |
bayesian statistics, proc step, regression analysis, proc quantreg, proc glmselect, odds ratio, sample, proc genmod, proc glimmix, proc mixed, likelihood function, prior probability, feature selection, significance level, anova, maximum likelihood estimation, response variable, treatment period, piecewise exponential model, data cleaning, confidence interval, posterior probability, proc phreg, standard deviation, credible interval, estimate, histogram, poisson distribution, logistic distribution, density plot, treatment effect, box plot, proc glm | source | 32 | |
| 257 | You've Got E-Mail: Automatic Log Checking via E-Mail Notification | Aaron J. Augustine, Prasenjit Dutta |
Excellence and efficiency in the business world are critical for success. Users are challenged to rev iew SAS logs accurately in a time sensitive environment. This i s often a daunting task when running numerous or le ngthy SAS programs. The Log Checking Program is a macro desi gned to automate the process of reviewing logs by e fficiently identifying errors, warnings, and other notes of in terest. If problematic messages are found in the r eview, output reports of the results are sent automatically to th e user via e-mail. Without this macro, users are le ft to perform this task manually and in turn open themselves up to red uced levels of quality and production. This progra m was designed to run using Base SAS version 9.1.3 in a W indows environment and is intended for intermediate level SAS Users | sas log, macro variable | source | 10 |
| 258 | ZIP Code 411: A Well-Kept SAS Secret | Louise S. Hadden, Michael S. Zdeb |
SAS provides many useful files in its SASHELP directory. One of the less well-known but incredibly useful files is the SASHELP.ZIPCODE file that ships with SAS V9 and is regularly updated. This paper explores current and potential uses of the SASHELP.ZIPCODE file data. Data and programming re- sources provided by SAS and other sources will be highlighted, with a walk-through of several programming pro- jects recently conducted by the authors | sample, proc step, proc gmap | source | 11 |
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