WUSS 2005 Papers - Index
100 papers. Source: WUSS (Western Users of SAS Software) conference proceedings.
| # | Title× | Authors× | Abstract× | Keywords× | Extras | Pages |
|---|---|---|---|---|---|---|
| 1 | %MACRO Bag of Tricks | Rodger Madison | Using an example macro this paper covers a variety of generally useful techniques including arrays of macro variables and the SAS autocall library facility. | autocall macro, excel, macro variable, macro definition, character functions, macro facility, macro loop | source | 6 |
| 2 | 200 Reports, 1 Program: An Automated Approach to Creating Graphical Reports with SAS Software | Michael J. Yee | Creating a SAS report loaded with mixed tables and graphics is a demanding task. Creating 200 customized reports with very little additional programming seems is an even larger challenge. In support of a major pharmaceutical company conducting a large study of drug utilization and efficacy, 200 sites were selected for analysis and each required a quarterly progress report specific to their site. Using a single aggregate SAS data set, the author created a single program that produces individual site-specific reports. These reports contain site-specific tables and graphs (with mixed graphs/tables on a single page) with customized headers. The program can be submitted once and the individual reports can be sent directly to the printer. The programs rely heavily on SAS macros, SAS/GRAPH, PROC GREPLAY, PROC GSLIDE, and PROC GCHART. |
macro variable, proc step | source | 8 |
| 3 | A Comparison of Missing Data Handling Methods | Catherine Truxillo | Incomplete data presents a problem in both inferential and predictive modeling applications. Traditional methods such as complete case analysis and simple imputation tend to produce results that inadequately estimate standard errors and/or parameter estimates, particularly where missingness is not completely at random (MCAR). Modern methods for handling incomplete data, including maximum likelihood parameter estimation and multiple imputation methods, enable researchers to derive appropriate parameter estimates and inference from incomplete data when data are missing at random (MAR). However, for a variety of reasons, multiple imputation is not always practical, particularly with very large data sets or in applications where it is important to have only one working data set (such as public sector data). This paper illustrates the use of PROC MI, which provides maximum likelihood (ML) estimates of the covariance matrix and mean vector using the expectation-maximization (EM) algorithm. |
imputation, covariance, proc cancorr, mean imputation, proc calis, sample, sample size, correlation, multiple imputation, estimate, missing value, proc mi, proc step, discriminant analysis, data cleaning, validation set, bubble plot, maximum likelihood estimation, likelihood function, missing at random, numeric functions, inferential statistics, data science | source | 20 |
| 4 | A Comparison of Two Procedures to Fit Multi-Level Data: PROC GLM versus PROC MIXED | MaryAnne DePesquo Hope | This paper presents the advantages of using PROC MIXED versus PROC GLM as a solution for hierarchical data. Analyzing multi-level, non-independent data requires a different methodology from the standard general linear model that is implemented in PROC GLM. A random coefficient (RC) regression model utilizing the SAS procedure PROC MIXED can be used when the assumption of independence is not satisfied due to group structure in the data. Data from a health care survey administered to beneficiaries in several different health plans were examined. In this case, beneficiaries are grouped by health plan, and there is a distinct possibility that the beneficiaries' survey responses are more similar within plans than across plans. In the preliminary analysis to determine the most appropriate model-to- data agreement, the intraclass correlation coefficient (ICC) was investigated. The ICC assesses the degree of clustering or dependency among subsets of cases in nested data. |
proc step, proc mixed, proc glm, regression analysis, proc genmod, estimate, fixed effects, predictor variable, proc calis, sample, response variable, covariance, binary variable, sample size, correlation | source | 7 |
| 5 | A Hands-On Tour of the 5 Most Exciting Features Found in PROC SQL | Kirk Paul Lafler | Structured Query Language (SQL) is a database language found in the base-SAS software. It enables access to data stored in dat a sets or SAS tables using a powerful assortment of statements, clauses, options, functions, and other language constructs . This hands -on workshop presents core concepts as well SQL's 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 SQL queries, the application of case logic for data reclassification, the creation and use of views, the creation and application of simple and composite indexes, and the construction of complex queries including inner and outer joins. | proc sql, where statement, proc step, inner join, select, index, view, data merging, order by, right join | source | 10 |
| 6 | A Journey to Ellis Island: Profiling Historical Immigration Using SAS and JMP Time Series Methods | Archie J. Calise, Joseph E. Earley |
This paper uses the Time Series Forecasting System(TSFS) from SAS along with JMP smoothing procedures to estimate and perform in-sample forecasts for the historical movement of immigration to the Port of New York Ellis Island facility (Figure 1). Results indicate that the upheaval in Europe due to World War I along with the quota changes resulting from the National Origins Act of 1924 were primary factors in modeling the movement of immigrants to the Port of New York Ellis Island immigration facility. Figure 1 -100 100 300 500 700 900 1100PortNY 1890 1900 1910 1920 1930 1940 1950 1960 year | regression analysis, time series analysis, adjusted r-squared, bayesian information criterion, response variable, null hypothesis, likelihood function, binary variable, predictor variable, proc esm, residual | source | 6 |
| 7 | A Macro Mapping Date and Time Variable to CDISC Date and Time Variable | Song Liu, Brett Sellars |
The Clinical Data Interchange Standards Consortium (CDISC) has been developing industry standards to support the processing of clinical data. The Study Data Tabulation Model (SDTM), which divides the clinical data by three classes, Intervention, Events, and Findings, defines a standard structure for study data tabulation that are to be submitted as part of a product application to the Food and Drug Administration. Timing variables, which describe the timing of an observation, are specified in the format of ISO 8601 across all classes under SDTM. This paper is to discuss how to convert date/time variables collected from a clinical trial to date/time variables as defined in CDISC SDTM Version 1.1 (V1.1). | time variable, study day, imputation, clinical trial, if-then-else, sysdate9, date variable, cdisc | source | 5 |
| 8 | A Meeting of the Minds | Kathryn A. Valdes | Analysis of data is fascinating and tells the story of our research, but often the challenge comes well before the analysis stage. Making sense of the data-making certain they are accurate and will tell a true story-often consumes a great amount of programming time and precious brain cycles. Our data has multiple sources of identification and demographic data, subject IDs are not always consistent, and the collection of longitudinal data is compromised when participants opt out of a study or move. To address these issues, we created a methodology for combining multiple sources of identification and demographic data from different collection points. The result is cleaner data, easier programming, fewer missed opportunities in analysis, and clearer documentation of the data-cleaning process. | missing value, proc step, macro variable, proc freq, proc sql | source | 7 |
| 9 | A Peek at PROC DOCUMENT | Andrew H. Karp | A major enhancement to the SAS Output Delivery System (ODS) in SAS 9 Software is implementation of the DOCUMENT Destination, which allows SAS users to store ODS-generated objects in a re-useable file structure called a "document." ODS DOCMENTS can be accessed, re-played, and manipulated using the new DOCUMENT Window or PROC DOCUMENT, an interactive BASE SAS Procedure which is also new to the SAS System in Version 9. Learning to use the DOCMENT Destination, DOCUMENT Window and DOCUMENT Procedure will give you enhanced control and flexibility when using ODS to generate output. Core Concepts: ODS Tables, Objects and Destinations In order to understand the new DOCUMENT capabilities added in SAS 9, it is important to first understand how the Output Delivery System works within the overall framework of the SAS System's creation of output by Procedures. |
proc step, output delivery system, sas 9, proc logistic, credit card, sas risk engine, dataset, logistic distribution, sas base, sas output | source | 5 |
| 10 | A Programmer's Guide to Statistical Procedures | Jim Edgington | Programmers and statisticians have distinct jobs in the creation of reports used in clinical development. Statisticians write required statistical methods and examine the data to determine its limitations or constraints. In turn, the statistician informs the programmer as to what type of SAS procedure to use. Programmers, with their specialized knowledge of SAS code, build a program around the procedure received from statisticians. Effective statisticians understand the programming side of the problem, foresee potential issues, and collaborate with the programmer. The goal of this paper is to give the programmer insight into how a statistician chooses the statistical method for a given set of data. As a result, a programmer can provide input to improve the quality of the final product and cut the report process development time. | sample, normal distribution, clinical trial, degrees of freedom, data science, confidence interval, binomial distribution, proc freq, proc step | source | 4 |
| 11 | A Regulatory Compliant Process for Developing SAS-Based Reports | Chuck Reap | This paper describes an efficient process that is tailored for the high-volume, batch-based reporting that is common in the pharmaceutical and other regulated industries. It includes topics such as code sharing, code promotion, code maintenance, check-in and check-out, audit trails, versioning, batch processing, output management, sign off, and quality control. The presentation walks the audience through the process using technology provided by SAS Drug Development 3.0. | clinical research, macro definition, sas programmer, sas log, data cleaning, sas output, audit trail, production run, sas enterprise guide, macro variable | source | 15 |
| 12 | An Introduction to SAS Character Functions (Including Some New V9 Functions) | Ronald P. Cody | SAS software is especially rich in its assortment of functions that deal with character data. This class of functions is sometimes called STRING functions. With over 30 new character functions in Version 9, the power of SAS to manipulate character data is even more impressive. Some of the functions discussed are LENGTH, SUBSTR, COMPBL, COMPRESS, VERIFY, INPUT, PUT, TRANWRD, SCAN, TRIM, UPCASE, LOWCASE, concatenation, INDEX, INDEXC, and SPEDIS. New and exciting Version 9 functions covered include the ANY and NOT functions, the concatenation functions (and call routines), COMPARE, INDEXW, LENGTHC, PROPCASE, STRIP, COUNT, and COUNTC. The paper also explains how SAS assigns storage lengths to character variables. | character variable, substr function, compress function, character functions, input statement, length statement, verify | source | 15 |
| 13 | Analysis of Group-Randomized Designs: A clinic-based breast cancer rescreening example | Jesse Albert Canchola, Regina Otero-Sabogal |
Assigning multiple treatments/interventions to clinic s or communities over time (rather than to individual subjects over time) involves contamination issues and several key reasons for considering the group - randomized designs (GRD) (MRC, 2002; Donner & Klar, 2000; and Murray, 1998): 1. The treatment/intervention to be studied is itself delivered to and affects groups of people rather than individuals; 2. The treatment/intervention is targeted at health professionals with the aim of studying its impac t on patient outcomes; 3. The treatment/intervention is given to individuals but might affect others within that cluster (i.e., so -called contamination); 4. The target population is highly mobile so that individual follow -up would be prohibitively expens ive. We utilize the SAS MIXED and GLIMMIX procedures to analyze group randomized designs. We use several illustrations, including a clinic -based breast cancer rescreening example. | degrees of freedom, fixed effects, proc mixed, correlation, sample, logistic regression, regression analysis, proc glimmix, intraclass correlation, logistic distribution, significance level, binomial distribution | source | 9 |
| 14 | Anyone Can Learn PROC TABULATE | Lauren E. Haworth | SAS Software provides hundreds of ways you can analyze your data. You can use the DATA STEP to slice and dice your data, and there are dozens of procedures that will process your data and produce all kinds of statistics. But odds are that no matter how you organize and analyze your data, you'll end up producing a report in the form of a table. This is why every SAS user needs to know how to use PROC TABULATE. While TABULATE doesn't do anything that you can't do with other PROCs, the payoff is in the output. TABULATE computes a variety of statistics, and it neatly packages the results in a single table. Unfortunately, TABULATE has gotten a bad rap as being a difficult procedure to learn. This paper will prove that if you take things step by step, anyone can learn PROC TABULATE. This paper is based on Version 8, but all of the examples save the last one will also work in Version 6. |
proc tabulate, proc step, ods html, excel | source | 15 |
| 15 | Arrays by example | Diana D. Suhr | Get ready to master array syntax and discover how DATA STEP arrays promote efficient programming techniques. Learn how to use implicit/explicit array statements, simple and multidimensional arrays, and arrays for input statements, initializing values, recoding, and calculations. Expand on array syntax with _NUMERIC_, _CHARACTER_, _TEMPORARY_, DO, and %LET. The power of array statements will be illustrated with simple to complex examples. Array Definitions According to the Merriam Webster Dictionary Online, an arra y is a regular and imposing grouping or arrangement. SAS Online Docs, defines an array as a set of variables put into a temporary group for the duration of the DATA STEP, a set of elements you plan to process as a group (SAS9.1.2 OnlineDoc, 2004). An array-name identifies the array is a name you choose distinguishes it from other arrays in the same DATA STEP is different from a SAS function name * is not a variable. |
array, do loop, macro variable, array bounds, conditional do loop | source | 10 |
| 16 | Better Communication, Analysis and Decisions SAS plus GIS | Stephen Trammell | SAS is now incorporating Geographic Information Systems (GIS) functionality in many of its current applications and will be adding GIS to even more applications in the near future. This paper will briefly discuss the benefits of utilizing GIS functionality to not only enhance current analytic capabilities of SAS but to make entirely new analyses possible. The presentation will also highlight the improved communication of discovered intelligence through the use of GIS maps. | banking, data science | source | 4 |
| 17 | Building SAS Business Intelligence Applications in the Analytic Work Group: Synergistic Benefits | Christine Beck, Bryan Fisher, Waling-Waling Rosello, Tom Wilson |
SAS software offers a unique opportunity to integrate extraction, transformation and load (ETL) processes, data manipulation and summarization, and higher-level analytics. We took advantage of these capabilities in our analytic group to meet the challenge of analyzing public mental health data at the State Department of Mental Health. We have found that using SAS in this role - as an end-to-end solution - not only improves our ability to serve our stakeholders in a timely manner, but also enhances our understanding of the data and boosts the creativity within our analytic group. | macro definition, macro variable | source | 7 |
| 18 | Can Matrix Capture Missing Data Values? | Keh-Dong Shiang | Although you have put forth significant effort in data collection, the data set may still contain some missing values. It is essential to understand how missing values are handled in SAS function, MISSING function, as well as procedures, such as PROC MEANS, PROC UNIVARIATE and PROC FREQ. The NMISS, N and MISSING options in these procedures can be added to extract and report information pertaining to the missing numeric values. To complement the function of capturing missing numeric data, array and matrix concepts, as well as the procedure of Interactive Matrix Language (IML) have been incorporated to identify, tabulate and present the information of missing values via bidirectional (horizontal and vertical) output for both numeric variables and character variables. The macro presented in this paper consists of a SQL procedure, a DATA STEP and some basic vector and matrix operations using PROC IML. |
proc step, missing value, proc freq, sample, proc iml, proc means | source | 9 |
| 19 | 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 |
| 20 | Coding with Compassion - Giving Everyone Access to The Power to Know | Jennifer S. Harper, Lisa Pappas |
Accessibility means making electronic information and technologies usable by people with disabilities. Many people with disabilities use special assistive technologies, such as screen readers or screen magnifiers, to make the information usable. U.S. legislation, an aging population, and increased reliance on the web combine to make accessible web content a business best practice. To not only comply with U.S. law, but also to make the software usable by a broader range of people, SAS has worked to enable coders to make their SAS output available to assistive technologies. Beyond the legal requirements, most SAS coders and their organizations would simply want to do the right thing in terms of accessibility if they knew how. By specifying some simple options in SAS, you can start down the path to accessible output. In this paper, we offer specific SAS coding tips and demonstrate the value of different options in ODS and SAS/GRAPH output. |
proc step, sample, ods html, proc report, proc tabulate, sas output | source | 15 |
| 21 | Combining Segmentation and Targeting Modeling: A Winning Formula | Aaron Lai, Howell Kiung |
Customer Segmentation is used to improve customer e xperience based on his/her demographics or lifecycl e. The idea behind demographic segmentation is to provide a comprehensive solicitation strategy based on thei r needs. Many companies, such as Acxiom, have rushed to develop sophisticated segmentation programs for this. They need to analyze all attributes in their demographic databases. Targeting Model is a technique that ra nks the response likelihood of customers/prospects. In th is paper, we will explain how did we utilize both technique to significantly improve response rate, as well as a b etter understanding of the customers or prospects. PROC FASTCLUS and PROC Logistics will be used. |
logistic regression, logistic distribution, proc step, regression analysis, customer segmentation | source | 3 |
| 22 | Comparing Macros to Arrays to Simple Code for INPUT Statements: A Visual Display for the Novice Programmer | Lara Jungvig-Hilton | As a novice SAS programmer, I was thrown for a (%DO) loop by macros. I was not comfortable using macros until the day I was faced with an option: create and read in over 200 new variables by typing out all of their variable names or write several lines of code to do it for me. The decision was quick, and I have embraced macros ever since. This paper compares macro code to arrays to a simple input statement. By presenting the code side by side, I hope to unfold the basic concept of the array and the macro and to demonstrate different coding techniques. Furthermore, I hope to convince the reader that the SAS macro language, although intimidating at first sight, can be a timesaving tool that takes some of the drudgery out of writing programs. | input statement, do loop, macro facility | source | 5 |
| 23 | Comparing the SAS XML Libname Engine with ODS MARKUP in the Creation of XML Files | Kirk Paul Lafler | XML is quickly becoming the industry standard for the transmission and manipulation of data over the Web . With the availability of powerful tools and capabilities in the SAS System, SAS users are able to easily and quickly create XML files from SAS data sets and procedure output. This paper illustrates the SAS XML LIBNAME Engine against the ODS MARKUP statement to create default XML output. |
dataset, libname engine | source | 6 |
| 24 | Computing Exact Power for Multivariate Repeated Measurements Design | Jimmy Thomas Efird, Kavitha Alimineti |
Repeated measurements often arise in medical and laboratory research when investigators are constrained by costs or time to give all study treatments to each experimental unit/participant one at a time. In this paper, we derive a generalized method for computing the exact power for a repeated measurements design given the simple case of no learning effect. | covariance, sample | source | 4 |
| 25 | Customizing ODS Statistical Graphs | Cynthia L. Zender, Catherine Truxillo |
Have you heard about ODS Graphics or seen some of the demos? If you are a statistician interested in obtaining easy graphics from statistical procedures, ODS Graphics features provide an automated way of exploring statistical results with a picture. However, if you are a SAS programmer interested in customizing the plots automatically produced by ODS Graphics, you can benefit from an understanding of the graph and style templates that SAS provides for these plots, especially to make changes that persist from one application to the next. Follow the authors on a journey of discovery with ODS Graphics, as they explain how to access and modify graph templates. By the end of the presentation, which includes code samples and demos, you will have a better understanding of the relationship between statistical procedures, graph templates, style templates, and DATA _NULL_ programs. The authors take you through every step of their discovery process. |
proc princomp, proc step, proc template, macro variable, ods html, sas log, proc sgplot, graph template language, title statement, sas programmer, select, output delivery system | source | 22 |
| 26 | Data Collection, Database Management and Reporting in Real-Time based on SAS and Other Applications | Beate Danielsen, Barbara Murphy, Jeffrey B. Gould |
One of the most expensive aspects of collecting data is ascertaining the quality of the data collected. The focus of the California Perinatal Quality Care Collaborative (CPQCC) is the development of perinatal and neonatal outcomes and information, which allows for data driven performance improvement and benchmarking throughout California. The CPQCC base management and reporting system was designed to offer an efficient way to allow a) on-line data submission that would be convenient for CPQCC participants, b) instant error checking, and c) real-time reporting resulting in a high quality database supporting informed decisions. Also developed was a separate annual report module that allows the establishment and monitoring of QI goals. SAS/BASE, SAS/INTRNET, SAS/GRAPH, MS Office/Access, MS Office/EXCEL, Winrar, Adobe Acrobat Distiller, and JavaScript were integrated to form this application. |
excel, put statement, %if-%then-%else | source | 12 |
| 27 | Data Integrity through DEFINE.PDF and DEFINE.XML | Sy J. Truong | One of the key questions asked in determining if an analysis dataset is valid is simply, what did you do to get to those derived variables? This simple question is what a reviewer would ask during an audit as in a regulatory audit of an electronic submission. The answers to this question are found in the documentation of the analysis dataset. This can be found in the define.pdf or define.xml files. This paper will explore the steps needed in documenting this metadata along with methodologies and utilities to automate it. Some of the topics covered include: 1. Organizing all the datasets that are to be documented 2. Documenting variable attributes as seen in a PROC CONTENTS 3. Decoding format codes 4. Determining the origins or source of the data 5. Ways of automating the capture and presentation of the metadata In an environment where regulatory requirements change, the need to document how variables are derived still remain the essence to understanding the data. |
proc contents, data standard, sas programmer, crf, proc step, data science, excel, cdisc | source | 14 |
| 28 | Database-ics A Primer for Creating a Usable Database in SAS | Frank A. Ferriola | Companies today drive key business strategy from the analysis and reporting of corporate data. Using data with integrity checks improves the outcome of this strategy along with eliminating the pitfalls of determining which report is the truest measure of the company's operations. By addressing gaps in the data and fully populating all fields, organizations can create centralized databases giving them a "single version of the truth." This presentation overviews the strategy and standards used by a major financial services organization in deploying databases utilizing SAS Software. We will look at building databases with integrity checks and review the steps for taking inventory of the data, defining/re- defining its use, and populating fields. These practices ensure the construction of "single version of the truth" databases providing organizations with credible information to drive successful strategies. | data dictionary, financial services | source | 4 |
| 29 | Deployment of a Data Transfer Application Using PROC SQL and Nested Macros | Keh-Dong Shiang | With more and more data being electronically delivered via the Internet, complications arise when we attempt to bring together the information currently maintained by heterogeneous systems. However, data transformation and loading are the vital components of data integration projects, which are also defined here as the processes of moving stored data from one system (source system, denoted by S) to fit into another system (target system, denoted by T) uni- or bi- directionally, where S and T can be any of: SAS, Microsoft SQL Server, Access and Oracle. Hence, building a bridging system to link the two independent data systems is essential in the effective management of multiple data systems. This paper describes a step-by-step methodology to transfer data between the back-end database systems. The concept of a mapping table as well as the application of 4-level nested macros and SQL procedures are also introduced. | crosswalk, proc sql, do loop, raw data, macro definition | source | 8 |
| 30 | Documenting Your Data Using the CONTENTS Procedure | Curtis A. Smith | SAS makes documenting our data very simple, whether we have one SAS data set, or an entire data warehouse. We can use the CONTENTS procedure to generate a detailed report of our SAS data libraries, SAS data sets, and SAS data views. The CONTENTS procedure will document our data set column attributes, data set and column descriptions, number of rows, indexes, creation date, modification date, and more! We can use the data set LABEL option and the variable LABEL statement to better document our data. The CONTENTS procedure will use these labels to improve the quality of our metadata. Documenting the data about our data, called 'metadata', is critical to providing better assurance that our data is used properly. |
proc contents, proc step, dataset, label statement, libname statement, data warehouse | source | 8 |
| 31 | Drill down into your SAS data on the web while using XML, javascript and HTML | Bruce Kayton | XML is largely touted as the way of the future for sharing data between applications and across platforms. Problem is, that on it's own, XML doesn't present itself all too well. This is particularly true when large quantities of data are presented. This paper discusses how to generate the XML output using SAS and then explore ways to present the data in a browser using HTML, Javascript and Cascading Style Sheets. | source | 5 | |
| 32 | 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 medication usage are recorded. Clinical programmers are required to comput e 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, sas output, clinical trial, temporary dataset | source | 9 |
| 33 | Effects of PROC EXPAND Data Interpolation on Time Series Modeling when the Data are Volatile or Complex | Keiko I. Powers | Discrete time series modeling, such as ARIMA, transfer function modeling, etc, assumes that the data are based on the equally spaced intervals of time and no missing data. In the case of missing data, data imputation has to be performed first before time series modeling, and PROC EXPAND of SAS/ETS allows interpolation of time series data. Using the automobile point-of-sales data, the present study investigates if and how PROC EXPAND data interpolation affects time series modeling, when the data are volatile (e.g., vehicle sales price) or complex (e.g., sales volumes, which exhibit seasonality with respect to week, month, and year). Just as with the study by Powers (2004) that investigated another PROC EXPAND function, i.e., frequency conversion, it is important to know the existence and nature of effects of missing data imputation when developing and interpreting time series models. . |
time series analysis, missing value, time series data, proc step, imputation, proc freq | source | 7 |
| 34 | Enterprise Guide for Business Analysts | Sunil Kumar Gupta | Business Analysts will find that SAS's new Enterprise Guide makes it easier to perform data analysis and reporting. Using the task-oriented menus reduces the time to deliver results. This presentation shows simple step-by-step instructions on how real-world business-related questions can be answered using Enterprise Guide. With a better understanding of product sales, you can predict trends for better planning. With Enterprise Guide, you have access to the full power of SAS's analytic capabilities without writing any SAS code. Learn SAS programming the easy way and automatically generate SAS code for your reports. This paper will feature Enterprise Guide version 3.0. This paper addresses the following topics: SAS Enterprise Guide: The Basics Selecting Analysis and Reporting Tasks Producing Reports for Distribution | sas enterprise guide, proc hpsplit, proc step, sas programming, excel, data science | source | 13 |
| 35 | Exploring DICTIONARY Tables and SASHELP Views | Kirk Paul Lafler | SAS users can quickly and conveniently obtain useful information about their SAS session with a number of read - only SAS data views called DICTIO NARY tables or SASHELP views. At any time during a SAS session , information about currently defined system options, libnames, table names, column names and attributes, formats, indexes, and more can be accessed and captured . This paper explores the purpose of DICTIONARY tables and views, how they are accessed, and what information is available to SAS users. Attendees will learn how these important tables and views can be accessed and applied using real-world scenarios. | dictionary tables, proc sql, proc step, sas library, options statement | source | 6 |
| 36 | Extreme Graphics Make Over: Using SAS/GRAPH to Get the Graphical Output You Need | Miriam G. Cisternas, Arthur L. Carpenter |
Back in the days of the mainframe, creating presentation quality graphs was a challenge, but with the current versions of SAS/GRAPH customizing your graphical output can be quite easy. Easy that is, once you know which of the many graphical statements and options to use. This workshop will introduce you to those statements and options. Through a series of exercises we will show you how you can dress up your GPLOT graphs. You will quickly learn how to customize titles, footnotes, axes, and plotting symbols, as well as how to add reference lines, legends and notes to highlight specific messages in your data. You will also gain an understanding of how specific GOPTIONS and global statement options interact to create your finished product. |
proc gplot, proc step, sas base, options statement, footnote statement, run, randomization | source | 16 |
| 37 | Extreme Web Access: What to Do When FILENAME URL Is Not Enough | Garth W. Helf | This paper shows you how to write an automated Web browser in SAS. One reason you might want to do this is to extract data from useful websites, so you can load it into a data warehouse. SAS provides the URL access method to read HTML from web pages, but we will see why it won't work for many websites. Instead, we will use the SOCKET access method to perform the basic functions of a web browser. We will understand how a web browser works by learning about Hypertext Transfer Protocol (HTTP) - the standard technique for sending HTML over the internet. We will see how to use an HTTP viewer program like httpExplorer to observe the HTTP request sent to a web server and the HTTP response sent back to the browser, so that we can replicate the same communication in a SAS program. Finally, we w ill see how to handle some special cases, like Chunked transfer encoding. | macro variable, filename statement, macro call, sas log | source | 17 |
| 38 | Get Going with PROC SQL | Richard Severino | PROC SQL is the SAS System's implementation of Structured Query Language (SQL). PROC SQL can be used to retrieve or combine/merge data from tables or vi ews as well as generate reports and summary statistics. With PROC SQL you can modify and update tables, create new variabl es on the fly, access data from a databas e and join SAS data sets to each other or to tables from a database. This tuto rial will introduce the basics of PROC SQL as well as some advanced features to help you start using PROC SQL effectively. |
proc sql, proc step, group by, select, where statement, proc means, create table, macro variable, alter table, lookup, sas output, inner join, full join, sas base, delete, macro put | source | 20 |
| 39 | Get It Together: Combining Data with SAS MERGE, UPDATE, and SET | Mel Widawski | Combining data sets is easy with Merge, Update or using the SET statements. You will learn when to do each and how they are different. Simple examples illustrate the results of combining data sets. Pitfalls will also be discussed. |
set statement, transaction data, missing value, data step, proc step, order by, by group processing, update statement, dataset, merge statement, proc sort, if-then-else | source | 12 |
| 40 | Graphing the Probability of Event as a Function of Time Using Survivor Function Estimates and the SAS System's PROC PHREG | Tyler C. Smith, Besa Smith |
The objective of this Hands on Workshop is to walk the audience through an analysis of time-to-event data using PROC PHREG. Workshop attendees will investigate for collinearity, confounding, and interactions during the model building phase of the presentation. The investigation for differences between event probabilities over time for two or more cohorts while adjusting for other influential covariates will culminate in the establishment of proportional hazards and reporting of hazard ratio estimates. The SAS system's PROC PHREG with baseline option is a powerful tool for researching time to event with attrition of subjects over a long study period. From the survivor function estimates probability of event curves as a function of time can be plotted. This workshop is aimed at intermediate level statisticians, epidemiologists, and data analysts. |
predictor variable, survival analysis, survival function, hazard function, proc step, regression analysis, likelihood function, proc phreg, probability distribution, proportional hazards assumption, cumulative frequency, response variable, null hypothesis, follow-up period, hazard ratio, kaplan-meier estimator, estimate, nominal variable, left censoring, relative risk, right censoring, treatment arm, correlation, proc freq, proc reg | source | 18 |
| 41 | Habits that Help: Developing Good Programming Style | Casey Cantrell | The first goal of most new programmers is to write programs that run. Often, more time is spent checking and debugging programs than is spent writing them. As programmers mature, they typically find it easier to test, debug and document their programs. This occurs in large part because they have developed a consistent programming style and acquired habits that expedite error detection and documentation. Putting into practice a few simple procedures will yield significant benefits: greater accuracy, fewer hours invested and less aggravation. This paper will discuss practical programming 'habits' that will make the programmer's work easier. | proc step, sample, missing value, do loop, proc format, if-then-else | source | 13 |
| 42 | How to Find Answers: Using SAS Resources | Ginger Carey, Helen D. Carey |
The vast amount of information on the SAS System, particularly that available through the Web, can be overwhelming. Knowing where to find the information you need saves time and frustration. This paper is about the variety of information and media available and describes where to learn more about SAS and find answers to your SAS questions. | sample, sas 9, sas base, proc step, sas enterprise guide, sas programmer | source | 15 |
| 43 | How to Get Promoted: Planning for Career Growth | Sandra Minjoe | Are you stuck in what feels like a dead-end job? Did someone else get the promotion that you felt you deserved? Are you plagued with boring tasks and looking for something more challenging? Is your current management seemingly unaware of skills that you have that could contribute to the department? If you answered "yes" to any of these questions, read on for some tips that might help you grow in your career. As we spend more time in the field of SAS programming, we move from performing straightforward tasks under direct supervision of others, to working alone on a big chunk of work, to tackling more complex tasks, to supervising other programmers, and so on. As we gain experience and skills, we expect to be promoted up the line, accepting more responsibility in exchange for higher pay and a loftier title. But promotions are usually not given as a reward for doing things well, or for sticking around a long time. Instead, promotions are a way of filling a particular need of the company. | sas programmer, clinical trial | source | 8 |
| 44 | Identify Customers from Multiple Lists Using Fuzzy-Matching Technique | Raymond Chan, Howell Kiung |
This poster presents the fuzzy-matching technique used to identify customers from multiple lists. Credit card, equity, business, and loan customer records are standardized through delivery point verification and then matched through a customer householding process. The approach can be applied to any marketing strategic plan, reduces processing and mailing costs, provides high solicitation accuracy from similarity scores, is easy to customize, reduces processing redundancy, and increases productivity. Users can adjust the mailing population by lowering the matching score. | source | 2 | |
| 45 | Illustrating Concatenation Operations with PROC APPEND | Kirk Paul Lafler | The APPEND procedure provides SAS users with an efficient method for concatenating observations from a smaller data set to a larger data set. This paper explores how PROC APPEND is used, how it works, what happens when variables in the smaller data set are not present in the larger data set, and its advantages over other concatenation |
proc append, proc step, where statement | source | 2 |
| 46 | Improving Your Graphics Using SAS/GRAPH Annotate Facility | David J. Pasta, David R. Mink |
Have you ever created a graph with SAS/GRAPH and really liked it … e xcept 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 | 13 |
| 47 | Intelligent SAS Log Manager | Paul D. Sherman | The SAS log generated during program execution is one of the richest sources of application health, especially when dealing with macros which build and invoke code dynamically. Explicitly sending messages to the Log Manager at critical steps throughout the application, one may disable all low-level SAS feedback and present only relevant, highly specialized information to the SAS log. One is led immediately to the source of both compile-time and run-time errors. Resulting is a clean, well-structured and specific trace of application flow throughout the entire job submitted. | sas log, call execute, macro call, &variable, macro loop, macro definition, %if-%then-%else, proc step, macro variable, proc sql | source | 4 |
| 48 | Introducing the GLIMMIX Procedure for Generalized Linear Mixed Models | Oliver Schabenberger | This paper describes a new SAS/ST A T procedure for fitting models to non-normal or normal data with correlations or nonconstant variability . The GLIMMIX procedure is an add-on for the SAS/ST A T product in SAS 9.1 on the Windows platform. PROC GLIMMIX extends the SAS mixed model tools in a number of ways. For example, it models data from non-Gaussian distributions implements low-rank smoothing based on mixed models provides new features for LS-means comparisons and display enables you to use SAS programming statements to compute model effects, or to define link and variance functions * fits models to multivariate data in which observations do not all have the same distribution or link Applications of the GLIMMIX procedure include estimating trends in disease rates, modeling counts or proportions over time in a clinical trial, predicting probability of occurrence in time series and spatial data, and joint modeling of correlated binary and continuous data. |
proc glimmix, proc mixed, proc step, likelihood function, binomial distribution, covariance, response variable, poisson distribution, covariance structure, fixed effects, logistic regression, normal distribution, proc calis, estimate, correlation | source | 20 |
| 49 | Introduction to Arrays | Eric P. Elkin | Have you ever typed in line after line of code, only to realize that there may have been an easier way? Arrays can be a powerful programming tool for DATA STEP processing in SAS. They can help you make your code more efficient and easier to follow. This tutorial covers syntax and basics, array functions, practical uses of arrays, and programming tips. It includes common considerations, with examples, and provides recommendations. |
array, array functions, array bounds | source | 6 |
| 50 | Introduction to SAS maps | Gur Hoshen | Visual representation of geographic data can offer insights wh ich a reader or client might otherwise not grasp if presented in text or tabular format. SAS Graph provides some useful ways to display data with maps. This paper will provide a few examples of using maps. | proc step, proc sql | source | 8 |
| 51 | Introduction to 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 SAS 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. |
sas enterprise guide, proc tabulate, proc step | source | 14 |
| 52 | It's the lines per page that counts | Jonathan M. Squire, Johnny Tai |
When the bodytitle option is used to keep titles and footnotes independent of the table body, a line counter and page break variable must be manually programmed. We present a method of dynamically adjusting each page to fit the maximum number of lines, adjusting for titles, footnotes, column headers, and text strings that wrap onto multiple lines. As the text wrapping is dependent on font size, we present an efficient way to "size up" each character. Theis issue is geared for intermediate to advanced programmers with some ODS and SAS/MACRO familiarity. |
proc report, proc step | source | 5 |
| 53 | Job Security: Using the SAS Macro Language to Full Advantage | Arthur L. Carpenter | As has been discussed in other papers on the topic of Job Se curity, those working in the field as Job Security Specialists must always be ready to take advantage of all types of programming techniques. Fortunately the SAS Macro Language contains many hidden gems that can provide many hours of programming pleasure. By examining how these macro language gems relate to t he code that is generated by the macro language, the specialist can gain further insight and understanding into why things work the way that they do. This paper will present a few of these gems, how they relate to the DATA/PROC STEP programmer, and how the specialist can take full advantage of them. |
macro variable, macro facility, job security, macro loop, %if-%then-%else, symbol table, macro definition, macro put, call execute, macro call, options statement, autocall macro, macro function, proc step, stored macro | source | 8 |
| 54 | 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. Why Skip Code? At times you want to run or test some statements and skip others. Some reasons why you may want to skip the code are: ƒ data set has already been created ƒ data has been checked or explored ƒ portion of code has been debugged ƒ code is no longer needed, but you want to leave it in program Submit Portion of Code Let's look at submitting a portion code in the windowing environment. First select the code that you want to submit. As a reminder, here are three ways to mark the text. (1) You can click the right mouse button and then drag the mouse over the code to be selected and release the button. | comment statement, macro variable, macro definition, proc step | source | 8 |
| 55 | Looking into Oracle with SAS: Designing a simple SAS Windows interface for an Oracle Database. | Allison Mercer | Using the capabilities of Base SAS it is possible to build an interface that allows SAS users to update and maintain an Oracle database. Many database functions can be performed from the SAS platform. Additionally, by designing windows appropriate to the task at hand, support staff with no programming knowledge can create tables and update existing data structures. For a SAS shop where most data processing is done with SAS Procedures, this interface is ideal. Programmers can use the powerful SAS statistical procedures to process their input data and then write the finished product directly into the database, where it can be easily extracted in the format desired by the end user. This paper demonstrates the usage of the SAS interface, shows some of the easiest ways to "talk" to Oracle on the fly and describes how to design the attractive and "user friendly" SAS windows that form the interface. | proc contents, proc step, oracle, sas library, cpu time, dataset | source | 9 |
| 56 | Macros to Help Organize and Standardize SAS Projects | S. Patrick Thornton | Organizing SAS System project files, creating library names (i.e., librefs), and typing file paths are all common activities throughout a SAS project. Each of these ubiquitous activities and decisions subtly increases the time to complete a project and may introduce inconsistencies that make documenting, migrating, or working across projects a challenge. This paper discusses a macro program for creating and using folders to organize files across SAS projects. At the start of a SAS project, the macro was used to create user-defined folders to store files. At the start of a SAS session, the macro was used to establish a library name for each folder and to store the path for each folder in a macro variable. The consistent use of folders, library names, and macro variables to resolve folder paths is shown to help with documentation, project migration to new locations, and cross-project and/or cross-programmer readability. | macro variable, call symput, libname statement, sas syntax, dataset | source | 6 |
| 57 | Make 'em %LOCAL: Avoiding Macro Variable Collisions | Arthur L. Carpenter | Have you ever run a macro, perhaps someone else's, and found that it inadvertently changed the value of a totally unrelated macro variable in some other seemingly unrelated macro symbol table? You may have experienced a macro variable collision It is not unusual to use the Global macro symbol table to make macro variable values available throughout an application. Doing so, however increases the risk that a macro variable created in a macro within the application will, by mistake, overwrite that value. The risk even extends beyond the global symbol table whenever you have macros that call macros. This paper discusses the concept of the macro variable collision, what causes it, and how you can protect yourself and others from its potentially crippling effects. | macro variable, symbol table, macro loop, local symbol table, global symbol table, do loop, macro definition | source | 4 |
| 58 | Making Your Data File More Versatile for Web Applications | Maureen Ross | Web applications allow users to easily access, view, and download data into a more manageable format. These applications are one solution to bridge the gap between the data source and the non-programmer data users. Our agency created a Web application that contained data for over 100 static data reports; many of these reports contain the same data but were broken out by different variables. However, these reports were populated by multiple SAS programs and run by various programmers. Consequently, two reports with the same data were created with two different methodologies, led to inconsistent data across the reports. This presentation will show that the new methodology for creating your data file used by secondary sources will create more flexibility for your reporting methods, decrease processing time, improve the overall maintenance of the SAS programs and data, better quality control, and will create more consistency among programs, reports and data. | proc step, proc tabulate, proc means, lookup, dataset | source | 6 |
| 59 | Meta Data That You (Probably) Didn't Know That You Had: A Beginners' Guide to Using SAS Dictionaries and Automatic Macro Variables | Richard F. Pless | Very often programmers find themselves re-running the same code with slight modifications to reflect a new FILENAME, date or directory. How many times have you found yourself making minor edits to existing code to help it run on a new day or handle a slightly different input file? How many times have administrative notes not been updated such as who ran the code or where it is located? Even worse, how many times have deadlines been missed because a program's author wasn't there to make the necessary minor edits to the code? Thankfully SAS has a number of tools to help you reduce the tedium of manual updates and avoid their associated errors. SAS provides a number of resources that can be easily incorporated in your code to make your programs more extensible and robust. Many hard-coded dataset and variable references in your code can be replaced through the use of SAS dictionaries. |
macro variable, automatic macro variable, sysrc, proc step, proc sql, proc compare, date variable, select, filename statement, libname statement, dataset, macro put, options statement, dictionary tables | source | 12 |
| 60 | MISSING VALUES: Everything You Ever Wanted to Know | Malachy J. Foley | Many people know about the 28 different missing values for SAS numerical data. However, few people know about the many different missing values for character data. This paper reviews all the different types of missing values, their sort order, the difficulties they can cause th e SAS programmer and how to avoid those difficulties. It also discusses the MISSING system option, and how to use the various missing values in input, output, comparisons, and in PROC FREQ. |
missing value, proc step, options statement, proc freq, sas log, input statement, proc print, macro variable | source | 8 |
| 61 | Modular Programming using AF/SCL | Kevin Graham | How to build modular SAS/FRAME applications, separating decision-logic from task-logic without separating your brain from your sanity. Effectively accommodate changing program specifications. |
proc sql, catalog, create table, proc step | source | 12 |
| 62 | Moving Data and Analytical Results between SAS and Microsoft Office | Vincent DelGobbo | Transferring data between SAS and Microsoft Office can be difficult, especially when SAS is not installed on a Windows platform. This paper discusses using the HTML and XML support in Base SAS software to move data between SAS and Microsoft Office (versions 2002 and later). You can use the techniques described here regardless of the platform on which SAS software is installed. | excel, dataset, sas output, xls, ods html, ods xml, adverse events, macro definition, sample, proc template, proc step, sas base, libname engine, work library | source | 20 |
| 63 | 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 us ing ODS templates and ODS styles; * Create statistical graphs us ing ODS Graphics Template Language. |
clinical research, proc step, proc sgplot, data visualization, output delivery system, ancova, survival function, proc means, box plot, ods graphics, proc template, proc reg, scatter plot, anova, regression analysis, covariance, proc ttest | source | 20 |
| 64 | Old Fashion but Still Useful: Applications for Running the X Statement to Issue DOS Commands in the Windows Operation System | Na Li | Using the X statement in SAS to issue DOS commands and initiate other Windows applications can be very useful and efficient in managing, comparing and scheduling SAS programs and setting data set and program permission attributes. This paper details some application examples for programmatically copying programs from one directory to another, creating directories based on the contents of the data, scheduling programs to execute in sequence, comparing programs between directories, and setting up read/write permissions. The advantages of using the X statement and some usage considerations are also discussed. | macro variable, txt, excel | source | 5 |
| 65 | Overcome Programming Problems with SAS Automatic Variable N | Louie Huang | The automatic variable _N_ is automatically created by the DATA STEP or DATA STEP statements. It exists in the program data vector but is not exported to the data set being created. The value is retained from one iteration of the DATA STEP to another. The power of this variable in programming is often overlooked. This presentation is intended to demonstrate how to use the automatic variable _N_ to overcome complicated programming problems. A few practical examples will be introduced in this presentation. |
_n_, automatic variable, proc step, macro variable, proc sql, dataset, proc report, macro loop | source | 8 |
| 66 | Patient Profile, a Simple Approach | Sandy Chang | A patient profile is a graphic display of individual patient specific information over time that helps one understand the relationships between the data for a patient. Given budget and resource restrictions, companies often cannot afford to license expensive and complex off -the-shelf patient profile software products. However, using validated analysis files , along with simple Base SAS and SAS/GRAPH software, you can create simple, flexible and informative, customized patient profiles. In this paper, we will present how Gilead Sciences developed and used the in -house generated patient profiles and how any company can repeat the same success. |
dataset, sas base, sample | source | 4 |
| 67 | Principal Component Analysis vs. Exploratory Factor Analysis | Diana D. Suhr | Principal Component Analysis (PCA) and Exploratory Factor Analysis (EFA) are both variable reduction techniques and sometimes mistaken as the same statistical method. However, there are distinct differences between PCA and EFA. Similarities and differences between PCA and EFA will be examined. Examples of PCA and EFA with PRINCOMP and FACTOR will be illustrated and discussed. | proc princomp, correlation, r-squared, factor analysis, proc factor, latent variable, proc step, maximum likelihood estimation, sample, likelihood function, factor loading, scree plot, proc varreduce, normal distribution, regression analysis | source | 10 |
| 68 | PROC REPORT Basics: Getting Started with the Primary Statements | Arthur L. Carpenter | The presentation of data is an essential part of virtually every study and there are a number of tools within SAS that allow the user to create a large variety of charts, reports, and data summaries. PROC REPORT is a particularly powerful and valuable procedure that can be used in this proce ss. It can be used to both summarize and display data, and is highly customizable and highly flexible. Unfortunately for many of those just starting to learn PROC REPORT, the terms "customizable" and "flexible" often seem to be euphemisms for "hard to learn". Fortunately PROC REPORT is NOT as hard to learn as it appears. All you really need to have in order to get started is a basic knowledge of a few primary statements. In this introduction to PROC REPORT you will learn to use the PROC REPORT statement and a few of its key options. Several of the supporting statements, including COLUMN, DEFINE, BREAK, and RBREAK, and their primary options will also be covered. |
proc report, proc step, class variable, proc means | source | 9 |
| 69 | Producing Multipurpose Metadata for Data Quality and a Data Dictionary | John E. Bentley | One of the benefits of a data warehouse is that it provides a "single version of the truth". But the "truth" is often difficult to understand, changes quickly, and is only as accurate as the information it is based on. Metadata is needed to assess quality of the data from which the truth is derived, and the same metadata is valuable in a data dictionary for users. This paper presents a SAS software prototype application that generates metadata in the form of one- way frequencies (for categorical fields) and descriptive statistics (for numeric fields) from newly loaded data warehouse tables, compares current metadata to that produced by the previous load, and then reports changes and anomalies. It also produces a series of html files containing frequencies and descriptive statistics that can be linked to the data warehouse's data dictionary. | sample, proc step, macro variable, proc means, dataset, macro loop, do loop, proc freq, mp connect, numeric variable, character variable, proc sql, data warehouse, sample size, data dictionary, proc compare, proc contents, sql pass-through, data cleaning | source | 19 |
| 70 | Revisiting the Cross-Over: A Two-Period Design Using a Treatment and a Placebo | Qian Zhang, Mable Kong |
In a cross-over trial, each subject receives a sequence of experimental treatments. The aim is to compare the effects of individual treatments. The two-period, two-treatments design is the simplest and the most commonly used of all the cross-over trial designs. This poster revisits the two-period design using a treatment and a placebo. | null hypothesis, baseline, residual, treatment effect | source | 10 |
| 71 | SAS Application Detects, Quantifies, Prioritizes and Reports Errors in Public Mental Health Data: Impact on Quality of Data Reported | Bryan Fisher, Christine Beck |
This paper illustrates how the SAS System may be used to detect, quantify, prioritize and report errors in public mental health data. Numerous SAS procedures are used such as PROC SQL, PROC SORT, PROC SUMMARY, MERGE and MACRO. The data selected for analysis are maintained by the California Department of Mental Health (DMH) in the Client and Service Information (CSI) System. The CSI System collects data pertaining to mental health clients and the services they receive at the county level. |
proc step, proc sql | source | 7 |
| 72 | SAS Certification: Is it for You? | Sarbjit Rai | The SAS Certified Professional Program was launched by SAS Institute, Inc. in 1999 to recognize users who can demonstrate an in-depth understanding of SAS software. The program consists of five certifications across a number of functional areas. There are several SAS courses which prepare users for the certification exams. To date many programmers have taken these courses, some experienced users just take the exams, and there are many other SAS savvy professionals who are experienced but not SAS certified! This paper will review the benefits and limitations of the Certification Program for new SAS users as well as those who are more experienced and investigate whether it meets the needs of the user community. Why get certified? What's in it for you? The impact of the Certification Program on SAS jobs and its importance in industry vs. work experience and other SAS training courses will also be explored from an end user's perspective. | data governance, sas programmer | source | 8 |
| 73 | SAS Essentials | Neil H. Howard | The DATA STEP is the most powerful tool in the SAS system. Understanding the internals of DATA STEP processing, what is happening and why, is crucial in mastering code and output. Concepts covered: Logical Program Data Vector (LPDV or PDV), automatic SAS variables and how they are used, the implications of an observation being built a statement at a time, how SAS variables are initialized, and how the DATA STEP handles input records. This paper explains the two phases of DATA STEP compilation, why the compile time and execution time errors behave differently, and other issues. |
dataset, missing value, proc step, automatic variable, retain, input statement, set statement, by group processing, merge statement, proc print, proc contents, character functions | source | 19 |
| 74 | SAS with Style: Creating your own ODS Style Template for RTF Output | Lauren E. Haworth | Once you've started using the Output Delivery System, you'll quickly discover that your taste in output design probably doesn't coincide with the built-in ODS styles shipped with SAS software. While you can edit your RTF output in Word to improve its appearance, a better approach is to create your own style template. This workshop will take you step by step through the process of creating a custom style for your RTF output. You'll learn how to make minor modifications, and how to give your output a complete makeover. If you'd like all of your SAS output to be in hot pink with a gigantic script font, this workshop will show you how! Or, if you'd just like to use fonts and borders that coordinate with your corporate style guidelines, you can do that too. The workshop will also provide tips and tricks for taking advantage of the RTF destination, including the generation of custom page numbers and page breaks. The workshop will walk through the TEMPLATE procedure, showing how you can redefine the default style elements and attributes to customize fonts, colors, and borders to suit your own personal or corporate style. You'll be given a basic style template that you can customize during the workshop and then take home to try out on your ODS output. While many of the techniques in this workshop apply to other ODS destinations, the focus will be on RTF. The workshop is aimed at beginning to intermediate ODS users. |
sample, proc step, proc template, ods rtf, footnote statement, proc report, title statement, output delivery system, options statement | source | 20 |
| 75 | Sign of the Times: Using SAS to Produce Conference Signage | Daniel K. Downing | "Sign, sign, everywhere a sign … ." Are you at the right place at the right time? Who knows? But if you checked at the door on the way in, you at least know you are at the correct place and time for the presentation you wanted to see. This paper will guide you through the processes used to convert the program schedule for the Western Users of SAS Software conference into event signs that show the who, what, where and when of this gathering. It will describe a little graphics handling, a lot of SAS data manipulation and some of the experimental SAS 9 features found under the Output Delivery System (ODS) PDF destination. It will bring all of these techniques together, and show you how to produce your own "sign of the times." |
proc report, proc step, macro variable, character functions | source | 6 |
| 76 | 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 |
| 77 | Summary Tables 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 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. |
sas enterprise guide, proc tabulate, proc step | source | 10 |
| 78 | The General Method for Variable Recoding and Its Applications in SAS | Randi Chen, Ka-On Fong |
Variable recoding is a time consuming but important part in SAS programming. However, there are few methods available. Using the IF-THEN statements is a common practice but it is tedious and error-prone when the variable to be recoded, say X, has many levels. Although the user-defined format is an alternative, the drawback is that this method is inflexible, e.g. it cannot directly recode the combination of two variables, say X and Y, into Z. By extracting the essential components of the IF-THEN statements, we constructed a general method or a template for variable recoding: (1) to create a transformation function F(X), where X can be multiple variables; (2) to assign values to Y using the function, Y=F(X). In this paper, we will illustrate several examples to recode discrete variables and hope, by doing so, to inspire SAS users to develop new applications using the general method. | sas function, proc sql | source | 4 |
| 79 | The Optimizer Project: WHERE The Statement Is Not The Clause | Paul D. Sherman, Russell M. Lavery |
Improving clock time and running smaller are goals for any programmer. In the SAS DATA STEP, it is well known that certain filtering expressions placed in a WHERE statement often lead to better processing efficiency. These expressions are simple "static" equalities, those without arithmetic operations or function calls. The DATA STEP engine processes these statements at a very low level - as observations are being read in from the input dataset - so that later and more complicated DATA STEP operations have as few rows as possible to deal with. Therefore a SAS programmer learns early on to do their easy work - first things, first, -- in the WHERE statement. This is unfortunate. Folks in the RDBMS camp know that the FROM clause is the first point of contact to one's data model. Only after processing all specifications and expressions in the FROM clause will the database system go on to the WHERE clause. |
proc sql, inner join, proc step, where statement, left join, data merging, data step, group by | source | 15 |
| 80 | The Perks of PRX ... | David L. Cassell | Pattern matching lets you find chunks of text that have a particular pattern - even patterns that would be very hard to find using SAS functions like index() and substr(). For example, try finding all strings which have two consecutive words that are the same, not counting capitalization. Difficult with traditional SAS functions, but Perl's 'regular expressions' give you a simple language to search for patterns, extract patterns from strings, and even change text that matches your patterns. This is invaluable for all manner of text manipulation, including validation, text replacement, and string testing. With the advent of SAS 9, the power of Perl's regular expressions is now available in the DATA STEP. |
prxparse, sas 9 | source | 10 |
| 81 | The SQL Optimizer Project: _Method and _Tree in SAS 9.1 | Russell M. Lavery | This paper discusses two little known options of SAS PROC SQL: _method and _tree. The main body of information, and the major opportunity to learn about the topics, exists in the heavily annotated appendix. Efficient use of this material might involve reading, and printing, this paper then working through the appendix. This paper will also attempt to describe some of the logic that the Optimizer employs. Due to the page limitations of the WUSS conference, the full paper can not be put on the CD. The full paper is in the SUGI 30 proceedings. PROC SQL has a powerful subroutine, the SQL Optimizer, that examines submitted SQL code and the state of the system (file size, index presence, buffersize, sort order etc). The SQL Optimizer creates a run plan for optimally running the query. Run plans describe executable programs that the Optimizer will create to produce the desired output. These executable programs can be quite complicated and often involve the creating, sorting and merging of many temporary files. Consistent with the Optimizer's goal of minimizing run times, the executable programs will trim variables and observations from the input file(s)/working file(s) as soon as they can be removed. Many details of the run plan can be determined by using two PROC SQL options (_Method and _Tree) and this paper explains output from these two options. Learning to interpret _Method and _Tree can help programmers explain why small variations in code, or system conditions, can cause substantial variations in run time. |
proc sql, where statement, hash table, proc step, having | source | 12 |
| 82 | The Use of Formats, Concatenate and Sum for Reporting on "Check All That Apply" Variables | Lara Jungvig-Hilton | SAS software always offers more than one way to solve a problem. Using similar data collection instruments from several projects, I approached the problem of how to summarize/display 'check all that apply' variables from several different directions. A check all that apply variable occurs when a survey question groups together a set of items with check boxes, instead of asking separate yes/no questions for each item. So, I read in the data as separate variables and produced a frequency of each variable. I concatenated the separate variables into one new variable using a formatted PUT statement, and then I ran one frequency. Finally, I tried creating a new variable by using a patterned numeric string, formatting that pattern and running a frequency on the new variable. This presentation will utilize basic SAS techniques, in a side-by-side visual. | proc freq, put statement, input statement, sum | source | 4 |
| 83 | Tips & Techniques with PROC MEANS | Andrew H. Karp | PROC MEANS (and its sister, PROC SUMMARY) have been BASE SAS Software procedures for a long time. Most SAS Software users have found their ability to rapidly analyze and summarize the values of numeric variables to be essential tools in their programs and applications. A number of new features have been added to PROC MEANS in The Nashville Release (Version 8) of the SAS System which are discussed in this paper. Applying these new features will enable you to simplify the analysis of your data, make it easier for you to create data sets containing summaries and analyses of your data, and take advantage of other tools in SAS Version 8, such as Multilabel Formats (MLFs), which are created by using PROC FORMAT. |
proc step, proc means, dataset, output, class variable, numeric variable, by group processing, character variable, sas base, sas output | source | 8 |
| 84 | Tips and Techniques for the Windowing Environment | Mel Widawski | Using the SAS default settings, buttons, and function keys provide a good work environment. But this environment may be personalized by changing some of these settings. You will be shown how to add new buttons on the tool bar, customize function keys, change the appearance of tables, and control where the automatic SAS work libraries are written. | work library, symbol table | source | 11 |
| 85 | To Merge or Not to Merge | Helen Davis, Kathy Gates |
Merging large data sets takes a tremendous amount of CPU time and workspace. Two alternative techniques will be presented and compared to MERGE. -Two INFILE statements in a DATA STEP |
cpu time, conditional do loop, infile statement, proc format | source | 5 |
| 86 | Transforming Data for CDISC and ISS | Sy J. Truong | Analyzing and reporting data using SAS is only as effective as the data that you are working with. Working with large sets of data requires that the data be uniform and standardized. When working with clinical trials data, this becomes apparent when you are working on an Integrated Safety Summary (ISS) or when you are transforming data into a standard such as CDISC. This paper presents methodologies and tools to automate and optimize the transformation of large sets of data in these scenarios. Some of the topics this paper will address include: 1. Organizing the transformation of data in a specification 2. Expressing the transformation specification in a model 3. Automating the process of applying the transformation model. | raw data, proc step, data transformation, clinical trial, data standard, cdisc | source | 11 |
| 87 | Understand, Document, and Automate Your Programs and Data Tables | Anthony M. Dymond | Every data warehouse upload and every IT production run depends on computer programs and data tables. It is important to understand and document these programs and tables, and many IT staff remember how difficult it was to recover this information during Y2K. Technical staff also appreciate good documentation when taking over maintenance of complex tables and programs and when diagnosing a production problem. These solutions are even more valuable when the business stakeholders can also use them and when they provide a common ground for collaborative analysis and design with the technical staff. This paper reviews traditional tools for program modeling and metadata. It then shows how their shortcomings are solved using solutions available today. New approaches, such as building automated graphic models, can result in significant improvements in the software lifecycle and ease the task of turning requirements into modular, reusable, maintainable programs. | dataset, data validation rules, error message | source | 12 |
| 88 | Understanding WHERE Clause Processing and Indexes | Kirk Paul Lafler | SAS users can quickly access selected observations (rows) of data in SAS data sets using WHERE clause processing and index es. This paper explores what an index is, the purpose of an index, how an index is created, factors that determine when an index is warranted, how WHERE clause processing can take advantage of an index, and techniques for tuning indexes for better performa nce. Attendees will learn valuable techniques for achieving improved query performance using indexes. | where statement, proc sql, index, proc step | source | 4 |
| 89 | Using Proc Mixed to Model Daytime Log-Cortisol Slopes | Eric Neri, Helena Chmura Kraemer, Arthur M. Noda, Yung Wang |
Hierarchical Linear Models are widely used in psychiatric research to model repeated measures data. The MIXED Procedure in SAS can be used implement HLM and model the covariance structure of repeated measures data. This paper investigates the use of PROC MIXED and other SAS procedures to model diurnal cortisol slopes. |
covariance, covariance structure, proc mixed, compound symmetry, repeated measures, longitudinal data, proc step, anova, sample, missing value, unstructured covariance, simple linear regression, proc reg, regression analysis | source | 4 |
| 90 | Using SAS to Calculate Arizona Judicial Salaries | Mark McDermott, Humberto Cisneros |
Justices of the Peace in Arizona are judges in courts of limited jurisdiction. These courts hear a wide variety of cases. The case types these judges adjudicate vary widely, from felonies to civil traffic violations, such as speeding. Based in Arizona law, justices of the peace are compensated using a complicated mathematical formula, along with pay categories based on a percentage of a superior court judge's salary. The formula, based on the number of cases filed into each justice court, is then translated into what is called "judicial productivity credits". It is these credits that are used to determine the pay level of each justice of the peace. Research and Statistics staff of the Supreme Court are mandated by law to provide data used to calculate judicial productivity credits and utilize SAS, not only to determine the case filings in each court, but SAS programs actually calculate and generate judicial productivity credits. | proc print, calendar year | source | 10 |
| 91 | Using SAS with XML to Create Custom Formatted Excel Workbooks | James J. Van Campen | This paper describes how to use SAS in conjunction with XML to produce custom formatted workbooks in EXCEL. A variety of methods for getting SAS output into EXCEL already exist. The primary advantage of the XML method outlined here is that custom workbook formatting can be spec ified directly from SAS. The method makes use of the Microsoft XML Spreadsheet (XMLSS) schema, which permits specification of an EXCEL workbook from an XML file. The method is illustrated by creating an EXCEL workbook with multiple worksheets, in which each sheet is formatted differently. No prior knowledge of XML is assumed. |
excel, put statement, xls, txt | source | 10 |
| 92 | Using SAS, MySQL, and PHP to Empower End-Users to Generate Dynamic Descriptive and Analytic Statistical Web Reports | Jeremy Morris, Gary Levy, Ray Dahl |
Organizations typically post static and finished reports in HTML or PDF form to web pages. However, administrators and decision-makers are increasingly demanding more dynamic, end-user driven web applications for creating their own unique data queries and professional descriptive reports. In addition to simple descriptive reports such as those providing means or frequencies integrated use of SAS Stat software affords generation of analytic statistical reports and analyses. This paper introduces and details the SAS programming and hardware, as well as other non-SAS software (e.g., PHP) used to create a dynamic, end-user driven web application that produces reports containing any SAS output. | output delivery system, proc step, proc means, ods listing, proc tabulate, proc sql | source | 7 |
| 93 | Using Statistical Graphics to Understand Your Data (Not Just 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 | 5 |
| 94 | Using the COMPUTE Block in PROC REPORT | Jack Hamilton | COMPUTE blocks add a great deal of power to PROC REPORT by allowing programmatic changes to be made for each individual data cell. This paper will describe the basics of PROC REPORT, and show how COMPUTE blocks may be used to tailor the contents and formatting of the output. A completed version of this paper will be available after WUSS at http://www.excursive.com/sas/ The expanded paper will contain more details on the inner workings of PROC REPORT, along with whatever I add as a result of suggestions at WUSS. |
proc report, proc step, proc print, proc means | source | 19 |
| 95 | Validating Your SAS Systems | Sy J. Truong | Validating a new version of SAS on a production server used to be a daunting task. The SAS System version 9.1.3 ships with user friendly installation qualification tools. This is coupled with existing tools that make it easier to validate SAS. Besides qualifying the installation, there are other tasks and components of the system that need to be validated or verified. Some of these components include: 1. Backward compatibility issues with older versions of datasets and format catalogs. 2. Validating multi use macros and standardized code templates. 3. Verifying stand alone or project specific programming and output. 4. Effects on standard operating procedures and programming practices. The interconnectedness of the SAS computing environment does require considerable efforts in validating a SAS System. However, if this is executed successfully, it can allow for greater traceability between output, programs and source data. | data cleaning, audit trail, sas programmer | source | 12 |
| 96 | What moves wholesale electricity prices in the Pacific Northwest? | Aaron Lai, Raymond Wan |
Wholesale electricity has the most volatile prices when compared to other energy commodities like crud e oil, natural gas and gasoline, primarily because electricity can not be economically stored and its market demand is price- insensitive. Market price responds to fluctuations in temperature that drive daily demand. It also r eacts to variations in hydro availability, fuel price, and capacity available that drive supply. This paper explores how electricity price can vary with its fundamentals via regressions with alternative stochastic specifications. Using ETS in S AS V.9, we estimate these regressions whose results are useful to understand wholesale electricity price movement s and to make forecast of future prices. | regression analysis, sas 9 | source | 4 |
| 97 | What's Your _TYPE_? Finding the CLASS You Want In PROC SUMMARY | Frank A. Ferriola, Pacioli Companies, Highlands Ranch |
When using the CLASS statement in your PROC SUMMARY, SAS will calculate every possible combination of the CLASS variables. By understanding the way SAS summarizes, you can find a simple way to determine which summaries you really want to keep and eliminating the others. |
proc step, proc means | source | 4 |
| 98 | 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, input statement | source | 10 |
| 99 | WHERE vs. IF Statements: Examples in Usage and Differences | 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, input statement | source | 10 |
| 100 | Why Use PROC DATASETS | David Fickbohm | Why is PROC DATASETS not used more? One reason is that three of the older SAS procedures - Copy, Contents, and Append - were around before PROC DATASETS. People learned those three and stuck with them. Why use PROC DATASETS instead of several procedures? PROC DATASETS is more efficient, more versatile, and has features far beyond copy, contents, and append. Using PROC DATASETS lets you remember, become proficient, and rely on one PROC rather than waste brain storage and time working with three. This paper will try to explain why, when, and how to use PROC DATASETS. |
proc step, proc datasets, sas library, dataset | source | 4 |
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