NESUG 2004 Papers - Index
121 papers. Source: NESUG (Northeast SAS Users Group) conference proceedings.
| # | Title× | Authors× | Abstract× | Keywords× | Extras | Pages |
|---|---|---|---|---|---|---|
| 1 | %WINDOW: You Can Talk to the Users and They Can Talk Back | Michael A. Mace | %WINDOW provides an elegant means to gather user criteria for customized or ad hoc reports. Some of the benefits are: only Base SAS is needed (no SAS/AF), there is only one program to write and maintain, and the end-user, mainframe or PC, never has to edit any code. So if you have written the killer application, but need some input from the user to make it run, just open the %WINDOW |
macro variable, macro facility, %if-%then-%else, macro definition | 7 | |
| 2 | A Data Comparison Utility | George P. Sharrard | As more and more legacy applications are being recoded and ported to servers, there is a critical need to validate the data produced by the recoded, server based application; does it match what is produced by the legacy application? Comparing thousands of variables, across hundreds of file is a tedious, error prone task. It really doesn't matter if the legacy data is stored in mainframe VSAM files (can you spell EBCDIC?) and the final repository for the data is DB2 or ORACLE - create SAS datasets and your project just got a whole lot simpler. PROC COMPARE is a good starting point. But don't stop there! Using PROC SQL, a little macro code, and a couple of data steps with PUT statements you can build an automated dataset comparison program. PROC FREQ and PROC CORR are used to display how well the new datasets match the legacy system. Here is the business case. XYZ Corp is re-platforming all of its customer processing from a centralized mainframe to a server based system |
proc step, proc freq, correlation, macro definition, proc sql | 11 | |
| 3 | A Fast, High-Precision Implementation of the Univariate One-Parameter Box-Cox Transformation Using the Golden Section Search in SAS/IML | Charles D. Coleman | The one-parameter Box-Cox transformation is implemented using the golden section search algorithm in SAS/IML. This code quickly produces the optimal value of the transformation to the user-specified parameter. It is presented in the form of a macro which has been tested using The SAS System for Windows, releases 6.12 and 8.2. Changes to the SAS/IML code are also presented for Schlesselman's data-independent version of the Box-Cox transformation |
conditional do loop, normal distribution, proc step, proc univariate, macro definition, likelihood function | 4 | |
| 4 | A Guide to Understanding Web Application Development | Raj Singh | You have been asked by your manager to port a legacy, fat-client application to the web. There are so many directions you can take in completing this project. It is har d to know where to start and what technologies to use. The main focus of this paper is to introduce you to server-side Java. We will answer questions like: What is server-side Java technology? What are servlets, JavaServer Pages and custom tags? What are the benefits of using server-side Java technology? What is the Model-View-Controller(MVC) architecture? What is the Struts framework? What are the benefits of using webAF for Web application development? * How do you customize the look of your web application? These topics will be covered while also highlighting how SAS AppDev Studio TM 3.0 makes it easier for you to build web applications that are lightweight, easy to manage and instantly connect to SAS software | data cleaning, business intelligence | 17 | |
| 5 | A Parallel Processing Primer | Gil Jacobsen, Russell M. Lavery |
SAS has added many new features to V9.1, features that can dramatically reduce the clock-time-to-solution for jobs that are both CPU bound and/or I/O bound (clock-time-to-solution is how long a programmer has to wait to get his/her answer). Simply put, V9.1 employs a strategy of Divide and Conquer. SAS takes the code that a prog rammer submits and attempts to split that task into small tasks, tasks that can execute independently, and writes mini-programs called threads to execute the small-tasks. Many SAS Procs will implement threading, but to gain any be nefit, the hardware must be able to execute multiple tasks independently. A rough recommendation for hardware capable of taki ng advantage of SAS 9.1 features is: a machine with 4 independent CPUs, a Gig of RAM (or more), an I/O channel for each CPU and no more than two disk drives per I/O channel. This paper explores several of the features of parallel processing av ailable in SAS. 9.1 | proc step, macro variable, parallel processing, symbol table, options statement, macro put, proc print, filename statement, proc sort, where statement, sas base, mp connect, proc printto, proc sql | 24 | |
| 6 | A Regression Primer with a Touch of SAS | Vincent Maffei | sample, regression analysis, standard deviation, predictor variable, hypothesis testing, binary variable, proc calis, confidence interval, response variable, statistic, alternative hypothesis, numeric functions, sample size, sas consultant, sas output | 14 | ||
| 7 | A SAS Macro for Naive Bayes Classification | Vadim Pliner | The supervised classification also known as pattern recognition, discrimination, or supervised learning consists of assigning new cases to one of a set of pre-defined classes given a sample of cases for which the true classes are known. The Naïve Bayes (NB) technique of supervised classification has become increasingly popular in the recent years. Despite its unrealistic assumption that features are independent of each other given class membership, the NB classifier is remarkably successful in practice even when the assumption of independence is violated. This paper presents a SAS macro that does the NB classification and discusses several issues related to its implementation | missing value, training set, proc freq | 6 | |
| 8 | A SAS Macro to Generate Enhanced Kaplan-Meier Plots | Heidi Christ-Schmidt, Matthew T. Downs |
Many clinical trials have time-to-event endpoints, and Kaplan-Meier estimates of time free of an event are commonly used to summarize these endpoints. Although plots of the Kaplan-Meier estimates are useful and easily generated through PROC LIFETEST, reviewers often require additional information, such as the number of patients at risk or log rank statistic, to better interpret the Kaplan-Meier plots. In some cases the reviewers are only interested in estimates up to a specific timepoint of interest. This paper presents a macro that allows the programmer to easily modify a Kaplan-Meier plot to meet most needs of clinical and statistical reviewers. In addition to allowing the programmer to add a variety of additional information to the figure, it also gives the programmer more control over the figure's appearance. Further, it provides flexibility in the structure of the input dataset needed to generate these enhanced Kaplan-Meier figures |
proc step, sample size, sample, kaplan-meier plot | 13 | |
| 9 | A Second Look at SAS Macro Design Issues | H. Ian Whitlock | At SUGI 27 the author presented a paper "SAS Macro Design Issues" as a Beginning Tutorial. The use of names and parameters were emphasized because it was presented as a Beginning Tutorial. This tutorial assumes that you have written some macros, made macro decisions with %IF and done looping with %DO statements, but you are still teachable, i.e. bad habits are not so deeply ingrained that there is nothing more you can learn about macro. Two questions motivated this paper. The first came more than twenty years ago at the end of my first programming course when the professor asked, "You now know how to write programs, but do you know when it is appropriate to write a program?" For SAS macro the question might be rephrased | macro definition, dataset, macro variable, proc step | 11 | |
| 10 | A System to Calculate Value-at-Risk (VaR) using Monte Carlo Simulation II: Reporting | George Rezek | The non-additive nature of VaR results presents special problems in reporting. This paper describes the mechanics of VaR calculation and the maintenance of elemental correlations across all levels of aggregation, such as enterprise-wide, business division and instrument type. Examples of graphs used in reporting are also given | interest rate, confidence interval, macro variable, correlation | 11 | |
| 11 | An Animated Guide: 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. The __IORC__ merge is considered one of the "Table Lookup Techniques" and as such is a competitive technique for "by merges", formats, if-else if blocks, key-indexing, bitmapping, hashing and SQL joins. It is a useful technique for SAS programmers because it is fairly fast (faster than a "by merge") and easy to understand. Additionally, __IORC__ merging is part of the material in the SAS certification exam. This paper accompanies an animated presentation at NESUG and can not duplicate the animated effect. It will outline the features of the _IORC_, as were presented | set statement, lookup, data step, key= | 6 | |
| 12 | An Animated Guide: How %Str and %NRStr Function | Russell M. Lavery | This paper builds on a previous NESUG paper, by this author, that described the general functioning of the macro processor. This paper expands materials in that paper to explain details of two macro masking functions: %Str and %NRStr. Figure 1 is a map of the SAS system - the SAS Supervisor. It is suggested that this map is a very useful paradigm for understanding the SAS system. Boxes on the map above are either subroutines or storage areas and tokens flow through the com ponents of the supervisor as SAS processes programs. Basic concepts for this paper are: 1) the map of the SAS supervisor 2) parts of the map monitor tokens as they pass through 3) the idea of SAS tokens as rule triggers for actions to be taken by parts of the map and 4) macro masking prevents the triggering of rules | symbol table, macro variable, macro quoting function, macro catalog, macro trigger, &variable, macro facility, proc print, proc step, dataset, sas base, macro call, macro definition, txt, macro loop, %if-%then-%else, macro function | 13 | |
| 13 | An Animated Guide: Proc UCM | Russell M. Lavery | This paper explores the underlying model and several of the features of PROC UCM, new in the Econometrics and Time Series (ETS) module of SAS . This procedure can be used by programmers in many fields, not just Econometrics. Time series data is generated by marketers as they monitor "sales by month" and by medical researchers who collect vital sign information over time. This technique is well suited to modeling the effect of interventions (drug administration or a change in a marketing plan). This new procedure combines the flexibility of PROC ARIMA with the ease of use and interpretability of Smoothing models. UCM does not have the capability to easily model transfer functions, a useful ARIMA function that is planned for PROC UCM |
proc ucm, proc step, regression analysis, residual, time series analysis, p-value, predictor variable, time series data, proc arima, binary variable, data step, proc freq | 23 | |
| 14 | An Animated Guide: Speed Merges: Resource Use by Common Non-parallel 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. Several years of NESUG/SUGI proceedings papers, including many on efficiency topics, are available on line | lookup, hash table, proc sql, proc step, proc sort, proc format, set statement, array | 8 | |
| 15 | An Animated Guide: The Data Step Debugger | Russell M. Lavery | Use of the DATA STEP Debugger (DSD) simplifies the job of debugging code and, while the DATA STEP debugger (DSD) was introduced in SAS version 6.11, it is not widely known. It is a powerful tool that gives you control over the execution of "DATA STEP" code and allows you to watch your program execute- line by line. The DSD allows you to watch if-else statements execute and check if the code is correct while the code is running, rather than checking for correctness by writing a series of PROC PRINT statements. The DSD allows you to not only watch code execute, but will allow you to MANUALLY CHANGE the values in the program data vector as your job is running. The goal of a programmer learning the DSD should be to learn the DSD commands and how to link them to a key or call a macro. Linking a series of commands to a key, or calling a macro from the DSD, makes the DSD much more powerful |
data step, do loop, if-then-else, sas log, macro catalog | 22 | |
| 16 | An E-mail Distribution System | George P. Sharrard | This is not a paper on how to become a spammer, but, rather, how to make your office e-mail system a slave to your SAS programs. What better way to distribute reports then via e-mail. First you build a distribution table (a SAS dataset with user names, e-mail addresses, and what reports they are to receive) then you modify your existing report programs to output .pdf files, and finally you write a "master calling" program. Our goal is to run a single program (the master calling program) that will read each row in the distribution table and generate each report a user is to receive into a single .pdf file. When all the reports for a single user have been generated they are sent to the user as an e-mail attachment. Step 1. Make a distribution list The first variable, user, is included to make the table easier to maintain. The second variable, e-mail address, is what really drives the system. RPT, refers to a specific report | filename statement, dataset | 4 | |
| 17 | An Introduction to ODS for Statistical Graphics in SAS 9.1 | Maura E. Stokes | In SAS 9.1, over two dozen SAS/ST A T and SAS/ETS procedures have been modified to use an experimen- tal extension to the Output Delivery System (ODS) that enables them to create statistical graphics as auto- matically as tables are currently created. This extension, referred to as ODS for Statistical Graphics (ODS Graphics for short ), provides commonly used displays, including scatter plots, histograms, box-and-whisker plots, and contour plots, in ODS output. Many ODS features for tables, such as destination statements, apply equally to graphics. ODS styles control the appearance and consistency of all graphs, whereas ODS templates control the layout and details of individual graphs. This paper introduces statistical users and other SAS programmers to ODS Graphics. Examples illustrate basic functionality , which requires minimal syntax, and typical graph management tasks. Familiarity with ODS for tables is assumed |
output delivery system, graph template language, ods graphics, qq plot, proc step, proc mixed, scatter plot, proc sgplot, histogram, logistic distribution, regression analysis, box plot, proc template, proc reg, proc ucm | 27 | |
| 18 | Analyzing Complex Survey Data: Some SAS-SUDAAN Comparisons | Xiuhua Chen, Paul Gorrell |
In version 8, SAS introduced new procedures such as SURVEYMEANS and SURVEYREG for analyzing data from complex surveys (SURVEYFREQ and SURVEYLOGISTIC are part of V9). This paper compares the SAS and SUDAAN implementation of the Taylor linearization method for variance estimation. Although both SAS and SUDAAN make use of this method (currently it's the only method available in SAS), there are important differences, such as assumptions concerning missing values (nonresponse) and subgroup analysis. Focusing on SURVEYMEANS, we will use concrete examples from two national healthcare databases (the Medical Expenditure Panel Survey and the HCUP Nationwide Inpatient Sample) to clarify these differences. Along the way we'll illustrate the syntax and keywords used in the SAS survey analysis PROCs (especially the STRATA, CLUSTER and DOMAIN statements). This paper should be useful for anyone analyzing data from complex surveys, especially SAS programmers who use SUDAAN for variance estimation | missing value, proc calis, sample, proc step, standard deviation, missing completely at random, nominal variable, proc surveymeans, random sampling, subgroup analysis, workers compensation, dataset | 15 | |
| 19 | Array Tutorial (2) $ Beginning Intermediate; | Marge Scerbo | Arrays are powerful tools, but may prove intimidating to new users. This tutorial presents t he basics of array statements and provides insight into usage. Arrays are SAS DATA STEP st atements that allow clever programmers to do a great deal of work with little c ode. Arra ys pr ocess identifi ed v ariables as a group rather t han i ndividually, therefor e sa ving b oth mac hine an d programmer time. This paper should help lower the attendee's anxiety level when using arrays |
do loop, data step, missing value, array, numeric variable, proc step | 11 | |
| 20 | Automating the Production of Formatted Item Frequencies using Survey Metadata | Tim Tilert, Jane Zhang, Lewis Berman |
The National Health and Nutrition Examination Survey (NHANES) collects a vast array of questionnaire and examination data regarding the health and nutritional status of the United States population. Ongoing release of NHANES data to the public is one of the many tasks associated with the survey. Codebooks consisting of data item names and associated metadata, along with corresponding item frequencies, accompany the public data release. The challenge is to utilize existing metadata to automate the production of the detailed response or exam result frequencies for each and every data item released. This poster will illustrate a novel solution utilizing the SAS/INTRNET system along with the unique challenges posed by combining metadata with actual survey data for the production of automated frequency distributions |
proc freq, proc step, decimal, sample | 7 | |
| 21 | Automating the Production of Patient Profiles Using PROC DOCUMENT and ODS Layout | Doug E. Lassman | This paper describes the production of patient profiles using PROC DOCUMENT and ODS Layout. Patient profiles are listings of data from a single patient on one or just a few pages. They are used in the pharmaceutical industry for regulatory submissions, writing patient narratives or case histories, and data clean up and audit activities. Typically, a complicated DATA _NULL_ is used which is difficult to write and even more difficult to modify. Using PROC DOCUMENT with the appropriate ODS Layout code, output from common SAS procedures such as PRINT, FREQ and MEANS, which may already have been written for study listings, can be used for the profile. SAS/GRAPH output can also be included on the page. This process can have other applications including a laboratory |
proc step, proc print | 10 | |
| 22 | Benchmarking Character String Replacement | Bruce F. Gilsen | character variable, proc freq | 10 | ||
| 23 | Building Logistic Regression Models to Analyze Survey Data with Complex Sampling Design | Zhenyi Xue, Euni Lee, Monika Datary, Anthony Wutoh |
Health services research examines the use, costs, accessibility, and outcomes of health care se rvices to increase understanding of the effects of health servic es for individuals and populations. Using publicly available nationa l databases, secondary data analyses have allowed describing health care utilization in patients in the United States. Some of these surveys employ complex sampling design. In orde r to estimate the variance and to conduct valid statistical infere nce from this type of data, the survey structure needs to be considered when performing the statistical analysis | sample, proc calis, sample weight, logistic distribution, regression analysis, logistic regression, proc step, sample size, proc freq, chi-square test, proc logistic, proc surveyfreq, proc surveylogistic | 4 | |
| 24 | Building Web Applications with AppDev Studio 3 | Frederick E. Pratter | The SAS/INTRNET Software product is now nearly 10 years old and uses the obsolete CGI interface. SAS has provided several newer products, included in AppDev Studio 3. Using SAS Integration Technologies or Java custom tag libraries, it is possible to create dynamic Web pages that provide access to SAS datasets. AppDev Studio 3.0 includes a graphical user interface for developing and deploying Web applications called webAF. This workshop covers building a simple interactive JavaServer Page using webAF. The only prerequisites are knowledge of HTML and an interest in Web programming in SAS. Java programming experience is helpful but not absolutely essential |
dataset, sample | 8 | |
| 25 | Clinical Trial Data Validation: Using PROC SQL Effectively | Balakrishna Dandamudi | proc sql, proc step, create table, alter table, data cleaning, clinical trial, order by, select, where statement, clinical database, clinical data, relational database, drop table, data validation rules, having, missing value | 20 | ||
| 26 | Clinical Trials Online - Running SAS on the Web Without SAS/IntrNet | Quan Ren | During clinical trial, it is very important for the project management to have the most recent updated clinical trial informati on. The best solution is dy namic access to clinical trial data: dynamic data management and dy namic data analy sis. SAS Sy stem almost became a standard programming language in clinical data analysis. With the development in Inte rnet, people have been exploring every tec hnical possibility to use SAS Sy stem to manage and analy ze clinical trial data dynamically through Internet. SAS/INTRNET softw are has provided an option to use SAS System through Internet. How ever, there is an additional cost. This paper w ill present another w ay to use SAS System through Internet without SAS/INTRNET. An experimental example - Clinical Trial Online will be presented. Through Clinical Trial Online, the following technique will be demonstrated: 1. Remote data entry, data browsing and data editing through Internet. 2 |
clinical trial, adverse events, survival analysis, proc means, data science, anova, vital signs, clinical data | 15 | |
| 27 | Contrasting programming techniques for summarizing voluminous SAS output using the SAS Output Delivery System (ODS) (PROC FREQ as an example) | Stuart D. Long, Lawrence Park |
SAS ODS provides programmers with the ability to extract selected information from a procedure and store it in datasets. Such datasets can then be combined to summarize the results from numerous procedures. The SAS Macro facility can be used to execute and extract information from repetitively called SAS procedures. "Macro Variable Arrays" can simplify the extraction of information from SAS procedures when identica l or similar code is executed repeatedly on a multitude of datasets and/or variables. This paper describes Macro Variable Arrays and contrasts these with other programming methods to obtain summary datasets from ODS output. Although PROC FREQ is used in this paper, these techniques can serve as a blueprint for extracting and summarizing output from other SAS procedures. This is an advanced tutorial intended for SAS programmers knowledgeable with the SAS Macro facility |
proc freq, proc step, macro variable, do loop, call execute, macro definition, confidence interval, macro loop, data step, macro call, out=, relative risk, odds ratio, sas output, macro facility | 10 | |
| 28 | Create Professional-Looking Report Tables: Working with the Power of DDE and VBA | Ying Feng | As a testing company, we are required to present statistical information to our clients in EXCEL tables. SAS is powerful for delivering statistical information, and Microsoft Office is excellent at formatting. Combining their strengths generates professional- looking report tables. This paper details how to link the two systems together and how to automate this process using DDE and VBA so that non-programmers can easily run the program. The process involves the following steps. First, statistical information is generated in SAS and exported to interim tables using PROC EXPORT. Then, an EXCEL template is created holding specially formatted tables to meet clients' requirements. Then, DDE capability in SAS is used to open the EXCEL template and execute VBA code, which is embedded in the template. The VBA code maps information from the interim tables to the template |
excel, correlation, macro call, sas output, proc step, macro variable | 8 | |
| 29 | Creating an HTML Index of an Autocall Library from Standardized Macro Headers: Experiences from the American College of Radiology Imaging Network | Quentin McMullen | This paper demonstrates a SAS macro that processes the code stored in an autocall library and builds a simple html index documenting the macros. Many challenges face the organization (or individual) managing an autocall library. Often over time these libraries accumulate macros written by different programmers, using different styles. As new programmers join a group, it may be difficult for them to learn what macros are available. This paper discusses the benefits of implementing a standard macro header as a key component of macro documentation. Methods for sharing a header template will be reviewed. Finally, it presents a macro which processes the contents of a macro library. The macro reads the header from each macro definition, building a dataset of macro names and descriptions. It then uses ODS and PROC REPORT to build an html index of the library contents. Though developed for documenting a macro library, the techniques apply to documenting directories of SAS code as well |
autocall macro, stored macro | 13 | |
| 30 | Creating Estimated Data to Match Data Characteristics from a Desired Group | Towanda Sullivan | proc step, dataset, sample, proc format, proc freq | 8 | ||
| 31 | Danger: MERGE Ahead! Warning: BY Variable with Multiple Lengths! | Robert Virgile | data step, merge statement, length statement, proc step, proc sql, macro facility, select, macro call | 6 | ||
| 32 | Data Sets and Variables and Labels, Oh My! | Myra A. Oltsik | It might seem a daunting task when one is faced with reading in several files containing hundreds of variables, all of which need to be renamed. Imagine, then, how frightening it might be to received 48 files with over 20,000 variables, all of which need to be renamed with meaningful names! There's no reason to be afraid with good documentation, organization, and a robust macro. This paper will help you set up a program which will let you read in multiple files with large numbers of variables in an efficient, quick manner | proc step, macro definition, excel | 8 | |
| 33 | Data Step Hieroglyphics | Harry Droogendyk | Have you found that most SAS DATA STEP code is quite readable? SAS statements, functions, keywords and SI supplied routines are most often given meaningful names. If the developer has been even somewhat verbose while naming DATA STEP variables, the final product can "read" quite easily. Sure it reads easy …, until you encounter the {*&%~(.:@|? special characters littered throughout the code!! What in the world do those things mean? Do we really need the funny characters? This paper will examine 10 implementations of special characters, each of them specially placed in the SAS language for your coding pleasure. Special characters, properly utilized, allow you to write code more quickly, more efficiently, and, believe or not, more simply |
data step, macro variable, input statement, &variable, character variable, do over, macro definition, options statement, trailing @ | 10 | |
| 34 | Data Step Programming Using the Hash Objects | Paul M. Dorfman, Lessia S. Shajenko |
In SAS Version 9.1, the hash object - the very first object introduced via the DATA STEP Component Interface in Version 9.0, has become robust and syntactically stable. The philosophy and application style of the hash object differs quite radically from any other structure ever used in the DATA STEP previously. The most notable departure from the tradition is its run-time nature. The hash objects are instantiated and/or deleted and acquire memory, if necessary, at the run-time. It is intuitively clear that such traits should make for very interesting and flexible programming having not yet seen in the DATA STEP code of yore. And they do, indeed! Although brief propaedeutics will be provided, this short talk is intended for SAS programmers already somewhat familiar with the basic ideas and syntax behind the hash objects |
hash table, hash iterator, composite key, length statement, data step, dataset | 17 | |
| 35 | Developing a National Health and Nutrition Examination Survey (NHANES) SAS/Web-Based Quality Assurance Application | Jane Zhang, Tim Tilert, Edward Stammerjohn, Lewis Berman, Alan Fisher |
The National Health and Nutrition Examination Survey (NHANES) is a comprehensive survey which collects data on the health and nutritional status of the United States population through personal interviews and an extensive physical examination in a Mobile Examination Center (MEC). Continuous quality assurance (QA) is used to ensure high quality survey data. One aspect of QA is the data review process. To expedite data review, the QA Team has developed numerous batch SAS programs. However, the application of these programs requires a large degree of manual effort and has not been standardized. It also has limitations with respect to reducing the time of the data release cycle. A Web-based application was developed by integrating Sybase with SAS/INTRNET to automate the data review process allowing a user without SAS programming skills to perform real time data review and display tabular or graphic reports directly inside a Web browser |
macro definition, data review, excel, sas programming, sample, sas output | 9 | |
| 36 | Disk Space Management Topics for SAS in the Solaris Operating Environment | Adeline J. Wilcox | Adding disk space to Sun R⃝enterprise servers has become a relatively inexpensive solution. Still, these gigabytes and terabytes are finite and must be managed. I address two related topics, file compression and reporting disk space usage BY user. First, I describe a Kornshell script that calls sed, awk, and SAS before producing a SAS listing showing gigabytes used by userid. Second, I performed factorial experiments inwhich I compared the CHAR, BINARY, and NO values of the SAS data set COMPRESS option with each other and with the UNIX compress program. UNIX compress effectively compressed all three types of test SAS data sets but minimized file size when SAS COMPRESS=NO. Using ten replicates, I also measured the CPU time required to run PROC FREQ on one character variable from each test data set compressed the three different ways with SAS. As expected, PROC FREQ executed most quickly on SAS data sets with COMPRESS=NO |
cpu time, response variable, dataset, anova, numeric variable, sas log, proc step, main effect | 9 | |
| 37 | Effective Project Management Using SAS | Theresa J. Kelso | Managing a project can be a challenging, demanding, and complicated process. Task, resource, and time requirements, allocations, and expenditures need to b e defined, documented, and analyzed in order to review performance against targets for an accurate path forward, as well as to measure the overall success of your project. With limited resources and budget controls, you may find that the expense of additio nal software, including software to manage projects, is not an option in your organization. If you are already using SAS for your project deliverables, you will find that it is also possible to use SAS to document, manage, and control the activities requi red to accomplish your project. This paper will discuss a method, along with examples, for using SAS to plan, control, and track your project | dataset, sas programming, bar chart | 4 | |
| 38 | Effectively Using the Indices in an Oracle Database | Kenneth W. Borowiak | Key features of a database are indices, which can substantially aid in reducing the time it takes for queries submitted against the database to run. However, making effective use of them is a non-trivial task. This paper outlines how to identify table indices, create a query plan to see if and what indices are being used, create table indices and provide hints to the query optimizer in order to fine-tune queries submitted against an Oracle database with | where statement, oracle, proc step, proc sql, dictionary tables, index | 7 | |
| 39 | Effects of Changing the Length of Numeric Variables Formatted with best12. | Jose F. Diaz | Archiving and storage of large SAS datasets requires extensive planning and creative strategies. One approach is to eliminate all superfluous information. This can be accomplished by decreas- ing the length of the variables | length statement, proc step | 1 | |
| 40 | Enhanced School Report Cards: Using ODS and SAS/GRAPH to Improve the Appearance and Usefulness of School Report Cards | Charles A. DePascale, Patty Cole |
Under the federal No Child Left Behind Act (NCLB), states are required to pr oduce annual report CARDS for schools and dis- tricts. A primary component of those repor t CARDS is the section showing the year ly progress of schools and subgroups of stu- dents within schools. In many cases, the report CARDS are printed reports or static web-based reports that provide the basic information required. This application uses the basic school report card as an entry point to a series of graphs, reports, and tools to help the public better under the results and to help t he school administrator effectiv ely plan for improvement. Drilli ng- down into the report card, administrators are able to examine detailed results for individual subgroups of students or combina- tions of subgroups; disaggregate results by grade levels and subgroups; examine result s down to the individual student level |
dataset, proc step, proc tabulate, bar chart, format statement, proc print | 10 | |
| 41 | Excellent Alternatives for Moving Data from SAS to Excel | Ralph E Winters | With the addition of the SAS Import/Export Wizard, exporting data to Microsoft EXCEL became much easier. However, many alternative solutions exist and this paper will survey the best of them. These include exporting to EXCEL via the Output Delivery System and using macro code to generate CSV files. Sometimes even simple SAS procedures such as PROC PRINT can do the trick. This paper is geared toward all SAS users, and describes the benefits of each method as well as some of their pitfalls |
excel, ods csv, sample, ods html, libname statement, proc step, sas 9, dataset, sas output | 12 | |
| 42 | Extracting Data from Oracle into SAS - Lessons Learned | Maria Y. Reiss | In the pharmaceutical industry, it is very common to use SAS and the Oracle Clinical database system together to store, process and analyze clinical data. The traditional way of using these products is to store the clinical data in an Oracle Clinical database and analyze the data usi ng the SAS system. Before data can be analyzed with SAS, it must be extracted from Oracle and transformed into SAS views or data sets. This paper provides an overview of the various techniques available to acco mplish this task. In SAS 8, SAS Institute introduced SAS Integration Technologies, a product that allows easier int egration of SAS with other applications. This paper also discusses the use of this product to integrate SAS and Oracle | clinical data, clinical database, proc sql | 12 | |
| 43 | From SAS to Excel via XML | Vincent DelGobbo | Transferring data between SAS and Microsoft EXCEL can be difficult, especially when SAS is not installed on a Windows platform. This paper discusses using new XML support in BASE SAS 9.1 software to move data between SAS and Microsoft EXCEL (versions 2002 and later). You can use the techniques described here regardless of the platform on which SAS software is installed, such as Windows, OpenVMS, UNIX or z/OS. The use of SAS server technology is also discussed |
excel, dataset, sas output, xls, macro definition, ods xml, sas base, proc step, adverse events, proc template, work library, proc tabulate, where statement, libname engine, sas 9, sample, proc print | 14 | |
| 44 | Generating Customized Analytical Reports from SAS Procedure Output | Brinda Bhaskar, Kennan Murray |
SAS has many powerful features, including MACRO facilities, procedures such as TEMPLATE, REPORT, and TRANSPOSE, and variable inform ation functions that can be effectively used to enhance reports displaying results from statistical analy ses. It is often necessary to create tables providing sum mary statistics, including frequencies, percents, means, standard deviations, and p-values, for populati ons or comparison groups. We have developed several macro programs that calculate these statistics and output results directly into Microsoft Word in the form of highly custom ized, presentable tables. The macros use PROC FREQ (for categorical variables), PROC MEANS (for continuous variables), PROC TRAN SPOSE, and DATA STEP processing to obtain required summary statistics. Variable labels and categories ar e obtained directly from the data using SAS variable information functions. Tables are generated usi ng PROC TEMPLATE, PROC TRANSPOSE, and ODS |
predictor variable, proc step, response variable, standard deviation, create table, proc freq, label statement, nominal variable, macro variable, bivariate analysis, proc means, proc report, proc template, macro definition | 12 | |
| 45 | Going Under the Hood: How Does the Macro Processor Really Work' | Lisa Lyons | Did you ever wonder what really goes on behind the scenes of the macro processor, or how it works with other parts of the SAS system? With the knowledge of the macro processing sequence of events, programmers can better understand how macro processing works. Since most macros are generic ones, this particular knowledge can save valuable development, debugging, and validation time. This paper will help you to understand the timing of macro processing and its relationship with SAS language processing | macro variable, symbol table, local symbol table, global symbol table, macro definition, stored macro, macro trigger, macro put, put statement, &variable, macro facility, sas log, proc step, macro call, macro loop, variable, symbolgen, call symput | 15 | |
| 46 | Graphical Display of Data - A Nonparametric Approach | Shi-Tao Yeh | A nonparametric method does not depend on the specification of a probability distribution. Nonparametric methods are almost as powerful as parametric methods. SAS software system provides several nonparametric methods and procedures to display your data in a graphics format. The nonparametric methods discussed in this paper are: 1) histogram, 2) kernel density estimates, 3) cumulative density function, 4) box plots, 5) multivariate scatter plots, and 6) SAS 9.1 experimental ODS Graphics in KDE procedure. Some sample code and illustrations are also provided in the paper. The SAS products used in this paper are SAS BASE , SAS/STAT , and SAS/GRAPH on a UNIX platform and the SAS System for Windows V9.1 |
histogram, box plot, sample, proc boxplot, data science, data visualization, outlier, proc step, macro definition | 18 | |
| 47 | Highlighting Inconsistent Record Entries in EXCEL: Possible with SAS ODS, Optimized in Microsoft DDE | Perry Watts | While ODS-HTML output to EXCEL easily accommodate s column-based color highlighting with format invocations in PROC REPORT, the method does not work when color assignments for record inconsistencies depend on relative values in multiple columns. If DATE1 is supposed to come before DATE2, for example, the following DEFINE statements will not work as intended: define date1/ display style=[background=$ColorF.]; define date2/ display style=[background=$ColorF.]; Inputs to these formats are the dates supplied by DATE1 and DATE2, not the required row and column identifiers needed for assigning colors based on the relationship between two variables in a single observation. This paper describes two methods for highlighting inconsis tent record entries in an EXCEL spreadsheet. The first method uses PROC REPORT to generate ODS-HTML output to EXCEL |
excel, proc report, proc step, macro variable, error message, data step | 15 | |
| 48 | How SAS Helps HASS Fight BT in CT (or How SAS Helps Hospital Admission Syndromic Surveillance Detect Possible Bioterrorism-Related Illness in Connecticut) | Kenneth Carley, Zygmunt Dembek |
The Hospital Admissions Syndromic Surveillance (HASS) system was started by the Connecticut Department of Public Health in the aftermath of the events of September 11, 2001. HASS requires that Connecticut hospitals report daily counts of unscheduled admissions with certain signs and symptoms (e.g.. pneumonia, sepsis, fever-of-unknown origin) which may be early indicators of a bioterrorism (BT) event. This paper outlines SAS's role in HASS, tasks that include managing and manipulating data, creating detailed temporal/spatial analyses, and graphing these analyses as HTML output. The key contribution of SAS is an adaptation of SAS/QC's PROC Shewart to determine the historical statistical variation in daily hospital admissions for each syndrome. Variations in recent admission data are compared to the expected statistical variation in graphs output by ODS HTML |
proc step, excel, keyword parameter, %macro parameters, proc gplot | 7 | |
| 49 | How SAS Thinks or Why the DATA Step Does What It Does | Neil H. Howard | The DATA STEP is the most powerful tool in the SAS system. Understanding the internals of DATA STEP processing, what is happening and why, is crucial in mastering code and output. Concepts covered: · Logical Program Data Vector (LPDV or PDV), · automatic SAS variables and how they are used, · the importance of understanding the internals of DATA STEP processing, · what happens at program compile time, · what's happening at execution time, · how variable attributes are captured and stored, and · handling processing defaults, data conversions, and missing values. This paper focuses on techniques that capitalize on the power of the DATA STEP and working with (and around) the default actions. By understanding DATA STEP processing, you can debug your programs and interpret your results with confidence |
dataset, missing value, proc step, automatic variable, retain, input statement, set statement, by group processing, merge statement, proc print, character functions | 19 | |
| 50 | How Smooth Is (PROC) SYLK' | Howard L. Schreier | PROC SYLK (an experimental component of Version 9 of SAS Software) allows SAS to import not just data, but also formulas and formatting, from EXCEL and other compliant spreadsheet applications. PROC SYLK also provides a programming language for a batch spreadsheet processing environment entirely internal to SAS. This paper will explain the basic operation of PROC SYLK, evaluate the programming language, and illustrate the procedure's strengths and weaknesses |
proc step, excel, proc print, dataset, proc template, missing value, ods html, in=, proc sql | 23 | |
| 51 | How to develop SAS data mart in one day (with code examples!) | Tanya Kolosova, Samuel Berestizhevsky |
Creating of data marts is usua lly driven by specific applicat ion and business needs. T o create us eful data mart y ou need, in first place to answ er the question: what are the information needs of the specific business applic ation? An answ er to this question is not permanent in time. Learning fr om the initially required information w ill inevitably lead to new requirements. I n addition, changes in business situation will raise new questions, which will lead to new information needs. It is clear that time of incorporation the new requirements to the data mart is critical and should be counted in days, even hours, rather than weeks or months. How can data mart keep pace w ith these changes? T he answer to this questi on lays in the data mart development technology [1]. Creating of data mart involves, at least, three following steps: * Design and implementation of data mart model | data mart, data dictionary, dataset, foreign key, macro variable, raw data, dictionary tables, inner join, structured data, &variable | 10 | |
| 52 | Introduction to Using Enterprise Guide for Statistical Analysis | Charles B. Hallahan, Linda P. Atkinson |
The workshop begins with a quick tour through the layout and purpose of Enterprise Guide (EG) as a menu-based interface to SAS procedures. Emphasis in this workshop will be on the statistical capabilities of EG. In particular, a set of data will serve as a case study for performing exploratory data analysis, estimating a multiple regression model, and examining graphical diagnostics for the model fit. The workshop will show how code generated by EG can be customized, stored, and rerun, and custom reports saved with the Document Builder | regression analysis, sas enterprise guide, proc reg, predictor variable, proc step, correlation, response variable, estimate, data science, dataset, sample, excel, outlier | 19 | |
| 53 | Journeymen's Tools: Two Macros - ProgList and PutMvars - to Show Calling Sequence and Parameters of Routines | Ronald J. Fehd | A program that is a job may define parameters for and call other programs which are routines. SAS | macro variable, proc sql | 7 | |
| 54 | Let's Be Bilingual: A Native SAS Speaker in the Land of SQL | Julie Burton | Data warehouses are generally housed on their own computer system - separate from the operational/transactional system that generates the data being warehoused. The "box", where the data warehouse resides, may not have SAS installed. Often times, an SQL tool is provided, but this requires the end user to use SQL or SQL Pass Thru. What's an analyst - fluent in SAS - to do? It is not uncommon to see users extracting entire tables, downloading these extracts to their local environment, and processing the results in SAS. But, there are also times when downloading millions of records is either too time consuming or takes up too much space. This dilemma can be addressed by learning to translate SAS summarization techniques from SAS into SQL. I will show the "group by" syntax and how it relates to PROC SUMMARY. I will also show how to incorporate the SQL case statement into the "group by" which is similar to using "if then else" code |
proc sql, group by, proc means, proc step | 4 | |
| 55 | Macro Madness: Creating Macro Calls using PROC FREQ | Wendi L. Wright | This paper discusses some of the more advanced macro techniques including: Conditionally executing macro code (%IF - %THEN) Repeatedly executing macro code (%DO - %TO) Using Macro Functions Interacting with the SAS DATA STEP * Indirectly Referencing Macro Variables After discussing these tec hniques, an advanced example will be pres ented that uses t hese techniques. The example will use macro language and PROC FREQ to automatically generate a macro call for each level of a demographic variable. For example, using one parameter, 'country', the macro will produce over 500 macro calls to a second macro |
macro variable, macro loop, macro call, macro function, %if-%then-%else, call symput, data step, if-then-else, proc freq, proc step, filename statement, sample, macro facility, do loop, dataset, macro put, end, macro parameter, macro definition | 13 | |
| 56 | Macro Power | H. Ian Whitlock, Quentin McMullen |
Time does not allow for a complete macro course; however, the student is provided with a complete course to finish at home. The course assumes that the student is familiar with some basic SAS (elementary DATA steps, PROC PRINT, etc.) and how to operate interactively with the display manager, but it does not assume any knowledge of macro. Some basic macro programming will be introduced during the hands on workshop. We begin with the idea of macro as a parameter driven unit of SAS code. The main example is drawn from a macro that generates SAS code for making test prints. Various features are added throughout the lecture with the student implementing and/or testing some of them to end up with a fairly useful little macro that also illustrates what macro is all about. If you complete the course you will end up having macros getting help from other macros to solve significant problems |
proc print, proc step, macro variable, macro loop, proc sql | 4 | |
| 57 | Macros: Code Cutters or Code Generators' | Prashant Mittal | Macros have been revered and feared as a collection of eccentric and mystic symbols scattered all over the SAS Editor window. On the contrary, they are a straightforward and most powerful set of tools. SAS programmers often have to write repetitive code, which includes the same PROCS and data steps written multiple numbers of times. This redundancy makes the code boring to read and cumbersome to implement. There are a few secret ways of using Macro-%do loops, global variables indirect referencing, and the _NULL_ statement, whose proper usage could force SAS to cut more than thousands of lines of repetitive code to less than fifty lines of easy to understand statements |
macro variable, proc step, do loop, sas log, data step, sum, proc means, proc freq, macro definition | 7 | |
| 58 | Making a SYLK File from SAS Data - or - Another Way to Excel using SAS | Cynthia A. Stetz | Transferring data between SAS and other applications engages most of us at least some of the time. So we're always looking for an easier way to do it. Among SAS programmers who provide data to information consumers one of the most often requested formats is the EXCEL spreadsheet. Over the years SAS has made various methods available for transferring data to EXCEL, among them Dynamic Data Exchange (DDE), Open Database Connectivity (ODBC), and most recently Hypertext Markup Language (HTML). We've also been able to create a CSV (Comma Separated Value) or otherwise delimited text file, but these always required the use of the EXCEL Import Wizard, which can be quite time consuming if you have a lot of columns. Now, through the use of the SAS ODS Markup statement and a user-defined TAGSET, we can direct output from a SAS procedure to a filetype that EXCEL recognizes - a Spreadsheet SYmbolic LinK, or SYLK file |
excel, proc step, proc template, file statement, proc report, output delivery system, proc freq | 12 | |
| 59 | Making Data Useful Again: The Full Monte | Suzanne Cross, Tim Leso |
Scads of data are hidden in databases and ignored except for an occasional query. With our application we will bring data back to life and show how rows from several transactional tables c an be transformed into useful obj ects. This paper describes the methods we use to create customized r eports using generic macros for object-bas ed statistical analysis, interpretation and presentation of the results using SAS/GRAPH and ODS LAYOUT |
odds ratio, proc sql | 7 | |
| 60 | Many MS Excel Worksheets - Read Them Without Typing Their Names | Ravi Vaylay | The objective of this paper is to present a VBA (Visual Basic for Applications) macro in MS EXCEL and further SAS programming to read several worksheets of a single MS EXCEL workbook without typing their names. The worksheet names of an interested workbook are obtained by running a VBA macro stored in a separate MS EXCEL file through a SAS program. In the same SAS program, PROC IMPORT procedure is used to read all worksheets and create SAS data sets |
excel, proc import, xls, macro variable, sas programmer, proc step | 5 | |
| 61 | Merge/Purge of Very Large Datasets Using SAS/DQ-Cleanse: Algorithm for Multiple Match Group Criteria | Michael Krumenaker, Xioyan Yang, George Bukhbinder |
Merge/purge entails the identification of groups of records ("duplicate groups") that according to user-defined fuzzy matching criteria are deemed to be the same person or entity. Possible matching criteria include the combination of name-address-zip, or name-phone. Often it is best to determine duplicate groups based on more than one set of criteria, e.g., to consider records that match on either name-address-zip or name-phone to be the same person or entity. In such situations, we consider two records that match on one set of criteria (say name-address-zip) and two records matching on the other set of criteria (name- phone) to all be the same person or entity if the pairs overlap. SAS-DataQuality/Cleanse can be used to perform merge/purge on very large data sets. However, when we use more than one set of matching criteria we must combine overlapping pairs of duplicate groups | sas base, by group processing | 10 | |
| 62 | Minimization: Testing a Dynamic Randomizaton Algorithm | Donna E. Levy, Emily Blood |
Randomization and stratification are necessary components of enrolling patients onto a clinical trial with more than one treatment. The purpose is to eliminate treatment selection bias and ensure balance of prognostic factors across treatment arms. There are several randomization algorithms, dynamic and non-dynamic, designed to balance treatment assignments amongst patients with respect to prognostic factors. However, non-dynamic methods can result in overall treatment imbalance. Minimization is a dynamic randomization algorithm des igned to minimize imbalance between treatments taking stratification factors into account. Based on characteri stics of the current patient and treatment assignments and characteristics of enrolled patients an imbalance score is computed. The treatment with the lowest imbalance score is assigned. SAS code was written to test newly adopted randomization algorithms utilizing minimization | randomization, distance measure, treatment arm, clinical trial | 15 | |
| 63 | More Tales from the Help Desk: Solutions for Simple SAS Mistakes | Bruce F. Gilsen | macro variable, put statement, sas log, call symput, &variable, macro loop, do loop, character variable, numeric variable, call symget, input statement, macro facility, macro put, proc step, macro definition | 10 | ||
| 64 | ODS and Statistical Graphics | Shi-Tao Yeh | SAS/G163OUTPUT Delivery System (ODS) provides several features that greatly enhance the statistical graphics presentation. The ODS features discussed in this paper are: 1) creation of SAS data sets from ODS output tables and passing the statistical information to the graph, 2) using ODS to read and write graphics files, 3) using ODS to hyperlink other files, and 4) using the ODS GRAPHICS ON statement to produce statistical graphs. Some sample code and illustrations are provided in this paper. The SAS products used in this paper are SAS BASE /g163, SAS/STAT /g163, and SAS/GRAPH /g163on a UNIX platform a n daP CW I N D O W S/g163environment |
proc step, sample, proc report, output delivery system, sas output, dataset | 19 | |
| 65 | ODS for the Statistician | Steven M. LaLonde | ODS, or the Output Delivery System, is used to control the output from various SAS procedures. Being a statistician first, and SAS programmer a distant second, I wasn't very interested in ODS when I first heard about it. I figured ODS was for people con- cerned more with appearance than substance. However, after playing a bit with the feature, and attending SUGI 29 in Montreal, I'm convinced that there are some really useful features there, even for a stubborn, stuffy, old statistician like me. This paper will demonstrate some ODS features, and tricks, that I've picked up that I think will be useful to statisticians using SAS, and may even encourage non-SAS statisticians to try SAS |
proc step, proc reg, sas log, simple linear regression, excel, proc contents, proc corr, ods html, regression analysis | 5 | |
| 66 | Optimizing Large Data Imports from a Relational Database Management System | Francis Harvey III | When integrating SAS analysis capabilities with a relational database management system (RDBMS), costly time delays can be introduced by failing to optimize the transfer of data from RDBMS to SAS. This paper will illustrate several methods for performing such optimization by limiting the data that needs to be transferred. If a large data transfer would still be required even with these methods, the paper provides alternative techniques for compressing the data to be transferred or for ensuring that no transfer is required at all during analysis by ensuring an up-to-date copy of the data is already available to SAS | proc sql, sql server, proc step, sql pass-through, create table, drop table, proc freq | 10 | |
| 67 | Perfecting REPORT Output to RTF | Steven H. Feder | Output Delivery System (ODS) output to RTF presents possibilities for creating publication-ready final documents directly from the SAS System. Users can customize many appearance features exactly as needed, with ODS settings for the entire document, or for individual elements within a PROC REPORT table |
proc step, proc report, proc format, ods rtf, output delivery system | 5 | |
| 68 | Perl Regular Expressions in SAS 9 | Ronald P. Cody | prxparse, prxmatch, substr function, prxposn, sysrc | 17 | ||
| 69 | Perusing, Choosing, and Not Mis-using: Non-parametric vs Parametric tests in SAS | Venita DePuy, Paul Pappas |
Most commonly used statistical procedures, such as the t- test, are based on the assumption of normality. The field of non-parametric statistics provides equivalent procedures that do not require normality, but often require assumptions such as equal variances. Parametric tests (which assume normality) are often used on non-normal data; even non-parametric tests are used when their assumptions are violated. This paper will provide an | sample, proc step, parametric test, proc univariate, sample size, correlation, proc ttest, type i error, anova, normality test, normal distribution, rank test, f-test, kendall correlation, one-way anova, proc npar1way, wilcoxon signed-rank, histogram, outlier, exact test, kruskal-wallis test, paired t-test, significance level | 5 | |
| 70 | Pop-Ups, Drill-Downs, and Animation | Michael S. Zdeb | Several features have been added to SAS/GRAPH that allow a user to go beyond a static display of information in a chart, plot, or map. Many of these features are designed for Web-based displays. They include: pop-ups (boxes populated with additional information that will pop-up when a mouse is dragged over different output areas); drill-downs (output areas, including legends, linked to additional information contained in other web pages); animation (including controls that allow a user to page through an animated display on a frame-by-frame basis or to watch animation at a user-specified time delay between frames). These features of SAS/GRAPH are demonstrated in a series of examples using PROC GCHART, PROC GPLOT, and the JAVAMETA device driver. The examples show how to add pop-ups, drill-downs, and animation to graphical displays of information |
proc gchart, proc step, data step, bar chart, output delivery system, horizontal bar chart, data visualization | 16 | |
| 71 | Pretty Dates All in a Row | Dianne Louise Rhodes | macro variable, sysdate9, datepart, sas function, call symput, proc format, macro function, proc step | 13 | ||
| 72 | PROC FORMAT - Not Just Another Pretty Face | Lois Levin | PROC FORMAT, because of its name, is most often used to change the appearance of data for presentation. But PROC FORMAT can be used for much more than the cosmetic transformation of data. It can be a tool for redefining data, recoding data, transforming data for tabulation and reporting, subsetting large data files and more. This paper will present a few applications of PROC FORMAT that go beyond the basic display of data and show that PROC FORMAT has real character that goes deeper than just its pretty face |
proc format, proc step, proc freq, macro variable, if-then-else, lookup, merge statement, put statement, cpu time, proc sql | 11 | |
| 73 | Proc GFORMAT - Don't you wish' | Jeff Haney | class variable, macro variable, proc step, macro facility | 12 | ||
| 74 | PROC TABULATE and ODS RTF: The Perfect Fit for Complex Table Headers | Louise S. Hadden | proc tabulate, ods rtf | 14 | ||
| 75 | Program Validation: Logging the Log | Adel Fahmy | Program Validation includes checking both program Log and Logic. The program Log should be clear of any system Error/Warning messages, which this paper will address. The program Logic is revised either manually or by writing an independent rough code that produces identical results. During the development phase, some programmers use SAS system options MPRINT, MTRACE, MLOGIC, MACROGEN, or SYMBOLGEN that result in le ngthy log files. Although moving the final program into production should include switching off all of those options, this is not the case all the time. Trying to visually scan thousands of pages of a log file is tedious work that involves searching indivi dual strings (Error, Warning, etc) one at a time. All the possible messages haven' t necessarily been addressed. The generic macros presented here automate the whole process, by scanning all the logs, searching for the most common errors and producing a s eparate report for each processed log | data cleaning, stored macro, error message, proc sql, sas log, proc step | 8 | |
| 76 | Programming Techniques for Data Mining with SAS | Samuel Berestizhevsky, Tanya Kolosova |
Object-oriented statistical programming is a style of data analysis and data mining, which models t he relationships among the objects that comprise a problem rather than procedures that can be taken to solve the problem. One of the key steps in moving to object-oriented statistical programming and analysis is to make a shift in thinking away from the procedural model to a new model where procedure exec ution is a result of relationships among obj ects. This new model is more declarative, meaning that objects are first dec lared then allowed to act or interact. This manner of actions makes it easier to design and implement statistical analyses and data mining which take the actions they do only as a reaction to object state. In data analysis and data mining it's quite natural to operate by classes, because statistical methods are always linked to data | data science, dataset, data dictionary, data mining, clinical programming, numeric variable, proc means, data analyst, key, regression analysis | 14 | |
| 77 | Progress in SAS Scientific Discovery Solutions: Genetics, Microarrays, and Proteomics | Russell D. Wolfinger, Wendy Czika, Kristen Kleiss |
The SAS Genomics team is making steady progress in leveraging existing and new SAS technologies for more effective approaches to scientific discovery. This paper presents an overview of SAS/GENETICS, SAS Research Data Management (RDM), and the SAS Microarray Solution, as well as introduces the two latest additions to the SAS Scientific Discovery Solutions line, the SAS Genetic Marker Solution, and the SAS Proteomics Solution. Release 1.3 of the RDM platform contains several major improvements, including an expanded architecture for supporting input engines and analytical processes, as well as advanced GUI support via XML. The SAS Genetic Marker Solution is built on the RDM platform and features analytical processes invoking SAS/GENETICS procedures in the background. The SAS Proteomics Solution is also an add-on to the platform and focuses on the management and analysis of spectral data, enabling advanced data analyses and profiling of peptides or metabolites |
proc step, proc mixed, proc freq, anova, normalization, dataset, sample, correlation, regression analysis, excel, proc sql | 18 | |
| 78 | Recursive Subroutine Macros | Chang Y. Chung | I present a set of macros to make it easier to write recursive, subroutine-like programming constructs within a DATA STEP. Several problems posted on SAS-L are solved demonstrating the use of these macros |
data step, temporary array, goto, macro variable, do loop, macro parameter, macro loop, conditional do loop, macro definition | 22 | |
| 79 | Running SAS Scripts Embedded within JSP Tags through SAS/Connect Java API | Syloke Soong | A SAS script executes from a command line by invoking <sasroot>/sas <scriptname>.sas. There are three ways of embedding and running that script from a JSP. They are 1. Using WebAF (AppDev Studio) APIs and tag libraries. 2. Using SAS/INTRNET. 3. Using SAS/CONNECT Java API. The paper briefly discusses the differences between the three and focuses on the last method. 1. Description of a custom JSP tag to accept blocks of text. 2. Embedding a SAS script within the JSP tag for submission to the server. 3. Eliciting a SAS/CONNECT connection. 4. How the JSP retrieves the output of the SAS script. 5. Eliciting a single user JDBC connection from the SAS/CONNECT connection. 6. Submitting SQL blocks embedded in the JSP to the JDBC connection. 7. Comparison between SAS/SHARE JDBC and SAS/CONNECT JDBC. 8. Migrating a legacy SAS report to the web easily. 9. Selective incremental conversion of legacy SAS reports to SAS Java technologies |
proc sql, macro definition, proc step, excel | 9 | |
| 80 | SAS Add-In for Microsoft Office - Leveraging SAS Throughout the Organization from Microsoft Office | Eric Hill | The SAS Add-In for Microsoft Office is a Component Object Model (COM) add-in to Microsoft EXCEL and Microsoft Word. The SAS Add-In for Microsoft Office seamlessly exposes the power of SAS data access, reporting, and analytics directly from the familiar environment of Microsoft Office. This paper discusses the capabilities and features of the SAS Add-In for Microsoft Office 1.3. Refer to Appendix A for a list of features by release |
excel, sas enterprise guide, sas management console, business intelligence, proc sql, life sciences | 15 | |
| 81 | SAS and Grid Computing - Maximize Efficiency, Lower Total Cost of Ownership | Cheryl Doninger | IT budgets are declining and data continues to grow at an exponential rate. SAS applications with high volumes of data can take many hours or possibly days or even weeks to complete. In some cases, a job is so big that it cannot be completed at all even given today's processor speeds. Whether you call it grid computing or not, you want to be able to complete your SAS applications in a reasonable amount of time without making a huge investment in new hardware. Grid computing is about leveraging your available resources and idle processor cycles to more quickly solve a problem while at the same time maximizing efficiency and reducing your total cost of ownership. SAS enables you to distribute long running jobs across a grid of any number of homogeneous or heterogeneous machines in order to get timely results and get information to the right people at the right time | grid computing, elapsed time, data science, sas 9, sas grid, by group processing, monte carlo | 6 | |
| 82 | SAS and Neural Networking: Spatial / Functional Maps of Biological Systems | Haftan M. Eckholdt | This talk describes the status of a l ong term project to build a digital model of genes, behavior, and neuroanatomy in a biolog ical system. Caenorhabditis elegans was the first species to be mapped genetically, and the first species to be mapped neurologically, and t he first species to provide evidence of specif ic gene-behavior relationships. SAS [DATA STEP, PROC GPLOT, %MACRO] is bei ng used in the first pha se to build a spatially and functionally accurate digital model of the nervous system including information about location and branch ing, 3D maps of neurons, 3D animations of neurons, and 3D VRML outputs. SAS has been used to build a database of the entire genetic structure [ Computer Cluster management and computation: SUGI2001]. Once the behav ioral database has been developed, SAS can be used to serve WEB enabled modeling systems accessible through neurons, genes, or behavior |
parallel processing, neural network | 7 | |
| 83 | SAS and Oracle PL/SQL: Partners or Competitors? | Stanley E. Fogleman | Most computer programmers tend to think in binary fashion. Either something is completely possible and should always be used or something is impossible and thus should never be considered. The question that should be asked is: How can the tasks be divided between SAS and ORACLE to play to their relative strengths? The paper will concentrate on the ways in which PL/SQL is very useful to SAS programmers (in the form of stored functions and procedures) and can be accessed with either SAS/ACCESS FOR ODBC or SAS/ACCESS FOR ORACLE |
proc sql, stored procedure, proc step, macro variable, create table, sas programmer, character variable | 4 | |
| 84 | SAS Certification: What you need to know about how we did it! | Paul Winters, Michael E. Tomb |
Are you interested in becoming a SAS Certified Profes- sional? This presentation is a collection of practical tips and useful information gleaned from our own varied ex- periences with several of the SAS certification exams. We will cover the "What", "Why" and most importantly the "How" of the SAS Certification Process. The authors have differing histories with the SAS system; one passed his first exam after only 11 months of exposure to SAS and the other had 20 years as a SAS professional before suc- ceeding with three exams. From these two vantage points, we'll explain just what you need to know as you get ready to earn your first SAS Certified credential | sas base, data warehouse, sample, proc sql, sas programming, macro definition | 6 | |
| 85 | SAS COWs: Parallel Clusters and Financial Market Simulation | Haftan M. Eckholdt | Using SAS to manage and run a LINUX / WINDOWS-NT based cluste r of workstations (COW) to simulate a parallel processor puts the power of supercomputing well within the reach many analysts. The criteria for using COW's will be discussed in terms of their job symmetry and intermediate so lution timing. Special probl ems, and their solutions are discussed including the installation and maintenance of COWs especially in terms of work environments and hardware constraints. Using layers of file monitoring, job distribution, and data analysis, and data visualization, SAS can provide clever and cost effective paths to COW management and usage [X command, %MACRO, DATA, STAT]. Parsing the problem, and distributing it symmetrically across the COW and ex ecuting the randomized solutions are discussed in the context of an example from computation finance: simulating financial markets to backtest investment strategies. Backtests are the first line of investigation on quantitative investment models |
parallel processing, macro definition | 6 | |
| 86 | SAS DDE: How We Make Our Customers Happy and Still Use SAS | John J. Cohen, James P. Shields |
8 | |||
| 87 | SAS MACROS: Offer the Best Dating Service | Adel Fahmy | Dates occur in all database files that programmers face on a daily basis. Different database designers have adopted a variety of different methods for entering the dates. Some methods create 3 separate fields for Day, Month & Year, and some create only one field that contains the whole date. In either case, the field type may be Numeric or Character. The different methods are usually adopted for the accuracy of data entry or to collect as much information as possible for Partial Dates. We usually end up with too many macros; each handles one type of data entry date. Those macros are constantly modified to fit in each new project, which defeats the idea of generic macros. The macro presented here handles most of the commonly used date fields producing a Full Numeric Date (used for calculations) and a Full Character Date (used for reporting), with the hope that we have solved most, if not all, of your dating issues | macro function, macro quoting function, date variable, %if-%then-%else, macro loop, if-then-else, sysdate9, macro definition, missing value, stored macro, data cleaning, macro variable, character variable | 9 | |
| 88 | SCL Rides Again! Porting RESMENU to the Web | Michael L. Davis, Ralph W. Leighton |
The Hartford had a problem. SAS Version 8 on OpenVMS did not support text-based SAS/AF interfaces used by the Corpo- rate Actuarial Reserving area's RESMENU application. The alter native of using SAS/AF Fr ame with X-Windows had unac- ceptable drawbacks. So the Reserving Automation Support area set out to migrate RESMENU to a web-based interface using SAS/INTERNET and AppDev Studio . But using the latter toolset to construct Java Server Pages (JSPs) proved to be more complex and difficult than anticipated. Fortunately, The Hartford discovered a winning alternat ive: SAS/INTRNET and SAS Component Language (SCL). This paper will offer a tutorial on how to build SAS/INTRNET applications that feature data- driven (dynamic) selections using SCL , SAS/INTRNET sessions, and a touch of JavaScript. The balance of this presentation will show how these programming elements are successfully used to bring The Hartford's reserving model support application to the web |
macro variable, dataset, proc step, sas base, sample, catalog entry, macro definition, filename statement, calendar year, libname statement, claims development, excel | 20 | |
| 89 | Sending SAS Files Here, There and Everywhere (Receiving Too!) | Stephen J. Rhoades | SAS Connect is an effective tool for sending and receiving SAS files between platforms once it is set up. However for those unfamiliar with it, there are a number of hurdles to overcome that can be both frustrating and time consuming. I thought about setting up a menuing system to ease this pain. SAS works quite well with Microsoft's VB.Net product, thus allowing easy creation of GUI interfaces to pass parameters into SAS code. Several years ago I created a number of custom SAS Connect interfaces to allow for upload and download of files on other platforms. This code resides on a PC and needs to be modified to identify the path, name of the local file and remote files. For MVS, DCB parameters are often required. Even though the sections of code to be changed are well delineated and there are different scripts for each platform and direction (To and From), these scripts are intimidating to the new or casual user | macro variable, txt, macro definition | 10 | |
| 90 | Serving the Kitchen Sink: SAS Portfolio Analysis | Haftan M. Eckholdt | Portfolio management has surpassed the capabilities of financial so ftware platforms both in terms of analysis and information d elivery. Investment strategies are usually back-tested over decades befor e entering the market, and new investment strategies often chan ge position very rapidly. On top of this are new investor demands for immediate access to up to date and detailed information on fund perf ormance, risk, and activity. No brand of financial software allows users to analyze extended daily histories, much less share detailed report s over the WEB. SAS has a long history of delivering detail ed analyses over the WEB, and this present ation will demonstrate how to meet the d emands of managers and investors with in depth analyses of portfolio performanc e, risk, and activity using ri ch WEB based reports that ar e easily formatted in GIF, JAVA, and ActiveX | variance, macro loop, sample, macro definition | 12 | |
| 91 | Skinning the Cat This Way and That: Using ODS to Create Word Documents That Work for You | Elizabeth Axelrod, David Shamlin |
By supporting formats like Rich Text Format (RTF) and HyperText Markup Language (HTML), the SAS Output Delivery System (ODS) makes turning SAS output into Word documents easy. Tabular output from SAS procedures can be sent directly to a file that Word can read. However, the resulting Word document might fall short of your expected results. For example, we needed to create a Word document that would serve as a user guide (or codebook), describing over 400 variables in a survey study. The body of the document needed to include detailed information for each variable. The Table of Contents needed to list the page numbers for the sections including the detailed information for each variable. As a result, we experienced several formatting challenges. Long values in section titles did not wrap correctly, and there was too much white space between sections, to name a few |
sas output, title statement, ods html, output delivery system, proc step, ods rtf, label statement, proc print, sas batch, macro variable, proc freq, proc template, proc sql | 10 | |
| 92 | So You're Still Not Using PROC REPORT. Why Not? | Ray Pass, Daphne E. Ewing |
Everyone who can spell SAS knows how to use PROC PRINT. Its primary use may be as a development tool to help in debugging a long multi -step program, or as a simple report generator when all that is really needed is a quick look at the data, or even a basic low -level finished report. However, if a report generation/information delivery tool with powerful formatting, summarizing and analy sis features is called for, then PROC REPORT is the solution. PROC REPORT can provide the standard PROC PRINT functionality, but in addition, can easily perform many of the tasks that you would otherwise have to use the SORT, MEANS, FREQ and TABULATE procedures to accomplish. PROC REPORT is part of the Base SAS product, can run in both an interactive screen -painting mode or a batch mode, and should be the basic tool of choice when there is a need to produce powerful and productive reports from SAS data se ts |
proc report, proc step, class variable, character variable, proc print, numeric variable, proc tabulate, proc means | 22 | |
| 93 | Speaking Klingon: A Translator's Guide to PROC TABULATE | Dianne Louise Rhodes | A frustrated colleague once complained to me that he couldn't understand the SAS Reference Manual for PROC TABULATE. "It's written in Klingon!" he exclaimed. I have found that the basics of Tabulate are easy to use if it is recognized as being a different set of constructs than used by other SAS Procedures. The Bureau of Labor Statistics Table Producing Language/Print Control Language (TPL/PCL ) has been used to produce vital statistics tables for many years. This paper introduces the TPL concepts that are the foundation of PROC TABULATE. These fundamentals are used to demonstrate how to build more complex tables, and how to exploit totals, percentages, and percentage bases (the percent denominator). New features in version 8 make it much easier to produce the statistics that you want. The paper demonstrates how to use formats and the PRELOADFMT option to produce tables the way you want to see them |
class variable, proc tabulate, proc step, proc freq, ods html | 13 | |
| 94 | Stranded on a Deserted Island with Nothing But TITLE Statements | Richard M. Mitchell | Imagine bei ng a SAS programmer strand ed on a d esert islan d with no programming tools e xcept for a handful of TITLE statements. When presented with the task of creating populated forms in SAS that closely resemble their original hardcopy format, many SAS programmers might wait years for a bottle to wash up on shore with the magical solution. There is no need to worry though, because this paper will discuss how one can ac hieve s uch a task using th e simp lest of program ming tec hniques. B y fu lly utilizing th e T ITLE statement along with basic CALL SYMPUT statements, users can avoid complicated programming and still create simple, decent looking reports that look just like they were intended to look | title statement, sas programmer | 6 | |
| 95 | SYMPUT and SYMGET: Getting DATA Step variables and macro variables to share | Christianna S. Williams | Because one of the most powerful incentives to use the SAS macro language is to allow SAS programs to be more data-driven, it is critical for the DATA STEP and the macro facility to "talk" to each other. The SYMPUT routine and the SYMGET function provide two mechanisms to facilitate this communication. Specifically, SYMPUT provides a way to turn DATA STEP variables into macro variables, and SYMGET does the converse, grabbing macro variable values and assigning them to DATA STEP variables. The purpose of this tutorial-style paper is to provide several examples of the use of these tools, using the different types of arguments that each accepts, and a few rules that may prevent a headache or two as one starts to write programs in which the DATA STEP and the macro facility share information. The focus will be on SYMPUT because of its greater utility |
macro variable, character variable, macro facility, call symput, proc step, length statement, macro put, call execute | 14 | |
| 96 | Take an In-depth Look at %EVAL Function | Beilei Xu, Lei Zhang |
%EVAL is a widel y used yet frequently misunderstood SAS macro language function d ue to its seemingly simple form . However , when its actual argument is a complex macro expression interlaced with special characters, mixed arithmetic and logi cal operators, or macro quotation functions, its usage and result become elusive and problematic. In this paper, we aim to explore and dem ystify the intricate part of %EVAL. First, we explain the mechanism that the SAS macro processor uses to invoke %EVAL, and point out the subtle difference between the implicit and explicit uses of %EVAL calls. Then, we reveal a series of hidden rules that %EVAL uses to manipulate its actual macro argument embedded with different types of special characters. Examples are provided to illustrate those rules and exceptions on a case -by-case basis | %if-%then-%else, error message, macro variable, macro put, macro call, missing value, macro facility, macro quoting function, if-then-else, macro function, macro parameter | 6 | |
| 97 | The Fundamentals of Efficiency | Robert Virgile | proc step, proc freq, proc means | 5 | ||
| 98 | The INPUT Statement: Where It's @ | Ronald P. Cody | input statement, infile statement, sas log, trailing @, dataset, variable list, character variable, proc print, error message, proc step, missing value, date variable, numeric variable | 13 | ||
| 99 | The Invisible Character Alt-255 - Hidden Dragon in SAS Output | Eugene Tsykalov, Shi-Tao Yeh |
Use of a special Invisible Character in SAS code is described to remove sometimes unnecessary text and help in text aligning and positioning in SAS output. The magic sequence of keys Alt-255 typed at numeric keypad places an Invisible Character symbol into text. This character looks like a blank space in the program code and SAS output but is processed and printed by many programs as a valid text character. Practical applications of Invisible Character Alt-255 - the Hidden Dragon which eats out undesirable text and guards SAS output text aligning are presented: removing unnecessary column names from PROC REPORT output, suppressing the name of a Pageby variable in page headers, aligning text in titles, footnotes and columns, preserving the original text layout in SAS ODS output in PDF format. Also discussed are differences in displaying of the Invisible Character in Windows and UNIX based programs |
proc report, proc step, sas output, character variable | 8 | |
| 100 | The Piecewise Regression Model as a Response Modeling Tool | Eugene Brusilovskiy | The general problem in response modeling is to identify a response curve and estimate the diminishing returns effect. There are d ifferent approaches to response modeling in SAS with emphasis on caveats (OLS segmented regression, robust regression, neural nets, and nonparametric regression). In this paper, we formulate a new problem statement of response modeling as a con cave piecewise approximation of a response curve. We use artificial data to illustrate this approach. As the accuracy of the solution depends on the ratio of signal/(signal+noise), we can obtain the exact solution when the ratio is close to one, or when th e knots are known. A three step heuristic approach is suggested for the situation when the data are significantly contaminated and/or the knots are unknown. The approach includes three steps. First, we run a dummy regression with the SAS PROC REG to est imate the parameters of dummy variables |
proc step, regression analysis, estimate, binary variable | 10 | |
| 101 | The Power of PROC FORMAT; Updated for SAS8 and SAS9 | Jonas V. Bilenas | The FORMAT procedure in SAS is a very powerful and productive tool, yet many beginning programmers rarely make use of it. The FORMAT procedure provides a convenient way to do a table lookup in SAS. User generated Formats can be used to assign descriptive labels to data vales, create new variables and find unexpected values. PROC FORMAT can also be used to generate data extracts and to merge data sets. This paper will provide an introductory look at PROC FORMAT for the beginning user and provide sample code that will illustrate the power of PROC FORMAT in a number of applications. This paper updates the paper presented at NESUG 2000 titled "The Power of PROC FORMAT" |
proc format, proc step, proc freq, proc tabulate, flat file, format statement, dataset | 4 | |
| 102 | The Role of Consecutive Ampersands in Macro Variable Resolution and the Mathematical Patterns That Follow | Michael J. Molter | As the complexity of a macro application increases, the programmer may find the use of consecutive-ampersand macro variable references a convenient way of referring to combinations of macro variables. Advantages of these techniques include efficiency, brevity, program organization, and even elegance. Without an understanding of these references, they can get difficult to read and use. Manuals provide the rules, but learning still requires extensive trial-and-error approaches. This paper sets out to show that this doesn't have to be the case. Keeping in mind three simple rules the macro processor follows makes these references more manageable. A brief review of macro variable initialization sources is discussed, followed by a description of the context in which they are useful | macro variable, &variable, put statement, macro put, macro parameter, macro loop, do loop, call symput | 8 | |
| 103 | The SQL Optimizer Project: _Method and _Tree in SAS 9.1 | Russell M. Lavery | This paper discusses two little known options of SAS PROC SQL: _method and _tree. The main body of information, and the major opportunity to learn about the topics, exists in the heavily annotated appendix. Efficient use of this material might involve reading, and printing, this paper then working through the appendix. This paper will also attempt to describe some of the logic that the Optimizer employs. PROC SQL has a powerful subroutine, the SQL Optimizer, that examines submitted SQL code and the state of the system (file size, index presence, buffersize, sort order etc ). The SQL Optimizer creates a "run plan" for optimally running the query. Plans describe executable programs that the Optimizer will create to produce the desired output. These executable programs can be quite complicated and often involve the creating, sorting and merging of many temporary files |
proc sql, where statement, hash table, proc step, data step, having, proc sort | 11 | |
| 104 | The Utter Simplicity and Power of the TABULATE Procedure | Daniel E. Bruns | proc step, proc tabulate, proc freq, sas base, label statement | 13 | ||
| 105 | Thumbs Up For ODS Graphics, But Don't Throw Out All Your SAS/GRAPH Programs! | Richard M. Mitchell | A huge sigh of relief can be heard throughout the SAS/GRAPH community with the introductory launch of ODS Graphics. For those who use SAS/GRAPH, it may sometimes be referred to as needing endless lines of tedi ous code, and representing a language structure that can be difficult to use for beginners or those w ho use the software on just rare occasions. ODS Graphics automatically w hips out some r eally cool looking statistical graphi cs in many of the SAS/ST AT and SAS/ET S procedures. Don't get too ex cited yet though, because critical bells and whistles are still on the horizon, and SAS/GRAPH still offers the user a wide variety of powerful tools |
proc step, statistical programmer, proc sgplot, sas programmer, ancova, proc reg, proc gplot, confidence interval, proc logistic, covariance, sample, acf plot, bar chart, logistic distribution | 16 | |
| 106 | Transporting Data in the SAS Universe | John Malloch, Jayne May Miller |
In the best of all possible worlds, we would only have to use SAS data. However, since that is not usually the case, this poster presentation will cover some of the basics of moving external data to and from SAS using code examples. We will cover Microsoft Access and EXCEL, relational databases, and flat files. The examples will use SAS Procedures like IMPORT, EXPORT, DBLOAD, and SQL, as well as the SAS DATA STEP. We will also cover some features of the SAS/ACCESS LIBNAME statement and the Pass-Through Facility. We will mention the SAS software utilized by each technique such as SAS Base, SAS/ACCESS for PC, and SAS/ACCESS for Relational Databases |
proc sql, proc step, flat file, relational database, sql server, proc export, sas base, proc import, excel | 4 | |
| 107 | Unique Methods to Present Data: ODS | Sanjaya Kumar | This presentation will show how SAS can help to present complex data dynamically. Output Delivery System (ODS) is a helpful, easy to use tool in SAS that can produce colorful and interactive graphs, reports and maps. ODS integrates the various new Java and ActiveX |
ods html, proc step, sas output, proc report | 6 | |
| 108 | Using Acting Techniques to Create a Successful Presentation | Lois Levin | When you make a presentation at a User's Group conference or to any group anywhere, it is important to find the best way to communicate your information. A paper presents your ideas in writing, but a presentation is always a performance. The best performers are actors and they know many techniques for creating an effective performance. This paper will discuss a few of those techniques that can be adopted to make your technical presentation an interesting and enlightening performance. The corresponding presentation will, of course, be far more dramatic! | 4 | ||
| 109 | Using an Excel Spreedsheet with PC SAS, no Gymnastics required! | Diane C. Hall | Do you regularly analyze data received in EXCEL spreadsheets using SAS? Do you wish for a single-step method for reading this data into a permanent dataset for analysis? This paper will show you how to include your EXCEL spreadsheet in SAS using FILENAME and INFILE statements. This method does not require that you first save your file as TAB delimited. You are able to use the file as you received it. This saves processing time for the user, especially if your source for these EXCEL spreadsheets sends new updated files frequently |
excel, dataset | 4 | |
| 110 | Using External Data to Control SAS Programs | Carrie Heins | When Dynamic Data Exchange (DDE) is not available or not applicable, what do you do? Using the INFILE statement and the FILEVAR option you can let external data control the operation of a series of SAS programs. This paper will show examples of INFILE statements using the FILEVAR= option, MACRO DO loop processing, and the FILE statement. This paper will also give concrete examples of creating scripts, programmatic checks of text files (.log), concatenation of text files and creation of dynamic page sizes | txt, dataset, excel, macro variable, infile statement, proc step, delimited file, proc format, temporary dataset | 9 | |
| 111 | Using MACRO and SAS/GRAPH to Efficiently Assess Distributions | Paul Walker | proc step, macro variable, proc means, catalog entry, proc greplay, variable list, histogram, scatter plot, macro call | 7 | ||
| 112 | Using PROC FORMAT for Data Validation and Clean-Up | Christianna S. Williams | Sometimes one is faced with a large and potentially "dirty" data set that needs to be checked for invalid data. The data set may contain character fields that have been entered in varied and non-standard ways. However, the set of valid data values for some of the variables may itself be large and unwieldy, making a long series of statements of the type "IF x NOT IN (this, that, other. . .)" a very unattractive programming option. Alternatively, there may be a set of observations, identifiable by being among a large set of values of a key variable, that need to be deleted from your big data set. If the set of valid (or alternatively invalid) values can be enumerated and fed into a SAS data set, PROC FORMAT with the CNTLIN option can be a real code saver. This paper will present a step-by- step guide to using PROC FORMAT in this way as an aide to data validation and "cleaning", using a real example from health research |
proc format, proc step, dataset, data cleaning | 10 | |
| 113 | Using PROC GENMOD for Loglinear Smoothing | Tim Moses, Alina A. von Davier |
proc freq, covariance, proc genmod, proc step, sample, degrees of freedom, poisson distribution, sample size, likelihood function | 17 | ||
| 114 | Using SAS at SAS: The Mining of SAS Technical Support | Annette M. Sanders, Craig DeVault |
Over the last decade, the amount of data that has been collected and stored has increased dramatically. Statistical methods have been, and continue to be, refined and perfected to yield valuable answers to business problems and goals using standard qualitative and quantitative data analysis methods. However, an overwhelming portion of all data collected is actually unstructured text. The evaluation of textual data is a relatively new focus area of statistics. Classical methods that generate answers to business problems can be enhanced effectively by coordinating the analysis of textual data with SAS Enterprise Miner and SAS Text Miner. The Technical Support Division at SAS has not escaped this deluge of data. Although we collect data for every question or problem that we receive in order to manage the delivery of answers and solutions, we have never used the data as a tool for discovering underlying behavior or patterns of software and support issues -- until now | data mining, proc freq, proc hpsplit, dimensionality reduction, regression analysis, dataset, chi-square test, scree plot, txt, proc corresp, outlier | 22 | |
| 115 | Using SAS Drug Development as a Report Management Application | Barry R. Cohen | Many statisticians and statistical programmers in the pharmaceutical industry will first come to know SAS Drug Development as a product that addresses their regulatory-compliance issues (auditing, versioning, and security) as they develop their on- going analysis programs, data, and documents for NDA filings. However, the product provides a full, flexible processing environment that can be used in other ways. In this paper, I examine standard features of SAS Drug Development that allow it to serve as a Web-enabled report management application for a library of SAS-based report programs. The application covers typical functions such as (1) loading SAS macro report programs to the environment; (2) building report parameter-solicitation screens; (3) providing a user interface to select report programs, set report parameter values, and execute reports; (4) managing report output sets and providing a user interface for output file viewing | clinical research, macro variable, macro definition, statistical programmer, sas programmer, dataset | 8 | |
| 116 | Using SAS to Create Excel files with Multiple Worksheets | Bryan K. Beverly | This paper demonstrates how to create EXCEL worksheets in SAS and then bundle the worksheets into a single workbook. This approach can be useful in two ways: (1) for those instances when your production server is UNIX but you need customized EXCEL output; or (2) if you have end users who need computed/processed information, but do not have SAS. By using this SAS/EXCEL approach, you provide end users with multiple sets of analyses in one EXCEL file - no need to WinZip or expend time transmitting multiple files. Hence, the end user gets the products without having to license SAS software or have SAS programming skills |
excel, ods excel | 5 | |
| 117 | Using Single-Purpose SAS Macros to Format EXCEL Spreadsheets with DDE | Perry Watts | While it is relatively easy to transfer data between SAS and EXCEL, it is a different story when it comes to format- ting spreadsheets to meet project specifications. Many workbooks with multiple spreadsheets may be required to complete an assignment, and formatting requirements for each sheet may be idiosyncratic. Manual formatting is onerous and time-consuming. Errors fr equently occur and frustration increa ses when they too have to be cor- rected. The single-purpose macros desc ribed in this paper enable the SAS us er to accurately format spread- sheets with ease. More specifically, positional param eters in X4ML (EXCEL version 4 Macro Language) are re- placed with keyword parameters in the SAS macro language. X4ML, a predecess or to VBA, (Visual Basic for Ap- plications) supports DDE (Dynamic Data Exchange), a legacy communications protocol accessible in BASE SAS |
excel, macro definition, data step, sas base, macro facility, put statement, macro variable, dataset, macro function, pointer control, select, macro call, macro parameter, %macro parameters | 17 | |
| 118 | Version 9 of SAS Software | Dana Rafiee | This document is an excerpt from Dest iny Corporation's Version 9 Changes and E nhancement course materials, Copy right 2004. It is designed to give a brief overview of what Version 9 has to offer. The primary goal of Version 9 is to provide support for a new level of computing that supports faster execution of applications, centralized access of data and support of t he latest computing technology . These materials are designed as an overview of what is available and new and complement the online documentation that ships with the software | output delivery system, sas management console | 18 | |
| 119 | Web Services Integration and the SAS Drug Development Platform | Christopher R. Olinger, John Leveille |
The SAS Drug Development (SDD) platform is an extensible, web-based application for the hosting, processing, and management of clinical and pre-clinical data. The system is 21CFR Part 11 compliant, runs over the Internet, integrates with SAS, and provides direct interfaces for controlling the various components of the system. The system employs Java EJB technology, Web Services, and a WEBDAV interface to deliver Internet-based clinical functionality, and to provide integration points for controlling basic functionality such as auditing, uploading, downloading, and versioning. This presentation discusses the application of Web Services and reviews the primary methods for integrating with SAS Drug Development (as there are several). The paper is intended for individuals with Java/Web experience, and for SAS programmers that would like to see what you can do with the platform | web service, clinical research, audit trail, clinical data | 14 | |
| 120 | When PROC RANK Hinders Your Memory, DATA Step into Decile Assignment - And Handle Ties Too! | Jack Clark | PROC RANK with the GROUPS= option is a great way to as- sign decile (or quintile, quantile, percentile) values to each ob- servation in a data set based on the ranked values of a numeric variable. When multiple observations have the same value for the ranked variable, PROC RANK can ensure observations with the same value end up in the same decile. In order for PROC RANK to work, all values of the numeric variable to be ranked must be stored in memory. This can cause memory overloads when dealing with ranking multiple variables in large data sets. Prior solutions to the memory problem have suggested using DATA STEP code to split a sorted data set into 10 equal groups by observation number, approximating the re- sults of the PROC RANK with GROUPS=10. A limitation exists when there are "tied" values of the numeric variable at the boundaries of the groups, resulting in observations with the same numeric value being assigned to different groups |
proc rank, proc step, numeric variable, proc sort, sorted data | 2 | |
| 121 | Where to Get SAS Help When the Local Goo-Roo Is Out | Earl R. Westerlund | Most SAS shops have one person who seems to know a bit more than the rest of the programmers. The go-to person who, when you hit The Wall, can get you over, through or around it. The Goo-Roo. But where does the Goo-Roo go for help when s/he is stuck? This paper will survey the variety of SAS help sources, from SAS's own website to email communities. Who knows: if you avail yourself of enough of these resources, you may become a Goo-Roo yourself! | sample, sas enterprise guide | 3 |
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