WUSS 2003 Papers - Index
129 papers. Source: WUSS (Western Users of SAS Software) conference proceedings.
| # | Title× | Authors× | Abstract× | Keywords× | Extras | Pages |
|---|---|---|---|---|---|---|
| 1 | A Better Transpose: %TRANSPO Macro Preserves Variable Attributes | Ted Clay | The TRANSPOSE procedure will "flip" a rectangular table of your data, converting a R-by-C matrix into a C-by-R matrix. This talk presents a macro which outputs all variables onto a single observation per by-group. For example, if you have a data set with variables A, B and C and up to 4 observations per by-group, the output has one observation per by-group with variables A1-A4, B1-B4 and C1-C4. The advantage over PROC TRANSPOSE is that variable attributes are preserved. You keep your original variable lengths, formats and labels, and the variables can be a mixture of character and numeric. You can specify an optional ID variable, which contains the suffixes of the created variables. The macro merges the input data set with multiple copies of itself, each copy with a where-option selecting a specific value of the ID variable. The combination of simplicity and utility makes this is my favorite macro. |
proc transpose, proc step, in=, macro variable, out= | source | 3 |
| 2 | A Macro Advantage From Consistent Variable Naming | Patrick Thornton | This paper demonstrates some of the benefits of wise variable naming by comparing SAS syntax under the conditions of a poor and superior naming conventions. The paper also presents macro programs that capitalizing on consistent naming by allowing lists of variables to be incorporated within SAS syntax. The macros are demonstrated with SAS DATA steps and SQL and FREQ procedures. | macro variable, sas syntax, data dictionary, substr function, if-then-else, proc contents, proc freq, proc step, proc sql | source | 4 |
| 3 | A Macro To Display The Kaplan-Meier Curve With An Annotated Failure Table | Kristie Kooken, Colin Kuang |
The Kaplan-Meier curve is one of the most common ways to describe survival characteristics from clinical trial data. | life table, confidence interval, sample, clinical trial, proc step | source | 5 |
| 4 | A Monte Carlo Simulation Approach for Power Calculations in Repeated Measures Arising from Observational Studies: A SAS/IML Application | Victor Gastanaga, Christine E. McLaren, Ralph J. Delfino |
source | 5 | ||
| 5 | 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, sas risk engine, dataset, logistic distribution, sas base, credit card, sas output | source | 4 |
| 6 | A Plot and a Table Per Page Times Hundreds in a Single PDF File | Daniel J. Leprince, Elizabeth Li |
In the Windows environment, it is relatively easy to integrate a figure and a table in a single spreadsheet or a page in a word-processor. When hundreds of these pages need to be generated and stored in a format that cannot be altered by the end-user then the SAS System and the Adobe Acrobat Distiller are more appropriate tools. This paper will present the SAS code of a specific applica tion to produce a postscript file containing multiple pages of a plot and a table per page. The Adobe Acrobat Distiller is used to transform the postscript file into a Portable Document File (PDF). In this paper, macros and several SAS/GRAPH features are presented (note, annotate dataset, and GPLOT, gslide, greplay and gprint procedures). Emphasis is put on the use of hardware fonts which can dramatically reduce the overall size of a document. Key words: Annotate, note, GPLOT, gslide, greplay, and gprint. |
do loop, macro variable, proc means, proc step, macro loop, macro definition, %if-%then-%else | source | 5 |
| 7 | A SAS Macro Solution for Scoring Test Data with Output Features and Parameters from Logistic Regression Model Training | Joseph Blue | A traditional technique in building predictive models involves isolating raw dat a into training and testing sets. The STANDARD procedure includes building the model with the training data then evaluating its performance on the previously - unseen "test" data. For situations in which the dependent variable is binary, Logistic Regressio n is a common statistical approach for associating a probability with the response. PROC LOGISTIC offers several variable -selection methods which can result in an optimally -trained model with a subset of the original input variables. However, if the inpu t variable list is large (potentially up to thousands of variables), calculating the model score for the test data becomes protracted. This |
logistic distribution, proc logistic, proc step, call symput, variable list, logistic regression, feature selection, predictor variable, test set, regression analysis, training set, macro definition | source | 5 |
| 8 | A Strange Affair: An Application Using SAS and Excel | Richard Chiofolo | In most Finance departments today outputs are in EXCEL format, or at least comma delimited (.CSV) files easily read by EXCEL. Financial analysts will tell you there is one and only one, universal standard: EXCEL. Here is my goal: I must design an application in EXCEL, the product my users understand best. With the addition of VBA code, a remake of an earlier markup language, one can automate a lot of activities in EXCEL. You can even design databases in sheets, entry screens, intelligent links, and display screens. |
excel, proc means, ledger, proc step | source | 8 |
| 9 | A Visual Introduction to SQL Joins | Kirk Paul Lafler, Charles E. Shipp |
Real systems rarely store all their data in one large table. To do so would require maintaining several duplicate copies of the same values and could threaten the integrity of the data. Instead, IT departments everywhere almost always divide their data among several different tables. Because of this, a method is needed to simultaneously access two or more tables to help answer the interesting questions about our data. This paper visually illustrates how a join process works and then shows how a PROC SQL query is constructed so some or all of the specified tables contents can be brought together. |
where statement, proc sql, proc step, data merging | source | 3 |
| 10 | Adaptive Regression in SAS/IML | David Katz | Adaptive Regression algorithms allow the data to select the form of a model in addition to estimating the parameters. Friedman's procedure exploits computational shortcuts in Adaptive Regression, obtaining the power of Neural Networks with a fraction of the resources. PROC IML allows us to explore these tools in a flexible environment, with exciting results. This paper describes an ongoing project that implements this approach. We review the algorithm, discuss the programming techniques, and give some examples of useful applications. |
regression analysis, proc adaptivereg, data cleaning, sample, logistic distribution, logistic regression, gain chart, multiple regression, macro facility | source | 5 |
| 11 | Advanced Analytics with Enterprise Guide | Catherine Truxillo, Stephen McDaniel |
From SAS/STAT to SAS/ETS to SAS/QC to SAS/GRAPH, Enterprise Guide provides a powerful graphical interface to access the depth and breadth of analytic capabilities in SAS. This paper provides an overview of analytic methods available via SAS/ENTERPRISE Guide task wizards. Custom coded analyses using the insert code feature are demonstrated. The paper also describes how you can use Enterprise Guide to "package" automated analyses, custom analyses, graphs, notes, and relevant documents into one comprehensive project file that can be easily scheduled and delivered to others. |
regression analysis, sas enterprise guide, proc reg, time series analysis, logistic regression, anova, logistic distribution, correlation, sample, proc cancorr, response variable, cluster analysis, main effect, ancova, proc princomp, feature selection, proc nlin, time series data, factor analysis, survival analysis, sas base, proc genmod, covariance, proc freq, data cleaning, proc glm, multivariate analysis, numeric variable | source | 9 |
| 12 | Adventures in Data Dissemination: From TABULATE to ODS and IntrNet | Jennifer S. Harper | Before we built our SAS-based "EPICenter" web site, we spent a lot of staff time answering similar, but distinct, queries and moving SAS output to user-friendly formats. When we created our EPICenter web site we combined ODS and SAS/INTRNET to give our users instant access to the data they want in attractive and usable file formats. Part of the success of our web site is that it uses our existing resources (SAS proficient epidemiologists) to create something we originally thought was beyond our skills. In this presentation I will share how we went from basic FREQ and TABULATE code to a dynamic web application with ODS and IntrNet. In addition to sharing SAS code and our path to ODS enlightenment, I will offer encouragement and insight into the whole experience of designing a data web site from the perspective of a relatively inexperienced programmer. URL: http://www.dhs.ca.gov/EPICenter |
proc step, proc tabulate, macro variable, proc template, ods pdf, sample, sas output, excel | source | 5 |
| 13 | An Animated Guide: Speed Merges with Key Merging and the _IORC_ Variable | Russell M. Lavery | The key merge (A.K.A. _IORC_ merge) is an efficiency technique. It is a method of merging two files without having to perform a slow, and disk-space-consuming, pre-sorting of the files. Because this merge does not require pre-sorting of the files to be merged, it is faster and uses less disk space than a by merge. For our merging goal, we desire a file that contains all the people we interviewed on day 1 and information about their health problems that we collected at end of term. | lookup, set statement, data step | source | 3 |
| 14 | An Animated Guide: Speed Merges: Formats | Russell M. Lavery | The format is a powerful tool for SAS programmers who have to access large data sets and wish to avoid sorting. Formats can be used for subsetting, or as replacement for an if. They can be used to perform the equivalent of a BY merge without sorting the data sets - a great advantage for processors of large data sets. This presentation concentrates on: 1) the structure and contents of the file that PROC FORMAT automatically creates 2) how a SAS programmer can use a DATA STEP to manually create a file of similar structure and content as a format file 3) how to use a format in processing large data sets. Numeric Table Lookup w/ a Format |
proc step, lookup, proc format, format statement, proc print, catalog entry | source | 5 |
| 15 | An Animated Guide: Speed Merges: resource use by common procedures | Russell M. Lavery | This paper is a comparison of how resources are used by different SAS "table lookup" (Figure 1) techniques. The paper will be useful for programmers starting to study "programming efficiency" or who are experiencing efficiency problems with current programs. Understanding resource use of basic processes gives programmers a logical structure for selecting the table lookup technique that will most likely solve their efficiency problem. Advanced table lookup techniques all have the characteristic that they perform a "Sorted By Merge" (or close to one) without sorting. All of the "advanced table lookup" techniques (Format, IORC, hashing, SQL, tagsort, modify, etc.) make different demands on I/O, CPU and disk space. Understanding the demands of the different table lookup techniques lets a programmer select the best technique in his/her particular situation. Figure 2 The processes discussed are: Several years of NESUG/SUGI proceedings papers are online. | lookup, proc step, proc sql, proc sort, proc print, cpu time | source | 7 |
| 16 | An Evaluation of HP Storage in Various SAS Application Environments | John Hall, Leigh A. Ihnen |
source | |||
| 17 | An Overview of SAS Certification and the Test Development Process | Linda Althouse, Marc Vaglio-Laurin |
In 1999, SAS Institute launched the SAS Certified Professional Program. Today, there are over 3,500 SAS Certified Professionals around the world and interest in the program continues to grow. The intent of the Program has always been to provide a standardized measure to assess the knowledge and skills of SAS users. In order for this to occur, two items must be met. First, certification examinations must be valid and reliable instruments. Second, the examinations must map to credentials that meet the needs of SAS users and assess actual job roles and responsibilities within the SAS user community. This paper will describe the rigid test development process used to develop SAS certification examinations. The paper will also provide an overview of recent enhancements made to the SAS Certified Professional Program along with information on how one can begin the journey to becoming a SAS Certified Professional. | data warehouse, sample, data governance, sas base, sas programming, macro facility, proc sql | source | 6 |
| 18 | Analysis of Data from Recurrent Events | Gordon Johnston, Ying C. So |
Time-to-event data have long been important in many applied fields. Many models and analysis methods have been developed for this type of data, in which each sample unit experiences at most a single end-of-life event. In contrast, many applications involve repeated events, where a subject or sample unit may experience any number of events over a lifetime. There is a growing interest in the analysis of recurrent events data, also called repeated events data and recurrence data. This type of data arises in many fields. For example, the repair history of manufactured items can be modeled as recurrent events. In medical studies, the times of recurrent disease episodes in patients can also be modeled as recurrent events. This paper describes methods for the analysis of recurrent events data. Nonparametric methods involving extensive use of graphics for the analysis of such data are discussed in a new book by Nelson (2003). These methods are illustrated using the SAS/QC RELIABILITY procedure. The use of the SAS/STAT GENMOD and PHREG procedures to fit regression models to recurrent events data is also illustrated. Examples are presented from the fields of medical studies and product reliability. |
proc step, proc phreg | source | 8 |
| 19 | Answering Your Questions with Statistics | Diana D. Suhr | Organizing a project, planning your strategies, and executing statistical procedures to examine/analyze data are essential for answering your questions. A guide to determine appropriate statistical tests given a list of questions will be discussed in this presentation. Statistics range from the simple (e.g., frequencies with PROC FREQ, means with PROC MEANS) to the complex (e.g., confirmatory factor analysis with PROC CALIS). |
proc step, proc freq, proc glm, sample, correlation, frequency analysis, proc genmod, data science, response variable, proc reg, factor analysis, missing value, proc corr, proc calis, confirmatory factor analysis, proc cancorr, input statement, proc ttest, proc univariate, anova, latent variable, multivariate analysis, repeated measures, regression analysis, logistic distribution | source | 6 |
| 20 | Architecting AppDev Studio Based Web Applications with Object Oriented Methodologies | Aimee Basile, Dave Hayden |
AppDev Studio 2.0 provides SAS custom tags to enable quick and easy creation of Java Server Pages (JSPs) to access SAS data. However, extensive reliance on these tags limits an application's functional and architectural options. Fortunately, AppDev Studio provides the Java classes behind these tags, allowing developers to leverage the full power of Java and object oriented methodologies such as component re-use and abstraction, design patterns, and functional encapsulation. We will present a comprehensive, component based architecture for developing web based applications with AppDev Studio. Key elements of the architecture that will be discussed include: JavaBeans, Servlets, and the Model-View-Control design pattern. Intended Audience: AppDev Studio users and SAS users of all levels with an interest in object oriented programming. | access control, by group processing | source | 6 |
| 21 | Batch Automated Reporting and Analysis in Semiconductor Manufacturing Parametrics | Tom Winter, Willy Waks |
Early semiconductor process development is especially dependent on parametric data and analysis is hampered by the large volumes generated and general inability of most engineers to effectively retrieve the data and then process into summarized tables, reports & graphs. The SAS system developed allows the engineer to simply browse through the pre-generated reports - both high level and low level - and quickly visualize and capture the needed data. Key input is a "specs" file with the desired parameters for analysis, description, upper/lower spec limits, target and category (for certain summarized reports). Reports are HTML with multilevel drill down boxcharts; graphics for yields, loss paretos, wafer maps, probability distributions and histograms; yield tables showing summarized and detailed failures to meet spec; summarized html, text reports & gifs for cpk analysis. | box plot, proc step, proc sql, extract, standard deviation, parametric test, raw data, macro definition, histogram | source | 10 |
| 22 | Building and Using User Defined Formats | Arthur L. Carpenter | Formats are powerful tools within the SAS System. They can be used to change how information is brought into SAS, how it is displayed, and can even be used to reshape the data itself. The Base SAS product comes with a great many predefined formats and it is even possible for you to create your own specialized formats. This paper will very briefly review the use of formats in general and will then cover a number of aspects dealing with user generated formats. Since formats themselves have a number of uses that are not at first apparent to the new user, we will also look at some of the broader application of formats. | proc format, proc step | source | 10 |
| 23 | Building The World'S First Antibiotic Datamart | Berwick Chan, Catherine Kehr, Arnold Yee |
This paper discusses the process of using a SAS basic package to build an OLAP data mart on a Windows-based server using operational data extracted from the corporate mainframe. Key tasks, including hardware selection, ETL, dimensional modeling, data partitioning, indexing and parallel processing are discussed, with examples from our development effort. | fact table, dimension table, index, mp connect, parallel processing, star schema, variable list, excel, dataset, proc sort, data cleaning | source | 6 |
| 24 | Business Intelligence Applications Using JMP Software | Charles E. Shipp, Kirk Paul Lafler |
Once you have discovered the nature of your data and its relationships using JMP, it is important to communicate with statistical graphics and tables to (1) your co-workers and management; (2) business partners; (3) review agencies; and/or (4) customers. By looking at the complete range of JMP capabilities we show an overview of JMP and also how JMP assists in business decisions. Reports can go into MS Word and PowerPoint final reports. Business Intelligence is used in all five major information steps. Seeing your data allows critical decisions to be made. | proc sql, correlation | source | 5 |
| 25 | Can Validating SAS Programs Be Fun and Easy? | Sy J. Truong | Validation is normally a laborious and arduous task. This paper will present new methodologies and tools developed in SAS that will make the process painless. The goal is to add little or no effort from the user's perspective, yet gain the benefit of having a secured audit trail of all SAS programs during the development and verification process. Some benefits are described below: comparing differences between different versions of programs adding notes describing edit changes to each version adding a validation checklist of tasks associated during verification and validation managing status of development to production by applying version numbers such as version 1.2 * generating reports for documentation and communication during validation After you realize the ease of use and the amount of quality control that can be gained, the task of validation becomes transparent and fun. Introduction This is an example of how SAS programming is difficult to validate. | data cleaning, audit trail, sas programmer, sas programming, macro definition, txt | source | 5 |
| 26 | Clinical Trial Randomization Design: Blocked Randomized Response Adaptive Method | K.Y. Trudy Poon, Che-Chin Lie |
The blocked response adaptive randomization method combines the strengths of both blocked design and response adaptive methods. The SAS code of the our model divides study participants by the randomized blocked method, and then applies the response adaptive procedure to randomize study participants within each block. Through this randomization, the conflict between collective and individual ethics in clinical trial practices is balanced. We demonstrate how this SAS code can also be modified to incorporate other block randomization designs to mitigate covert biases. While the blocked method achieves collective interest, the response adaptive method accomplishes individual interest. Thus, the blocked randomized response adaptive method balances the conflict between collective and individual ethics. | randomization, clinical trial | source | 4 |
| 27 | Code Your First Dynamic Web Application Using HTMSQL | Karen L. Wyland | Are you familiar with Base SAS, SAS/MACROS, and PROC SQL? Do you have SAS/INTRNET running on a server? Would you like to use these tools to build dynamic applications for your website users? If yes, then we have a simple tutorial to get you on your way today! When we first began with htmSQL at Sodexho, the Decision Support Systems (DSS) team was a bit perplexed. Although we read a lot about the SAS/INTRNET Web Tools, we had some difficulty putting all the pieces in the logical order for htmSQL. So, we put together a tutorial to help our team. Now we'd like to share it with you. We start with a discussion of htmSQL components and their configurations. We use SAS 6.12, SAS/INTRNET 1.2, SAS/HTMSQL 2.0, Apache2 Web Server, and Notepad or Microsoft FrontPage. Certainly, you aren't limited to these. We use a sample application and sample SAS data to build dynamic web pages from start to finish. Once completed, you'll have a solid foundation for putting " dynamic" into every web application. |
sample, proc sql, macro variable, proc step | source | 5 |
| 28 | Controlling Graph Size: Building Thumbnails and GIF Files Using SAS/GRAPH | Arthur L. Carpenter, Richard O. Smith |
GIF is one of the primary file forms used for graphs that are to be displayed on the web. However because of differences in browsers and the need to control the size of the graphic display, the standard GIF device that is defined with SAS/GRAPH is not always appropriate. This paper discusses alternative methods that can be used to create GIF files that will display graphs of various sizes. Since secondary considerations as to graph contents, options, and control alternatives become necessary when the size of a graphic display is reduced, these issues are also presented. |
proc step, proc gplot | source | 6 |
| 29 | Cox Regression Using Different Time-Scales | Alison J. Canchola, Susan L. Stewart, Leslie Bernstein, Dee W. West, Ronald K. Ross, Dennis Deapen, Richard Pinder, Peggy Reynolds, William Wright, Hoda Anton-Culver, David Peel, Al Ziogas |
Typically in cohort studies, the time-scale used in Cox regression models is time-on-study, adjusting for age as a covariate. However, age can also be used as the time-scale, where subjects enter the analysis at their baseline age (left-truncation) and exit at their event/censoring age. Using SAS PROC PHREG, we compared five methods using time-on-study and age as the time-scales. We used a subset of data (n=85,882) from the large California Teachers Study cohort, with five years of follow-up, invasive breast cancer as the outcome (n=1,428) and alcohol consumption (> 20 grams/day) as the risk factor of interest. Using a time-on-study time-scale adjusting for age continuous in years produced a slight overestimate of the alcohol effect compared with the more accurate but computationally more intensive age time-scale methods. However, allowing for different age effects for younger and older ages gave virtually identical results as using an age time-scale. |
proc phreg, hazard function, regression analysis, likelihood function, proc step, follow-up period | source | 6 |
| 30 | Cramped for Drive Space? Save Space with the Auto-Compress Macro | Adam Bemis, Scott Hanson |
Although storage space is relatively cheap these days, it may still be a scarce commodity. To help remedy this problem, SAS offers three options for compressing SAS datasets: No compression, character compression, or binary compression. However, choosing and sticking with one option will never be optimal for all datasets, because optimality depends upon the number of numeric and character variables as well as the number of observations. Unfortunately, SASv8 does not have a system option that automatically chooses the optimal compression technique; instead the user must figure this out. It is a simple but tedious task; it requires testing each compression option on a dataset and reading the resulting file sizes, then selecting the smallest file. | dataset, proc step, macro variable, call symput, macro facility, temporary dataset | source | 6 |
| 31 | Creating Drill-Down Graphs Using SAS/GRAPH And The Output Delivery System | Curtis A. Smith | Using the SAS/GRAPH procedures and the Output Delivery System (ODS) you can output your graphs to web-enabled HTML files. Using the flexibility of ODS, you can include the graphs as static GIF or JPEG files, or create int eractive, customizable graphs for w eb distribution usin g ActiveX controls and JAVA applets. This is rea lly cool stuff. With a few little tricks, you can g o a st ep below a s imple HTML graph. Yes, you can add drill-down capability to your HTML graphs. Using this capabili ty, you can create graphs that drill-down to new graphs that display more of the details in your data. Hard t o believe? In t his paper the aut hor w ill explore the few SAS statement options necessary to make HTML drill-down graphs a reality. |
dataset, proc gchart, ods html, output delivery system, bar chart | source | 9 |
| 32 | Creating Dynamic Web Based Reporting | Dana Rafiee | In this hands on workshop, we'll demonstrate and discuss how to take a standard or adhoc report and turn it into a web based report that is available on de mand in your organization. In the workshop, attendees will modify an existing report and display the results in various web based formats, including HTML, PDF and RTF. | options statement, proc step | source | 7 |
| 33 | Creating Output Data Sets From Almost Any Procedure Using The Output Delivery System | Curtis A. Smith | Few of SAS' many procedures provide the option to create an output data set . You hav e probably fou nd this to be a shortcoming on many occasions. For years you have likely seen many examples of the wonderful HTML, RTF, and PDF | dataset, ods output, output, sas log, proc freq, file statement, proc step, output delivery system, proc contents | source | 6 |
| 34 | Data _Null_ Reporting to PDF with ODS | Ajit Gemunu de Silva | SAS programmers have many methods available to them for report writing including the Print and Report Procedures as well as Data _NULL_ with the PUT statement. If programming inside the Windows environment, printing output from these procedures is usually seamless and practical. If one changes hardware or platform, however, printing the same report may not be so easy. Page breaks, fonts, as well as line and page settings may need to be changed. Repagination of an extant report is impossible without another utility program. Simple text reports become problematic. Printing to a PDF via ODS creates robust platform independent reports. Using Data _NULL_, the PUT statement with the ODS option, and the less cited Table Definition from the TEMPLATE Procedure (in contrast to more often discussed Style Definition from the TEMPLATE Procedure) can make simple production reports that can be printed anywhere Adobe Acrobat or Ghostview is available. |
proc template, proc report | source | 2 |
| 35 | Detecting Anomalies In Your Data Using Rounded Numbers | Curtis A. Smith | Analyzing large amounts of data looking for anomalies can be a disheartening task. You need techniques that will allow you to quickly assess t he data i n ways that will highlight potential anomalies while keeping you fr om chasing the wind. The ro unded number test is one such technique. Using this test and the SAS Sy stem you can quickly identify rows in yo ur data whos e numer ic varia bles ha ve been rounded such that they defy statistical norms, indicating possible invention of numeric values. Within this paper, the author will present SAS code that will enable you to quickly and easily find anomalies in the data you analyze. The SAS code w ill include the Da ta Step, the MERGE statement, and the FREQ, REPORT, and GPLOT procedures. The author will also present some findings from the data he analyzes. The technique presented is powerful, yet easy to understand and use. |
dataset, proc freq, numeric variable, output delivery system | source | 5 |
| 36 | Dimensional Model Data Warehouse: An Introduction (What) | Dan Kirpes | This paper will focus on the Dimensional Model Data Warehouse and is the follow up presentation to Dimensional Model Data Warehouse: An Overview. This paper will first address the model vocabulary. The components of the model: grain, fact table, and dimension table will be covered in more detail. Metadata will be briefly discussed. Graphical examples of the model will be displayed. Additional information sources and resources will be shared. | fact table, dimension table, data mart, sample | source | 3 |
| 37 | Dimensional Model Data Warehouse: An Overview (Why) | Dan Kirpes | This paper is an introduction to Dimensional Model Data Warehousing. This paper will first contrast "Report Centric" versus "Information Centric" reporting for decision support. A brief history of Data Warehousing will be covered, followed by Data Warehouse Definitions. The Entity-Relationship model and specifically the Dimensional Model will be reviewed. Business Intelligence relationship to data warehousing will also be discussed. | business intelligence, data warehouse | source | 2 |
| 38 | Discovering a New Human Vital Sign | August L. Stemmer | Several factors are here enumerated and the early steps in the process are elucidated for elevating an apparent biologic marker, termed Response Consistency, to the level of a vital sign. The po ssibility became evident as a | sample, vital signs | source | 5 |
| 39 | Efficient Statistical Programming? Let's Be Creative With Those SAS Steps | Keiko I. Powers | Applied statisticians often rely on SAS for various data processing steps before the actual analyses, and therefore, efficient SAS data management skills are a critical component for being a competent statistician. The less time the statistician spends on data management steps, the more time he/she can spend on statistical analyses, and as a result, it helps the overall project quality improve. Several examples, (1) how to MERGE by character variables, (2) how to sequence the DATA steps and PROC SORT steps, (3) how to use the WEIGHT option for obtaining weighted counts or weighted means, and (4) how and when to use MACRO, illustrate that creative thinking with SAS codes can make the overall performance of the SAS program more efficient. |
proc step, proc freq, character variable, data governance, if-then-else, binary variable, transaction data, proc sort, dataset, date variable, sas function, sas programmer, data science, weighted mean, sas programming | source | 7 |
| 40 | Errors, Warnings, and Notes (Oh My) A Practical Guide to Debugging SAS Programs | Lora D. Delwiche, Susan J. Slaughter |
Errors? "I never get errors!" Warnings? "I never bother to read them, my program still runs." Notes? "Who needs them?" This paper, is based on the belief that debugging your programs is not only necessary, but also a good way to gain insight into how SAS works. Once you understand why you got an error a warning or a note, you'll be better able to avoid problems in the future. In other words, people who are good debuggers are good programmers. We cover common problems including missing semicolons, invalid data, truncated character values, missing-data-was-generated messages, character to numeric conversions, and the tricky problem of a DATA STEP that runs without suspicious messages but nonetheless produces the wrong results. For each problem we decipher the message, explain possible causes, and explain how to fix the problem. We also cover some programming strategies to avoid errors in the first place. |
sas log, put statement, missing value, proc print, if-then-else, proc step, dataset, error message, character variable, input statement, infile statement, options statement, numeric variable, excel | source | 10 |
| 41 | Event-Based Programming Using AF/SCL | Kevin Graham | User-defined events provide AF/SCL developers a complete toolset that helps to streamline the applications development process. Combining object-oriented programming with Events is easy to understand and provides an excellent way to prototype application behaviors. By extending SAS objects, developers can reprogram inherited methods, events, and attributes to define/redefine object actions and secondary object reactions in a way that closely mimics JavaScript/HTML programming. | dataset, data cleaning | source | 6 |
| 42 | Extending the Use of PROC PHREG in Survival Analysis | Christopher F. Ake, Arthur L. Carpenter |
PROC PHREG is a powerful SAS tool for conducting proportional hazards regression. Its utility, however, can be greatly extended by auxiliary SAS code. We describe our adaptation of a group of existing public domain SAS survival analysis macros, as well as our development of additional control, management, display, and other macros, to accommodate a project with requirements that included: large data sets to be analyzed in counting process format and containing time-varying covariates missing data requiring multiple imputation procedures varying combinations of covariates, outcome events, censoring mechanisms, and origin definitions resulting in several hundred different models We also describe how to provide in this analysis process for: Exploratory Data Analysis (EDA) assessment of model assumptions consolidation of multiple analyses final output HTML displays packaged for easy access Tools extending the capabilities of PHREG are already available-- join us to learn more |
proc phreg, proc step, time-dependent covariate, survival analysis, regression analysis, missing value | source | 6 |
| 43 | Five Techniques To Simplify And Speed Up Data _NULL_ Report Programming | Tyler Cole | SAS programmers are often asked to create numerous data reports by a challenging deadline. These reports may be based on sample reports which can only be recreated using DATA _NULL_. The task of completing a large number of reporting programs may seem laborious, even impossible given tight time constraints. In such situations, programming DATA _NULL_ reports in the shortest time possible becomes critical. This paper presents five techniques which will simplify DATA _NULL_ report writing thus reducing the time needed to program reports. |
macro variable, put statement, macro definition, %if-%then-%else | source | 4 |
| 44 | Getting Familiar with SAS Version 8.2 and 9.0 Enhancements | Sunil Kumar Gupta | Are you just getting around to realizing what SAS version 8.2 has to offer while recently being introduced to SAS version 9.0 at SAS User Group Conferences? Are you one of those programmers searching for a reason to migrate to 8.2? Would it not be nice to have a quick | audit trail, proc step, constraint, proc freq, proc sql, data integrity, sas enterprise guide, macro variable, excel, proc sort, options statement | source | 9 |
| 45 | Getting PC SAS to Do What You Want, When You Want, How You Want | Jodie M. Gilmore | Searching for a file that is not where you thought it was, starting | options statement, filename statement | source | 6 |
| 46 | Getting Started with PROC LOGISTIC | Andrew H. Karp | Logistic Regression is an increasingly popular analytic tool. Used to predict the probability that the 'event of interest' will occur as a linear function of one (or more) continuous and/or dichotomous independent variables, this technique is implemented in the SAS System in PROC LOGISTIC. This paper gives an overview of how some common forms of logistic regression models can be implemented using PROC LOGISTIC as well as important changes and enhancements to the procedure in Releases 6.07 and above of the SAS System, as well as new features available in Version 8. |
logistic distribution, logistic regression, proc logistic, predictor variable, proc step, regression analysis, response variable, odds ratio, estimate, proc reg, proc genmod, confidence interval, null hypothesis, data science | source | 6 |
| 47 | Getting the Right Data to the Right People the Right Way at the Right Time. Building a Powerful Clinical Decision Support System Using SAS/Intrnet | Nick Pászty | Simply put, SAS/INTRNET is very clever at providing flexibility to do essentially one thing; web enable your SAS data. This paper will present some helpful strategies and techniques we used to develop a Clinical Decision Support System (CDSS). Considerations relating to navigation, data presentation, cross study standardization, browser versus file system output destinations and use metrics are presented. In addition to the SAS language, integral technologies like DHTML and JavaScript will be briefly discussed. |
macro variable, proc step, data step, proc report, excel, adverse events | source | 6 |
| 48 | Getting Up to Speed with PROC REPORT | Kimberly J. LeBouton | Learning the basics of PROC REPORT can help the new SAS user avoid hours of headaches. PROC REPORT can often be used in lieu of PROC TABULATE or DATA _NULL_ reporting--two areas that have driven the new SAS user crazy!!! With the added capabilities of ODS provided in Version 7 and higher, PROC REPORT can look as sharp as an EXCEL report. This paper will show how to use PROC REPORT in both a windowing and non-windowing environment using SAS Version 8. |
proc report, proc step, proc print, proc tabulate, proc means, variable | source | 5 |
| 49 | GIS Capabilities in Old vs. New SAS Software | Richard O. Smith, Arthur L. Carpenter |
Fifteen years ago, the authors came up with | macro variable, sample | source | 6 |
| 50 | Helpful Hints on Developing a User Friendly Database with SAS/AF | Sy J. Truong | Developing an effective database application requires an interface that is easy for the user. This paper will explore the features of SAS/AF in SAS version 8.2 and methodologies of building a successful database. It combines user interface suggestions for the front end while also suggesting back end SCL, SQL and DATA STEP logic that makes the software efficient to program and to operate. The majority of the examples are technical tips but there are also shared lessons learned from collaborating with end users which prove to be very important in creating an effective application. |
proc sql, dataset, audit trail, data step, proc step | source | 5 |
| 51 | Helpful Undocumented Features In SAS | Wei Cheng | The SAS OnlineDoc/g210 and the built-in SAS/G210 System Help contains comprehensive documentation and references to help SAS users. But we can still find some features that are not well documented or are not documented at all. This paper will try to document some of these undocumented features, so you can use them in the SAS programming. |
proc step, proc sql, sas log, sas programmer, options statement, excel | source | 5 |
| 52 | How to Develop User Friendly Macros | Sy J. Truong | SAS macros help automate tasks that are done repeatedly. However, if they are not easy to use or debug, they may never be used. This paper will describe approaches to developing and maintaining SAS macros that are easy to use. Some of the topics covered include: effective documentation of macro header portable code for use with different OS error and warning message handling paper and online documentation use of nested macros and nested macro variables keeping macros simple for debugging A little effort can go a long way towards creating a successful SAS macro. This paper will present tips and techniques that are not always obvious. Besides getting the resulting numbers to the user, a user friendly macro can enhance the entire experience. | macro variable, macro definition, error message, proc step | source | 5 |
| 53 | How to Get a Graph from a Complex Linear Model | Stefanie J. Silva | In many cases it is more desirable to visually depict results obtained from a complex linear model rather than report findings in tabular format. However, producing a graph from a model adjusting for both continuous and discrete covariates as well as interactions can be a real challenge. It is well known that only two points are needed to determine a line. So, how exactly does one obtain these points from the model? Two methods will be discussed that can be easily applied. One method involves using the ESTIMATE statement and is relatively straightforward in its application. The other method requires 'tricking' the model by creating fictitious data so that points can be generated using the OUTPM option. Once this method is fully grasped, the process is actually rather painless. SAS code is given for generating the graphs from the points. | interaction effect, main effect, proc mixed | source | 4 |
| 54 | Investigating the Dynamics of Occupational Prestige Preferences Using SAS Statistical Procedures Using the SAS? System | Kacey Lock, Joseph E. Earley |
The purpose of this paper is to illustrate how SAS statistical procedures may be used to investigate the relationship between national survey data and university undergraduate data concerning perceptions of occupational prestige. SAS procedures for regression and chi-square contingency table analysis are used to determine whether or not university undergraduates view occupational prestige in the same manner as those in the general population. Regression models using the SAS procedure PROC REG are developed to investigate the influence of gender, age, grade point average and the number of hours worked per week on the prestige ranking assigned by university undergraduates to seventeen selected occupations. Several specific attitudinal differences were noted using the chi-square option in PROC FREQ. |
estimate, regression analysis | source | 3 |
| 55 | Is the Legend in your SAS/GRAPH Output Telling the Right Story? | Justina M. Flavin, Arthur L. Carpenter |
When generating plots using the GPLOT procedure, a third variable, such as a treatment or dose group, is often used as a grouping variable. GPLOT automatically uses the values of this variable in the LEGEND, but very often the designers of the plots will want particular symbols, line types, and/or colors to be specified for the display of specific values of this variable. Of course consistency is important, and if the program is subsequently run on a subset of the original data, some values of this discrete variable may be absent in the subset. This can result in an inconsistent representation (symbol, line type, color) of a particular value of the variable in a series of plots. This paper will present macro and non-macro solutions for producing plots with consistent attributes for each distinct value of the grouping variable, showing how to maintain this consistency regardless of the subset used. |
macro variable, class variable, macro facility, proc step, proc sql, proc gplot, macro definition | source | 4 |
| 56 | It's All in the Presentation | Jeff Cartier | In Version 9, ODS styles have been extended to include elements that affect graphical procedure output as well as tabular output. This paper will show how to easy it is to apply any of the new supplied style definitions to SAS/GRAPH, SAS/STAT, SAS/ETS output. You will also see how SAS/GRAPH coding and supplied STATGRAPH templates interact with information supplied by a style. By adjusting source programs, you can control exactly the level of style information that contributes to final output. |
proc template, proc step | source | 9 |
| 57 | JMP Ap.Dev Repository | Charles E. Shipp, Kirk Paul Lafler |
An Application Development (Ap.Dev) Repository can offer significant strategic and operational support for an enterprise's computer-based resources and its people. The principle motivation for developing a repository includes its relative ease-of-implementation and use. This paper illustrates the methodology of implementing a JMP Ap.Dev Repository to achieve the desired enterprise goals while understanding the needs, at both the management and technical levels, for successfully building, populating, and using a repository's contents. An example of a simple repository will be illustrated. In the conference presentation we also present the specifications for implementing a useful code repository. | proc sql, data science | source | 3 |
| 58 | JMP-code Corner | Charles E. Shipp, Kirk Paul Lafler |
Code for JMP? Yes! Code for JMP, to customize your input, processing, and output. SAS Institute, Senior VP John Sall created JSL and it is powerful and yet easy to use. The fifth manual for JMP covers the JMP Scripting Language. In the paper we use JMP to discover cause and effect in two cancer independent variables resulting in statistical graphics and tables. To conclude, we show how to store the script code for dissemination and reuse. | correlation, interval variable, proc sgplot | source | 2 |
| 59 | Ka-Ching! A New Cash Register Report From SAS In 6 Easy Steps! | Nikki M. Carroll | New cash register system software implemented at Kaiser Permanente Colorado Pharmacies required daily business summaries on pharmaceutical cost and number of prescriptions sold by pharmacy. This in itself is not difficult, however, a reporting mechanism had not been built into the source system software. Therefore, the data had to be retrieved, summarized, put into a report template and e-mailed to the Pharmacy Business Manager on a daily basis. This paper will review the challenges of doing such a program and how SAS conquered each one. A program was built that: obtained data from an FTP site; summarized the data; opened EXCEL and put data into a multi-spreadsheet template report; e-mailed results to the Pharmacy Business Manager; and was set to run on a daily basis. |
excel, filename statement, macro variable, raw data, proc sql, dataset | source | 4 |
| 60 | LIFETEST+ODS+IML=Stratified Log Rank Tests | Ann Olmsted | When analyzing right-censored survival data, equality of survival curves across treatment groups is often tested using log rank tests (Peto and Peto 1972), aka Mantel-Haenszel tests. For instance, in a cancer trial, the primary response variable might be time to disease progression and the treatment groups might be chemotherapy regimens. To increase power and protect against baseline imbalances, you could stratify by a variable with known prognostic value, such as disease stage. But in versions 8 and earlier, PROC LIFETEST performs unstratified log rank tests only. Sorting the input dataset by stratum and adding a "by stratum ;" statement yields the information you need to hand- compute the stratified log rank statistic. By feeding ODS output datasets to SAS/IML, you can easily automate these computations and obtain exactly the same stratified log rank test p-values calculated by SPSS, Stata, and BMDP. Stratified generalized Wilcoxon tests and 1 df trend tests are a bonus. |
rank test, wilcoxon test, covariance, proc step, sample, class variable, proc freq | source | 5 |
| 61 | Logistic regression model-building strategies for predicting regular mammography screening adherence among uninsured immigrant women | Jesse Albert Canchola, Regina Otero-Sabogal, Desiree Owens, Farzaneh Tabnak |
While one-time mammography screening rates have improved, repeat-screening rates have not followed this trend. Little is known about those factors that help sustain the regular use of mammography over time, especially among low-income, uninsured immigrant women. We utilized model-building strategies using the SAS LOGISTIC procedure to find a set of candidate logistic regression models that included a candidate set of predictors for repeat-screening mammography among 562 uninsured immigrant women who participated in the California No-Cost Screening Program (CANCSP). Rationale for the strategies and procedures used is given and limitations are discussed. |
logistic distribution, logistic regression, regression analysis, backward selection, proc logistic, proc freq, significance level, main effect, odds ratio, sample size, sample | source | 6 |
| 62 | Macro Functions: How to Make Them - How to Use Them | Arthur L. Carpenter | The SAS macro language includes a number of macro functions, such as %UPCASE, %QSCAN, and %SUBSTR. In addition a number of Autocall macros, such as %LEFT, %TRIM, and %VERIFY, are also supplied that act like macro functions. Macro functions are especially useful as programming tools, because the function call is replaced directly by the | macro variable, macro function, macro definition, macro call, macro facility, symbol table, %if-%then-%else | source | 5 |
| 63 | Macros To Report Missing Data: An HTML Data Collection Guide | Patrick Thornton | This paper presents SAS macros to produce missing data reports in HTML. The reports are useful for informing manages and guiding the activities of data collection staff. The macros feature the CONTENTS and TRANSPOSE procedures, DATA STEP, and user information to profile missing data points overall, by variable, and by observation. The reports also incorporate summaries by groups of variables, and a customized menu is integrated with the menu created by the SAS Output Delivery System. |
missing value, output delivery system, macro definition | source | 6 |
| 64 | MedDRA Made Easy with SAS/IntrNet | Sy J. Truong | Working with a new thesaurus dictionary that contains multi-level hierarchy such as MedDRA can be a challenge. The decisions go beyond just matching a verbatim adverse event term with a preferred term. This paper explores tools developed with SAS/INTRNET to create a user friendly interface that helps make mapping decisions easy within MedDRA. It will describe how auto coding, manual coding, and the process of creating a mapped dataset can be accomplished through simple mouse clicks rather than writing programs. An example of a hyperlinked dictionary view will also show how easy it is to navigate the hierarchy of terms. Innovative use of email integration demonstrates how the tool communicates with the users. In addition to technical examples, this paper will also share the lessons learned in various project management tasks, as well as methodologies of working with a web-based application. |
raw data, adverse events, lowest level term, macro call, verbatim term, clinical trial | source | 9 |
| 65 | Merging Large Internet And Paper Survey Datasets For A 22-Year Longitudinal Cohort Study | Thomas E Corbeil, Tyler C. Smith, Besa Smith, Margaret A. K. Ryan |
Merging two disparate datasets is a fairly common necessity that can be easily performed by most analysts who have a passing familiarity with SAS software. Those who have actually taken this step, however, know that there are seemingly endless pitfalls that must be avoided in order to successfully produce the desired dataset. Using a real dataset example, this paper describes the rudiments of PROC IMPORT, ODBC calls, and the MERGE AND SET statements. These SAS functions have been successfully used to merge paper-collected survey data with internet-collected survey data, producing a dataset containing nearly 80,000 survey observations and over 350 variable fields. |
proc import, proc step, merge statement, dataset, txt, libname statement, update statement, by group processing, excel | source | 5 |
| 66 | Methods of Producing Datasets with Unique Record per Id Number | Alexander Khartchenko, Irina V. Tolstykh, Natalia V. Udaltsova |
The task of producing a specific dataset with Unique Record Per Id (URPID) number on the basis of multi record information with duplicates collected from various sources in different formats appears to be frequently met, and at the same time important and non-trivial. This paper describes few approaches that may be used to perform this task successfully. Using specific SAS functions Retain and Lag and procedures Freq, Transpose, Summary and SQL we demonstrate here how to aggregate information with a) large number of observations; b) big collection of variables (numerical and character), c) not clean initial data (duplicates, missing values, etc). In our practice it is necessary to save time and memory space for the URPID. Therefore comparative characteristics of methods including CPU time, Memory usage, etc. are given as well. | proc step, character variable, proc sort, proc sql, data step, missing value, proc freq | source | 4 |
| 67 | More Customization? Creating Symbols In RTF Files Using ODS | Richard Rowell, Jim Lenihan |
If you are using SAS ODS to produce RTF files you may run into problems if you need to put symbols in your tables or listings. This paper will show you how to put various (mathematical) symbols used in statistics on to your report. It will show some of the problems the authors have had in creating certain symbols and how you can "troubleshoot" if you have difficulty in putting out your symbol. |
proc template, proc step, macro variable | source | 3 |
| 68 | Mouse Clicking Your Way Viewing and Manipulating Data with Versions 8 and 9 of the SAS System | Cyndie B. Gareleck, Terry Fain |
Versions 8 and 9 of the SAS System offer several powerful ways to view and interactively manipulate data. This paper will focus on five such methods: PROC FSEDIT, PROC FSVIEW, Viewtable, SAS Enterprise Guide Version 2.0, and the Analyst Application. We will examine the strengths and limitations of each approach, with an emphasis on their most powerful features and ease of use. While the examples illustrate a Microsoft Windows 2000 environment, many of the concepts are equally applicable to other operating environments. |
proc step, dataset, where statement, sas base, label statement, proc sort | source | 8 |
| 69 | Multiple Linear Regression Analysis of Percent of Students Taking the ACTs in Nevada High Schools | Ramya R. Fernandez, George C. J. Fernandez |
Data on various factors that could affect the percentage of students taking the ACT's in Washoe and Clark county high schools in Nevada was acquired from the Nevada Department of Education website. Regression models were fitted to investigate factors influencing the percentage of students participating in the standardized test. A user- friendly SAS macro 'REGDIAG', comprising of the SAS procedures PROC REG, GLM, and GPLOT, was used to explore the data, fit the regression model and check for any violations of regression model assumptions. The results of exploratory and model selection and model fit will be discussed. The final model suggested that the per pupil expenditure and the overall transiency rate at the school have significant effects on the percentage of students taking the ACT's . |
predictor variable, regression analysis, feature selection, macro definition | source | 6 |
| 70 | Navigating Technology Choices For SAS Data Access From Multi-Tiered Web Applications | Miriam Cisternas, Ricardo A. Cisternas |
There are a number of technologies available from SAS Institute to integrate access to your SAS data into the development of a new or existing multi-tiered web application. These technologies are included in different SAS products and can be confusing for those evaluating them for the first time. In this paper, we outline how to proceed with building multi-tiered web applications to display your SAS data using Java and .NET frameworks. We then describe possible architectures, driver, and configuration choices, and the relative benefits of .NET versus Java. Finally, we compare the performance of alternative approaches for SAS data access from Java and .NET code. | dataset, proc sql, connection string | source | 6 |
| 71 | Nine Steps to Get Started Using SAS Macros | Jane Stroupe | Have you ever heard your coworkers rave about macros? If so, you've probably wondered what all the fuss was about. This introductory tutorial unravels the mystery of why and how you use the SAS macro facility. In the nine easy steps outlined in this paper, you follow the process of testing your code, substituting macro variables into the code, and turning your SAS program into a macro definition with conditional processing. | macro variable, macro definition, macro facility, symbol table, macro parameter, %macro parameters, call symput, local symbol table, automatic macro variable, global symbol table, proc print, proc sql, proc step, put statement, title statement, keyword parameter, macro function, %if-%then-%else | source | 5 |
| 72 | Options NOnotes NOsource NOmacrogen...! Production SAS Code WITHOUT the SAS System's Logging? | Joe Perry | De-bugging run-time failures like incomplete data updates and failed reports and/or e-mail notifications in simple SAS production programs can be frustrating for the SAS developer. Typically, production system code can be anything but simple to debug and very time-consuming to administrate when all of the SAS messaging options such as macrogen, symbolgen, etc. are turned on. This paper presents software development techniques for use with the SAS system that can be used to design code running in a production system without ANY of SAS's messaging options including the NOTES and SOURCE options. These techniques can reduce overall system costs for your client or employer and free you to continue creating superior new SAS based applications instead of maintaining old systems. | sas programmer, sas log | source | 4 |
| 73 | Overlapping Date Segments: How to Clean Up the Mess | Doug Shannon, Wade Bannister |
Many times data are received that contain issues with the date variables. Overlapping segments is one of the more common problems that can occur, which causes difficulties with joins and analysis. These segments could be eligibility ranges, or they could be hospital stays that overlap. Either way, in most cases some type of data manipulation is required in order to correct the problem. This paper will go over these different situations and present ways to manipulate the data into a more desirable format. SAS code that corrects the issues will be reviewed and explained. | proc sort, retain | source | 2 |
| 74 | Pattern Matching Using Fuzzy Methods | David Bell, Lynn G. Palmer |
source | 4 | ||
| 75 | Photos with Text Reports on the Same SAS/AF Screen | Michael Shreve | The day of the digital media has arrived! Our field reps are armed with digital cameras. The menu system for text reporting is fully functional, so that users can create reports from the data sent in. But now the field reps are sending in supporting digital photographs (better than a thousand words!), and I hear "Can I see the photos that go with this text, at the same time?" I found a way using the file viewer, Image class and downloaded digital photos, on a version 6 engine, to produce a SAS/AF screen showing the text report and the photos for a selected record. Super-sizing of the photos is available! |
do loop, txt | source | 6 |
| 76 | Picturing Statistics | Diana D. Suhr | Statistical results could be easier to understand if you visualize them. This Hands On Workshop will give you an opportunity to program SAS statistical procedures (e.g., PROC FREQ, PROC MEANS, PROC CORR) and learn to illustrate the results with PROC GCHART/PROC GPLOT. Comparisons will be shown between PROC GCHART, PROC CHART, PROC PLOT, and |
proc step, proc gchart, proc gplot, proc freq, correlation, proc corr, bar chart, histogram | source | 6 |
| 77 | Preliminary Analysis for Classic Case-Control Study | Natalia V. Udaltsova, Irina V. Tolstykh |
This paper describes a non-standard approach to finding a set of best-matched controls from classic epidemiological Case- Control design. The standard way of solving this problem is based on finding exact or multivariate matching pairs (one case - one control) or family (one case - N controls) in corresponding datasets. This process is full of twists and turns when several criteria have to be satisfied simultaneously. In practice, it could bring a researcher to the situation when he/she is not contented with the results (no controls for some cases, or fewer controls than required). The authors discuss the preliminary analysis of given datasets that is necessary to perform a successful matching process. Also, they present macros for data analysis and selection of controls. | proc sort, clinical data | source | 3 |
| 78 | Presenting Logistic Regression Models to Non-Statisticians: Adjusted Probabilities and Adjusted Risk Ratios | David J. Pasta, Miriam G. Cisternas |
Analysts are often required to present results from logistic regressions to non-statisticians. The standard practice of presenting logistic regression results using odds ratios can be a challenge for individuals with little statistical training, who tend to find their interpretation difficult. One alternative to using logistic regression and presenting the results as odds ratios is to change the statistical model to one that estimates probabilities or risk ratios directly. That approach can be less than satisfactory. We prefer to continue to use logistic regression, and we offer two alternatives to the presentation of odds ratios: adjusted probabilities and adjusted risk ratios, both of which are based on the logistic model and the dataset from which it is estimated. An adjusted probability represents the estimated probability of the event for the independent variable or subgroup in question after having adjusted for all other factors in the model. | odds ratio, regression analysis, relative risk, logistic regression, logistic distribution, predictor variable, proc step, proc calis, proc mixed, response variable, proc phreg, proc glm, proc reg, binomial distribution, proc genmod | source | 4 |
| 79 | Principal Component Analysis, A Powerful Scoring Technique | George C. J. Fernandez | Data mining is a collection of analytical techniques to uncover new trends and patterns in massive databases. These data mining techniques stress visualization to thoroughly study the structure of data and to check the validity of the statistical model fit which leads to proactive decision making. Principal component analysis (PCA) is one of the unsupervised data mining tools used to reduce dimensionality in multivariate data and to develop composite scores. In PCA, dimensionality of multivariate data is reduced by transforming the correlated variables into linearly transformed un-correlated variables. PCA summarizes the variation in a correlated multi-attribute to a set of uncorrelated components, each of which is a particular linear combination of the original variables. The extracted uncorrelated components are called principal components (PC) and are estimated from the eigenvectors of the covariance or correlation matrix of the original variables. | correlation, macro definition, proc princomp, scatter plot, scree plot, data mining, unsupervised learning, covariance, factor analysis, standard deviation | source | 6 |
| 80 | PROC TRANSPOSE: The Mystery Unveiled | Doug Shannon | SAS is great for data manipulation. One of the procedures often overlooked for doing this work is PROC TRANSPOSE. With many of my coworkers there is a great deal of confusion surrounding the procedure. What does it do? What exactly is it going to do to my data? This paper will answer these questions, along with, to going through some SAS options to make the procedure even more useful. A contrasting example of code, without using the TRANSPOSE procedure, will be shared. |
proc transpose, proc step | source | 3 |
| 81 | Program, Code Thyself: Techniques for Writing Programs that Write Programs. | Renato G. Villacorte | "Meta-programming" makes repetitive procedures and routine coding more efficient. With simple Base SAS tools, one can effectively write programs that determine unknown data file names, variable names, or other parameters and construct tailor made programs to process or analyze those objects. One can also use these tools to develop subroutines that require minimal user input or guidance. Examples of these coding techniques include how to read an MS Windows folder's filenames into a SAS dataset, how to extract PROC results into datasets, and how to make SAS write programs based on these results. Note: All examples and expertise offered is based on the SAS for Windows product operating in a stand-alone PC environment. |
txt, data dictionary, data step, proc step, dataset | source | 2 |
| 82 | Quantifying Stock Market Overreactions | Dan Shaw | Many stock market watchers have speculated that stock markets sometimes perform in an irrational manner. This paper will attempt to illustrate examples of investor irrationality by looking at the phenomenon of investor 'overreaction' in stock markets during and shortly after particularly volatile market days. This task will be accomplished by analyzing widely available stock market data with SAS during periods of exceptional share price fluctuations, and comparing that information with long term stock market performance. Any emerging trends during periods of volatility will help validate the idea that financial markets do not always behave in a rational manner, and that perhaps a wise investor with enough capital can take advantage of periods of high stock market volatility. | index, proc means, data step, proc step | source | 3 |
| 83 | Reading and Writing XML Files from SAS | Miriam Cisternas, Ricardo A. Cisternas |
XML (eXtensible Markup Language) is gaining popularity as a medium for data exchange. SAS Institute has added additional support recently for reading and writing XML files under both 8.2 and 9.0. The purpose of this workshop is to provide a quick | dataset, proc step, proc print, key, character variable, proc contents, clinical trial, foreign key, libname engine | source | 7 |
| 84 | Regression Diagnostic Plots | George C. J. Fernandez | In Multiple linear regression models, problems arise when serious multicollinearity or influential outliers are present in the data. Failure to include significant quadratic or cross-product terms result in model specification error. Simple scatter plots are most of the time not effective in revealing the complex relationships of predictor variables or data problems in multiple linear regression. However, partial regression plots are considered useful in detecting influential observations and multiple outliers; partial residual plots or the added-variable or component-plus-residual plots are useful in detecting non- linearity and model specification errors. The leverage plots available in SAS JMP software are considered effective in detecting multicollinearity and outliers. The VIF-plot, which is very effective in detecting multicollinearity, can be obtained by overlaying both partial regression and partial residual plots with a common centered X-axis. | regression analysis, proc reg, predictor variable, multiple regression, outlier, response variable, macro definition, simple linear regression, scatter plot, proc step, correlation, influential observation, interaction effect, title statement, feature selection, estimate | source | 9 |
| 85 | SAS Macro Programming for Beginners | Susan J. Slaughter, Lora D. Delwiche |
Macro programming is generally considered an advanced topic. But, while macros certainly can be challenging, it is also true that the basic concepts are not difficult to learn. This paper is designed for people who know the basics of SAS programming, but know nothing about SAS macro programming. We explain how the macro processor works, and how to use macros and macro variables. Using these techniques you can create flexible, reusable code that can save you time and effort. | macro variable, call symput, proc step, macro definition, proc print, cpu time, dataset, proc sort, sas log, if-then-else, options statement, %if-%then-%else | source | 8 |
| 86 | SAS System on Network Appliance | Darrell Suggs, Margaret A. Crevar, Leigh A. Ihnen |
The goal of this paper is to help customers maximize SAS application performance while reaping the benefits of network attached storage. Specifically, this is a guide for performance tuning in an enterprise class environment containing the SAS application and using a Network Appliance NAS (network attached storage) subsystem (aka Filer). The recommendations include configuration and parameter changes to the SAS environment, the platform specific Unix operating system, NFS (Network File System) client, and the NetApp Filer subsystem. This version of the paper covers only Solaris and HP-UX changes. A complete set of tuning recommendations for other operating systems is contained in the full version of this paper located on both SAS's and Network Appliance's company web pages. | dataset, memory usage, proc sort | source | 6 |
| 87 | SAS with Style: Creating Your Own ODS Style Template | 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. To create output with more panache, you need to create your own style template. This workshop will take you step by step through the process of creating a custom style for your 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 on an acid green background with a gigantic script font, this workshop will show you how! Or, if you'd just like to make the output smaller and use colors that coordinate with your company logo, you can do that too. 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. The workshop is aimed at beginning to intermediate ODS users, and is based on SAS version 8. |
sample, proc step, proc template, output delivery system, ods html, proc freq | source | 9 |
| 88 | SAS's ODS Technology for Today's Decision Makers | Sunil Kumar Gupta | Have you ever wondered why there has been so much excitement about ODS ever since it was introduced over 3 years ago? How does ODS significantly enhance the presentation quality of reports and create files that were never before imaginable from SAS? Have you ever thought about how ODS can directly improve your daily activity and what it actually has to offer you as a programmer, statistician or manager? If you have ever had any of these questions about ODS, then this presentation is for you because it provides something for everyone at all levels. As a programmer, you can now create most any file types directly from SAS. In addition, the level of control and flexibility to format the output enables a high degree of customization. As a statistician, you will want to take advantage of ODS for more efficient data analysis. The tools available in ODS facilitate multiple iterations of an analysis and ease of locating significant results. |
proc step, proc print, excel, proc tabulate, ods html, proc sql | source | 6 |
| 89 | SAS/AF, Metadata and the National Cancer Institute's Diet History Questionnaire: How to Build a Computer Assisted Interview | Derek P. Morgan | The Diet History Questionnaire (DHQ) is a food frequency questionnaire developed by staff at the Risk Factor Moni- toring and Methods Branch. It consists of 124 food items and includes both portion size and dietary supplement questions. The 124 food items comprise 404 questions with extensive skip patterns. However, there is currently no instrument other than a paper form to administer this questionnaire. A SAS/AF application was constructed using metadata for both question and responses, with the text pulled from the questionnaire itself. The main advan- tages of this method over traditional SAS System |
where statement, missing value | source zip |
6 |
| 90 | SAS/IntrNet and Census Mapping: How Low Would You Like to Get? | Lakshmi Pandey, William Joseph Smith, David Sjoquist |
This paper d etails the steps involved with using SAS procedures and program components to create a web -enabled Geographic Information System. With the increased availability of geographic data via the Internet, data managers are put into a position of trying to make the available data user-friendlier. Access to data now entails more than physically obtaining columns of numbers. It means presenting the data in an understandable way to individuals with little or no technical knowledge. This paper shows how an intermediate SAS user, utilizing features integrated into the base SAS System can easily produce maps of geographic data, and with the addition of ODS (Output Delivery Services) can create live and interactive reports on the web that can be used by individuals w ithout any knowledge of SAS, HTML or any other markup or programming language. |
proc step, proc gmap | source | 6 |
| 91 | SAS/STAT 9: Progressing into the Future (Preliminary Paper) | Robert N. Rodriguez, Maura E. Stokes, Randy Tobias |
SAS/STAT 9 delivers a wealth of tools and function- ality for statistical modeling and data analysis. Areas covered by new or enhanced software include mul- tiple imputation, conditional logistic regression, ro- bust regression, general linear models for propor- tional hazards, regression diagnostics, survey data analysis, power and sample size analysis, statistical distance computations, statistical graphics, and par- allelization. |
source | 5 | |
| 92 | Segmenting Children's Narratives with PROC CLUSTER: An Application of SAS Tools to Child Language Studies | Lindsey N. Chen | Multivariate statistical methods have been utilized for classifying texts into genre categories or differentiating one literary style from another. Moreover, such tasks could be performed faster and more efficiently, thanks to today's powerful computing capabilities. Within this paper, I present a similar methodology for studying primary school children's narrative genre skills. In particular, the Average Group Linkage Method via SAS PROC CLUSTER is applied to 32 first-grader's spoken narratives obtained from the CHILDES corpus. Here, SAS was extremely useful for helping to make sense of a large collection of textual data that consists of various linguistic features measured on a number of narrative texts. Preliminary results show that the children's narratives can be segmented into two sub- genre categories, thus supporting the hypothesis that children at that young age already possess the ability to produce different kinds of narratives. |
proc step, proc cluster | source | 5 |
| 93 | Selecting a Stratified Sample with PROC SURVEYSELECT | Diana D. Suhr | After seeing a presentation on PROC SURVEYSELECT at SAS Colorado Day 2002, a routine was developed to select stratified samples determined by population parameters. SAS code and examples will be shown to select samples stratified on 1, 2, and 3 variables. The routine uses PROC FREQ and PROC SURVEYSELECT with STRATA. |
sample, proc step, proc surveyselect, sample size, proc freq, random sampling, proc delete | source | 4 |
| 94 | Snapshots from Hell: Practical Issues in Data Warehousing | Tyson Lee | Data warehouse projects have a reputation for being complex, costly, and almost certain to fail. According to a recent report from Information Week, the rate of data warehouse project failures, while down from analysts' estimates of 60% to 90% in the 1990s, still hovers around 40%. Lack of planning and poor design also contributed to these inflexible, 'stovepipe' projects that quickly became legacy baggage in the face of an ever-changing business environment. Instead of reaping the benefits of data warehousing, many practitioners fear the nightmare of delayed timelines and overrun budgets. Some even describe their data warehousing experience as a living hell. In this paper, the author intends to leverage practical experiences to illustrate industry best practices in good data warehouse design, construction and on-going maintenance. Topics include: Fundamental Concepts of Data Warehouse; Zen of Data Warehousing; Myths and Facts of Data Warehousing; Validation Issues; Examples Using SAS. | data warehouse, proc compare, proc step, audit trail, data standard, data cleaning, macro definition, dictionary tables, proc sql | source | 5 |
| 95 | Statistical Analysis of Gene-Environment Data | Jimmy Thomas Efird | The objective of this paper is to assess the effect of gene-environment interaction on the odds ratio of environmental exposure given disease in the population [OR(E|D)], when neither a gene nor environmental effect is present alone. A nomogram is provided for determining OR(E|D) for different values of gene frequency and gene-environment effect given disease [OR(GE|D)]. | odds ratio, proc freq | source | 3 |
| 96 | Supporting Medical Research Analysis Using Effective Data Mining Tools: Creating a Well Documented SAS Analytical File from Multiple Warehoused ASCII Files | Jay Gravink | The Women's Interagency HIV St udy (WIHS), a multi-center national prospective study, wa s established in August 1993 to carry out comprehensive investigations of the impact of HIV infection in women. The University of Southern California (USC) in Los Angeles County is one of six regional members of the national WIHS Collaborative Study Group. National longitudinal data collected for the WIHS study is managed and warehoused at the WIHS Data Management and Analysis Center (WDMAC) at Johns Hopkins University-Bloomberg School of Public Health, and is regularly distributed to six regional data managers in the form of approximately 240 ASCII files with matching SAS input files. This paper describes one regi onal data manager's methodology for mining data using custom, effi cient, "staff turnover friendly" SAS programs, which create analytical SAS data sets utilized by USC statisticians and other research professionals. Programming methodology includes the use of FILENAME, |
data mining, proc sort, proc step | source | 3 |
| 97 | Table Lookups: From IF-THEN to Key-Indexing | Arthur L. Carpenter | One of the more commonly needed operations within SAS programming is to determine the value of one variable based on the value of another. A series of techniques and tools have evolved over the years to make the matching of these values go faster, smoother, and easier. A majority of these techniques require operations such as sorting, searching, and comparing. As it turns out, these types of techniques are some of the more computationally intensive, and consequently an understanding of the operations involved and a careful selection of the specific technique can often save the user a substantial amount of computing resources. This workshop will demonstrate, compare, and contrast the following techniques: IF-THEN, IF-THEN-ELSE, SELECT, user defined formats (PUT function), MERGE, SQL joins, merging with two SET statements, using the KEY= option, use of ARRAYS, and Key- Indexing. |
proc sql, by group processing, lookup, proc step, merge statement, data merging, if-then-else, proc format, put statement, set statement, dataset, key=, cpu time, select | source | 7 |
| 98 | Taming Your Metadata Part I: A Solution for Incorporating Data Documentation into the Programming Process | Peter Godard | One of the most difficult aspects of SAS programming does not involve programming at all. For many programmers, documenting the data they produce is a labor intensive and painful process; one that is put off as long as possible. As a result, data documentation often falls short of what is needed. Worse yet, documentation is sometimes ignored altogether, leaving would-be data consumers to fend for themselves with oft-photocopied, coffee-stained, hand-written copies of file layouts. Taming Your Metadata Parts I and II will provide solutions for your documentation woes. Part I illustrates how to set up a workable system for tracking your metadata. It provides tips for automating metadata maintenance and generating repetitive code. It not only provides all the resources you need to produce the codebooks described in Part II, but also serves as a management system to guide the programming process. | sample, out=, macro variable | source | 6 |
| 99 | Taming Your Metadata Part I: Getting data dictionary and codebook from your SAS databases | Peter Godard | SAS programmers are often requested to provide detailed information about their data for internal users or as a project deliverable. Taming Your Metadata Parts I and II will provide solutions to your documentation woes. Building on the solutions presented in Part I, Part II provides a | missing value, proc step, character variable, proc freq, nominal variable, proc report, proc means, dataset | source | 6 |
| 100 | The Data Dictionary: A Tool for Management of Variables and Access to Data | Ted Clay | What the Census Long Form (SF3) and the California Hospital Annual Financial Disclosure Report (HAFD) data have in common is a large number of variables, both in the 15,000 to 20,000 range. A data dictionary containing attributes of those variables (metadata) has been a useful tool in taming the beasts. We present a standard macro used to rename variables and apply revised labels stored in the data dictionary. This allows you to leverage all your knowledge of DATA STEP programming to the task of "bulk renaming" and labeling. Finally, we show how to use an EXCEL spreadsheet as a data request form. As a standard user interface, the spreadsheet has the advantage of being emailable, familiar, and closely tied to the data dictionary. |
data dictionary, proc step, proc contents, excel, data step, macro variable, txt, label statement, dataset, char., macro definition, proc sql, %if-%then-%else | source | 9 |
| 101 | The Quandary of Survey Data: Comparison of SAS Procedures and SUDAAN Procedures | Katherine L. Baisden | Have you ever worked with survey data that are based on a stratified, clustered or complex sample design? Such designs impact the accuracy of variance estimates (e.g., standard error of the mean) and test statistics (e.g., chi- squares). Until recently, SAS programmers had to rely on other statistical software packages, such as SUDAAN, WesVar, and STATA, to produce accurate variance estimates and test statistics from complex sample designs. With the release of SAS V8.2 and the upcoming release of SAS V9.0, SAS has incorporated survey procedures (e.g., PROC SURVEYMEANS, PROC SURVEYFREQ) to address this issue. This paper examines the differences between the PROC SURVEYMEANS and PROC SURVEYFREQ procedures and the corresponding SAS-callable SUDAAN v8.0 procedures. Using data examples, the paper highlights the differences in syntax and output. It will also discuss the available options and limitations of each package. |
proc step, sample, proc surveyfreq, proc surveymeans, missing value, design effect, sas programmer, random sampling, proc freq | source | 6 |
| 102 | The Where, When, Who, Why, and How of Views | Lynn G. Palmer | Views are added code that filter, summarize, and add to d ata from files and d atabases. Added code means more processing, so when are views efficient? Additionally, databases contain tables of records: some tables match one to one, some don't, how do you resolve the differences? Views can b e inside a database, like a table, or out in SAS code, where will you put your view? Views seem vague, requiring more coding up front, so why bother? And who n eeds or wants views? These a re some of the questions that need to be c onsidered when d eciding to u se views with your database. By presenting specific situations where views can b e a pplied and analysis of the efficiency, the " where, when, who, why, and how" s will be addressed. | proc sql, proc step, create view, sas library, data step, libname statement, cpu time, view | source | 5 |
| 103 | Tips and 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 will 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/analyses of your data, and take advantage 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, character variable, numeric variable, where statement, sas base | source | 8 |
| 104 | Titling HTML Tables: Getting the Look You Want | Kathryn A. Valdes | SAS has created a fantastic tool with ODS capabilities. The first time I created an HTML table, I was amazed and instantly hooked. What possibilities! Between successfully creating my first table and putting up something on the Web for publication, I became a bit more demanding. Sometimes the defaults are perfectly acceptable; at other times it is good to have a bit more control. Through trial, error, and much wading through documentation, I learned how to specify titles in the table of contents, titles above the table and titles within the table, and to have a little bit of control manipulating the table itself. This is a concise rundown of how title statements work and where to put them in a program. It is intended to save others the time and effort I put into discovering how it all works. |
macro variable, proc step, proc calis, proc sql, output delivery system, title statement | source | 3 |
| 105 | Toss Those Investment Reports And Use SAS, The Web, And Java To Track Your Portfolio | Jonathan M. Squire | A method to track all your investments in one click is described. Performance, allocation, and other metrics can easily be tracked with an integrated text file and the URL file reference in SAS, which allows direct access to prices via the Internet. DATA STEP programming is then used to parse the HTML files and process the information. By using SAS/GRAPH, ODS, and JAVA, one can easily create a visually attractive, interactive graphic to track performance of the assets as compared to stock indices. An intermediate knowledge of DATA STEP programming is recommended. The SAS products discussed are SAS/BASE and SAS/GRAPH for Windows. |
data step, date variable | source | 4 |
| 106 | Try Your Hand at Arrays | Diana D. Suhr | Get ready to learn about implicit and explicit array statements in SAS. This presentation will explain array syntax, and give examples of using arrays for input statements, initializing values, recoding variables, calculating new variables, and converting variables to observations. Arrays are flexible, powerful and make programming more efficient. Why not try your hand at arrays? | input statement, array, do over | source | 4 |
| 107 | Two Approaches to Presenting Hierarchical Clinical Trials Data through SAS/IntrNet Using SAS/GRAPH DSGI and SAS Treeview Applet | Nick Pászty | If you knew to search support.sas.com for 'DSGI' then you would be given the opportunity to enter into the wild world of the DATA STEP Graphic Interface (DSGI). Know to search it for treeview and you would quickly learn about the ds2tree macro. A substantial amount of data collected during the course of a clinical trial can be organized into a hierarchical structure. This paper explores and contrasts the use of these two SAS features to enhance hierarchical data presentation within a SAS/INTRNET context. |
clinical trial, macro variable, output delivery system, data step, proc step, adverse events | source | 6 |
| 108 | Undocumented and Hard-to-find SQL Features | Kirk Paul Lafler | The SQL Procedure contains many powerful and elegant language features for advanced SQL users. This paper presents SQL topics that will help programmers unlock the many hidden features, options, and other hard-to-find gems found in the SQL universe. Topics include CASE logic; the COALESCE function; SQL statement options _METHOD, _TREE, and other useful options; dictionary tables; automatic macro variables; and performance issues. Finding the First Non-Missing Value The SQL procedure provides a way to find the first non-missing value in a column or list. Specified in a SELECT statement, the COALESCE function inspects a column, or in the case of a list scans the arguments from left to right, and returns the first non-missing or non-NULL value. If all values are missing, the result is missing. When coding the COALESCE function, all arguments must be of the same data type. The example shows one approach on computing the total number of minutes in the MOVIES table. |
proc sql, proc step, macro variable, sas library, macro definition | source | 6 |
| 109 | Using %WINDOW to Create Interactive and Completely Re-Usable Code with SAS/BASE | Wade Bannister | Many times we have code for a process that we want to use on numerous projects, with only a small set of definitions or user options, which need to be updated in order to apply it to a new project. Changing libnames, dataset names, input and output files, and even process options can all be handled using the %WINDOW environment. Requiring only SAS/BASE and an understanding of macros, I demonstrate a method of creating an interactive set of windows to allow an end-user to simply enter values and make choices. I also demonstrate code to validate this user input to ensure that it will run as expected. This will allow you to create code that is completely re-usable, never needs to be reviewed after its initial creation, and can be used by employees with limited (if any) SAS experience. |
macro variable, attrib statement | source | 3 |
| 110 | Using Cyclomatic Complexity to Determine Test Coverage for SAS Programs | Michael C. Harris | The Cyclomatic Complexity metric described by Watson and McCabe 1 provides an objective measure of the complexity of a given module of program code by examining its decision structure. This article examines issues related to using the metric. These include identifying relevant SAS flow control constructs, creating flow graphs of SAS programs, and methods for deriving test cases from basis path analysis. Emphasis is placed on programs typical of the biotechnology and pharmaceutical industry, but the principles are applicable to any kind of program. | data step, conditional do loop, macro definition, sas programming, sample, macro facility | source | 5 |
| 111 | Using Graph-N-Go To Easily Present Your Data And Webenable Your Graphs | Curtis A. Smith | Visualizing and presenting data effectively using reports and listings can be a difficult task. The SAS System overcomes this diffic ulty by o ffering a wide v ariety of gr aphing capabilities with the S AS/Graph module. Using the SAS System you can use graphs as a data exploration technique to see patterns, trends, and anomalies and you can present your data as graphs to make data easier to understand. But hey, writing code for those SAS/GRAPH procedures is not for everyone. There is great news for those who do want graphs but do not want to write prog ram code: Graph -N-Go, a completely interactive interface for making several types of graphs from your S AS data. Y es, it' s a goofy name, but Graph-N-Go is anything but goofy. This paper will lead you through the features of Graph-N-Go to start you on your way to turning data int o information g raphically w ith point-and-click, drag-and-drop ease. |
dataset, numeric variable, libname statement, data standard | source | 8 |
| 112 | Using PROC EXPAND with Time Series Data | Andrew H. Karp | PROC EXPAND is a little-known but very powerful SAS/ETS Software Procedure that contains many tools for working with time series data. Taking the time to master its capabilities is a worthwhile return on your investment as a SAS Software user, as its features often obviate the need for complex DATA STEP coding to work with your time series data. In addition, PROC EXPAND contains a number of tools for working with time series data that are not available in other parts of SAS System software. PROC EXPAND is part of the Econometrics and Time Series (ETS) module of the SAS System. It was first introduced in SAS Version 6.0 and has been enhanced considerably in subsequent releases of the SAS System. PROC EXPAND creates output data sets, it does not create "printed output," nor does it send results to the Output Delivery System (ODS) for subsequent rendering as Output Objects. |
proc step, time series analysis, proc freq, missing value, sysdate9, time series data, datetime variable, sas 9, dataset, date variable | source | 7 |
| 113 | Using Proc Gmap And Drill-Down Graphics For Data Quality Assurance | Meghan Arbogast | Maps are particularly useful to review the distribution of biological indicators. In this study, the values for an indicator were too numerous to see clearly on one map, so multiple maps were produced using PROC GMAP, ODS, and the SAS macro facility. Each map displays the origin of fish species collected at each site. A drilldown on each location within the map links to a table that includes all the fish that were detected at the site. These simple summaries allowed the analyst to quickly review the validity of many large datasets. |
call symput, macro facility, output delivery system, proc step, ods html, proc gmap, macro definition, macro variable | source | 5 |
| 114 | Using SAS for Classical Item Analysis and Option Analysis | Chong Ho Yu, Josephine Wai-chi Wong |
In spite of the growing popularity of the item response theory (IRT), classical item analysis (CIA) is still frequently employed by psychometricians and teachers for its conceptual and computational simplicity. This article will introduce how SAS can be applied to CIA such as computing p-values, discriminations, point biseri al correlations, and logits. In addition, option analysis, which is helpful to both IRT and classical analysis, will be discussed. The purpose of option analysis is to examine clarity and plausibility of distracters in multiple -choice items. | proc step, correlation, by group processing, proc freq, logistic regression, proc means, sample, bar chart, odds ratio, box plot, logistic distribution, outlier, regression analysis | source | 6 |
| 115 | Using SAS IN Educational Research | Leping Liu | This paper will present a variety of applications of using SAS for the data analyses in educational research. Research topics vary from instructional design, multimedia courseware development, online education, to technology integration, and student attitudes. SAS procedures used in these studies include: analysis of variance, repeated measurements, multiple regression, and logistic regression. Data analysis procedures and results of the studies will be introduced. | regression analysis, macro definition, data science, logistic regression, response variable, predictor variable, logistic distribution, anova, dataset, macro quoting function, multiple regression, proc genmod, sample | source | 6 |
| 116 | Using SAS Views and SQL Views | Lynn G. Palmer | Views are a way of simplifying access to your organization's database while maintaining security. With new and easier ways to access data, more users are able to get their data directly from the organization d atabase. This data often requires s ome knowledge of the "rules" for summarizing and p resenting the information. These rules may not be readily available to o r known b y all staff. Additionally, database structures can b e complex and d ifficult t o n avigate. One way to mange data access is to set up views that govern how the data is extracted. Views can, also, make it easier to access complex data stored in a database by summarizing the data for the user. You can create SAS views and SQL views that are transparent to your user and allow you to manage data access. | proc sql, proc step, create view, libname statement, sas library, dataset, create table, view | source | 5 |
| 117 | Using SQL to Summarize Data Down Rows and Across Columns | Kirk Paul Lafler | The SQL procedure provides SAS users with the ability to use SAS-supplied summary functions. These functions permit the creation of averages as well as the set of all quantities. Without the ability to summarize data in PROC SQL, users would be forced to write complicated formulas and/or routines, or even write and test DATA STEP programs to summarize data. This paper shows how summary functions can be used in PROC SQL to summarize data down rows as well as across columns of data. |
proc sql, group by | source | 2 |
| 118 | Using the ARIMA Modeling Capabilities of SAS to Forecast Rates of Febrile Respiratory Infection at Eight U.S. Military Recruit Training Centers | Christian J. Hansen, Anthony W. Hawksworth, Phillip I. Good, Margaret A. K. Ryan |
Auto-Regressive Integrated Moving Average (ARIMA) forecasting may be used as a method of detecting aberrations and quantifying excursions from normal behavior in time series data. Using SAS system's PROC ARIMA, weekly counts of health care visits for febrile respiratory infection (FRI) were forecast using several years of FRI count data collected regularly from eight DoD recruit training centers. The macro processing capabilities of SAS were used to increment successive forecasts, and to collect and evaluate the accuracy of multiple models. The capability of PROC ARIMA to include covariate data was used to expand the model to include total recruit population as well as the number of new recruits arriving weekly. Actual FRI counts were compared with ARIMA forecast counts, with differences measured in standard deviations from the forecast value. This paper describes some of the capabilities and techniques of ARIMA forecasting and macro processing through SAS. |
moving average, proc arima, &variable, proc step | source | 3 |
| 119 | Using the SAS Windowing Environment for Program Development | Wei Cheng | The SAS System Windowing Environment provides many new features to assist SAS programmers in developing their SAS programs and applications. This paper gives examples of customizing the SAS Windowing Environment to build a program development environment. Topics include building a help page to find answers to SAS questions, building a toolbar icon to scan the Log window, setting up Favorite Folders in the SAS Explorer, setting up File Shortcuts in the SAS Explorer, and setting up colors for different windows. | sas log, sas output | source | 5 |
| 120 | Using Transition Matrices for Analysis of System Changes Over Time | Paul A. Choate | Organizations track systems over time. Usually static reports are generated monthly, yearly or quarterly, and the reports are compared across time. On the reports are categories of information, usually counts, and other information. Objects in the population may change status over time. They might be added to the inventory, discharged from treatment, or moved within the system. Children graduate from grade school to middle school, stock is moved from warehouse to store shelf, patients improve from hospital to outpatient care. When analyzing a population of such objects it is useful to not just consider the categorical counts, but the change of the population as it flows from category to category. A transition matrix is cross-tabulation of a population across two points in time, giving categorical change counts, and forward and backward categorical flow proportions. Transition matrices are a simple and intuitive method of presenting change data based on discrete time Markov process analysis, over two points in time. They are an easily understood but detailed view of the flow of a system, and can be created with basic SAS. Transition matrices are useful for analyzing flow of population, assessing policy impact, predicting future change, etc. | transition matrix, excel, proc freq | source | 3 |
| 121 | What's In A Map? A Macro-Driven Drill-Down Geo-Graphical Representation System | Louise S. Hadden | output delivery system, proc step | source | 7 | |
| 122 | Whittle While You Work-Looking Less Dopey Using SAS Efficiencies (And Make Your Clients Go From Grumpy To Happy) | Nikki Carroll, Frank A. Ferriola |
Once upon a time a SAS programmer tried to program to the best of his abilities. However, he wasn't aware of certain efficiency techniques that would make programs run faster and that would take advantage of SAS' processing capabilities. After learning some tips and tricks on more efficient ways to program, all of his clients went from grumpy to happy! The SAS programmer lived happily ever after. Don't be bashful! Learn efficiency techniques! This paper will look at different ways to make your programming more efficient by looking at executing only the necessary statements, eliminating unnecessary passes of the data, reading and writing only the data needed, storing data in SAS data sets and other miscellaneous topics in programming efficiencies. | proc step, data step, if-then-else, where statement, cpu time, raw data, dataset, proc freq, by group processing | source | 5 |
| 123 | Why SAS is the Best Place to Put Your Clinical Data | Steven A. Wilson | The SAS System contains an incredible amount of functionality for managing your data files as a database. In most respects, including data storage, data access, and data management, SAS can be considered a database. This paper will review the database functionality available within the SAS System and how this relates to the task of clinical trails data management. Sample code, which illustrates many of these database techniques, is provided. | audit trail, constraint, proc step, key, foreign key, dataset, proc sql, missing value, data integrity, proc print, clinical data, clinical trial, proc datasets, sas base, view, data governance, traffic data | source | 10 |
| 124 | Working with RGB and HLS Color Coding Systems in SAS Software | Perry Watts | Full-color displays have become commonplace with the advent of the Web. Typically they are rendered from desktop computers equipped with 16 -bit color palettes capable of generating 65K unique colors. Thus a chart or scale is needed for making informed color selections for graphics applications. In SAS, the programmer has a c- cess to both the RGB (red/green/blue) and HL S (hue/light/saturation) coding systems. However, different algorithms are r equired for building charts and scales in the two systems. Before the technical aspects of chart and scale constru c- tion are presented in the paper, color spaces are defined to sho w how the full gamut of codes is mapped in both coding systems. For RGB, codes map to a cube, and a double-ended cone accommodates the Tektronix HLS system. With the color spaces as a foundation, instru c- tions are then provided for building color charts wit h ODS and scales from PROC GPLOT. |
proc report, proc step, macro variable, macro function, macro definition, output delivery system | source | 10 |
| 125 | Write SAS Code To Generate Another SAS Program -- A Dynamic Way To Get Your Data Into The SAS System | Linda Gau | In this paper we introduce a dynamic way to create SAS data sets from raw data files (flat files). You only need to write one SAS program, and it will handle all kinds of raw data - fixed length, delimited, free-formatted or even hierarchical files. You may also apply the same algorithms with little modification to output raw data files from SAS data sets. | dataset, input statement, raw data, data cleaning, date variable, put statement, delimited file, flat file | source | 5 |
| 126 | Writing Code That Lasts | Sandra Minjoe | With SAS, there are often many different ways to write code that provide the same answer. So how do you decide which method to use? The answer depends greatly on your environment. This collection of tips can help you decide which programming method makes sense for your situation. These tips are useful not only for new programmers, but also for those of you interested in writing code that you can walk away from (and not have to worry about). This could be in your role as a contractor, or just because you want to be promoted or moved into another job area you find more interesting. This paper contains both suggestions and warnings to assist you in writing code that is easy to read and understand, flexible, portable, and that requires little future modifications. In other words: code that lasts . | if-then-else, excel | source | 5 |
| 127 | XML in the DATA Step | Michael C. Palmer | This paper looks at SAS Institute's (SI) XML methods and contrasts them to a DATA-step method to import, export, and transform user-defined XML voc abularies. SI's XMLMAP imports XML via the LIBNAME XML engine and a mapping file written in XML, by-passing the DATA-step. For export of XML, SI recommends custom TAGSETS and the Output Delivery System (ODS). These are built with PROC TEMPLATE, by-passing the DATA-step. By contrast, the DATA-step method discussed here uses a single, uniform methodology to import, export, and transform user-defined XML vocabularies in the familiar DATA- step. From the point of view of a SAS user, XML is trouble for three reasons: it's hierarchical, it's all text, and all content is explicitly named. |
dataset, define-xml, cdisc | source | 6 |
| 128 | You Use SAS, Your Boss Uses Excel, Guess Where Your Results Are Going To Appear! Three Processes To Help Put Your Sas Data And Results Into Excel | William E. Benjamin Jr. | This paper describes three general processes helping programmers move their data from SAS readable file structures into Microsoft EXCEL spreadsheets. The processes include trivial data output solutions, simple DDE tasks, and progress to complex SAS and EXCEL routines that manipulate EXCEL from SAS and then access SAS data from EXCEL. This paper will assume the reader can access the SUGI 27, and SUGI 28 Proceedings, either online or from the CD's available from the conferences. SAS code and macros will be demonstrated to push data into EXCEL, execute EXCEL macros, and present data to EXCEL users. This paper further assumes the reader has some knowledge of SAS macros, EXCEL macros, and Visual Basic Programming. Finally, EXCEL and Visual Basic code will pull data into the spreadsheet and give the programmer the ability to build an EXCEL macro to exploit the data and display information for the end user. |
excel, proc export, macro definition, proc step, dataset, %if-%then-%else | source | 6 |
| 129 | You've Been Xed. Some Helpful Standard OS Level and X Windows Configurations for Using SAS Interactively | Nick Pászty | In a client server environment, it is important to implement standards that help improve system use and lead to smoother workflow. This paper will present a number of standardization concepts including flexible OS level configurations that facilitate data access and user profile control. In addition, SAS display manager system configurations including the autoexec program, profile catalog, printer setup and useful hints on how to customize the program editor will also be presented. | data cleaning, macro variable, macro loop, automatic macro variable, macro definition, libname statement, sas log, production run, %if-%then-%else, proc step, sas batch | source | 6 |
This site serves as a convenient hosting location and does not work as a publisher. All copyrights belong to their respective owners.
The information on this site is provided for general reference purposes only. Whilst every effort is made to ensure that the site is up to date and accurate, no warrant, nor any responsibility or liability for, the accuracy or completeness of the content or for any loss which may arise from reliance on information contained in this site is provided. Links to other sites are provided for your convenience but no responsibility or liability for the content of those sites or of any external site which links to this site is accepted. References to any specific commercial product, process, service, or corporation are also for information only, and do not constitute endorsement, recommendation or favoring.
SAS is a registered trademark of SAS Institute Inc. SAS, Statistical Analysis System, and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration.
HOME
QUICK SEARCH
AUTHORS
KEYWORDS
HELP
BUGS