HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

MWSUG 2001 Papers - Index

43 papers. Source: MWSUG (Midwest SAS Users Group) conference proceedings.

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 50 Ways To Merge Your Data - Installment 1 Kristie Schuster,
Lori L. Sipe
When you need to join together two datasets, how do you go about it? Do you use your tried and true methods or do you evaluate multiple methods and determine which is going to be the most efficient for your application? The following paper compares four different ways to merge together two different datasets and compares the system resources used for each cpu time, elapsed time, proc sql, merge statement, proc step, proc format, proc sort, order by 6
2 A Basic Mathematical Explanation of the SAS / QC and PROC Shewhart Jim Edgington standard deviation, type i error 3
3 Automation and customization of printing of SAS output Cailiang Mao During project development, tabulations, listings and tables are often requested to be printed out for review. It may involve several dozens to over hundreds of files depending on the size of the study. Using UNIX print command with the wild card FILENAME often results in pages that are not separated cleanly. Using a FILENAME statement with pipe device type, a macro is developed to print all files or to selectively print a subset of all files in a directory at once with clean output. The PRINTER parameter of the macro allows the user to direct output to the desired printer. In addition, the macro allows the user to customize printing by printing pages selectively, such as the first n pages of file(s), any desired pages in the middle of a file or last page of the file. So the Macro provides both efficiency, especially for large study, and flexibility sas output, sas programmer 2
4 Avoiding Platform-Dependent Code Peter J. Anderson Platform-dependent code makes it difficult to work on more than one platform or transport a SAS program to another system. While it is not possible to discuss all of the issues that can arise when transporting code, some features of SAS will be presented that allow more robust code to be developed. The discussion will include: the portability of certain characters, how to query and utilize the contents of a directory, and macro programming techniques. Examples of platform-dependent code as well as potential alternatives will be presented macro definition, macro variable 2
5 Building and Using Macro Libraries Arthur L. Carpenter While many users take advantage of the SAS Macro Language, few take full advantage of its capabilities to build and maintain libraries of macros. Management of large numbers of macros can be problematic. Names and locations must be remembered, changes must be managed, duplication and variations of individual macros must be monitored, and efficiency issues must be taken into consideration. These problems come even more to the forefront when macros are shared among programmers - especially in a networked environment. Macro libraries allow you to control and manage the proliferation of your macros. Libraries can consist of a formal use of the %INCLUDE statement, a group of programs defining macros that can be automatically called, or even collections of macros that were previously compiled and then stored. Macro libraries are extremely useful, and not really all that complicated. If you are not currently using them as part of your macro programming efforts, read on! macro definition, autocall macro, stored macro, options statement, macro facility 7
6 Combining Pattern-matching and File I/O Functions: A SAS Macro to Generate A Unique Variable Name List Michael P.D. Bramley When a large number of variables in numerous datasets must be processed in different ways depending upon their names or labels, implementing a macro that returns a variable list based on patterns makes sense. It turns out that mimicking the basic SAS variable list operators is not too hard and provides an opportunity to add those features that the author wishes SAS Institute had implemented. In addition to pattern-matching in the SAS System, this paper illustrates the SAS programming techniques of how to use the %SYSFUNC macro function and how to interrogate the contents of a dataset. This paper does not assume any advanced SAS MACRO knowledge on the part of the reader. Finally, this paper combines the above techniques into a macro function that utilizes the SAS pattern-matching capabilities to return a unique variable list based on user-specified criteria variable list, macro function 4
7 Confessions of a SAS System Electronic Mail Junkie Derek P. Morgan My first use of the SAS System electronic mail interface was for the 1999 International Genetic Epidemiology Society meeting. To reduce administrative costs, the organizers wanted to use electronic mail as the primary put statement, set statement 4
8 Data Retrieval Using SAS Internet Karen A. Clark,
Mary A. Bednarski,
Joel F. Achtenberg,
Julia A. Beiser,
Denise M. Randant,
Christopher J. Ewing,
Mae O. Gordon
The Ocular Hypertension Treatment Study (OHTS) is a multi- center, randomized clinical trial involving 22 clinics and 1636 participants. The OHTS Coordinating Center and clinics use the study's website to view summary reports such as case report form (CRF) history and clinic performance reports. These reports are produced statically using the SAS %OUT2HTM output formatting tool. By adding the SAS IntrNet component, we provide dynamic access to detailed CRF data by creating reports on demand without tying up electronic storage space. This dynamic web system reduces the need to retrieve remotely stored hard copy CRFs and presents a tool for ensuring data quality. This paper will demonstrate the dynamic electronic retrieval of CRF data using SAS ODS and IntrNet software. Security measures are described in detail and future enhancements are discussed macro variable, proc step, output delivery system, data step, macro definition, %if-%then-%else 7
9 Data Warehousing: A Technology Update and Review Vernon Hoffner Data warehousing has been around for over a decade. Therefore, when you read the articles in professional magazines and journals, most authors assume that you know and understand the terminology and acronyms. This can be a problem when you are now trying to understand this area of the technology. This paper reviews the technology and terminology (buzzwords) and provides an integrated foundation for understanding the benefits and potential hazards for data warehousing. The paper begins with a list of definitions and their implications for understanding data warehousing. Next, is a discussion of how data warehousing fits within the IT infrastructure, its benefits and application. Then data warehousing is reviewed from a business and organizational perspective, with consideration of organizational impact and risks data warehouse, business intelligence, raw data 9
10 Date & Time Values in Clinical Trial Data George Li,
John Morrill
Date and time values are widely used in clinical trial data for computing duration, cumulative time, and for windowing issues. Partial or incomplete dates in the raw data and the wide variation of formats across countries are issues that arise when working with such data. This paper discusses ways to overcome these problems using SAS functions, formats, and other features in processing, analyzing and presenting date and time values missing value, clinical trial, adverse events, clinical data 4
11 Detecting Anomalies in Your Data Using Benford's Law Curtis A. Smith Analyzing large amounts of data looking for anomalies can be a disheartening task. You need techniques that will allow you to quickly assess the data in ways that will highlight potential anomalies while keeping you from chasing the wind. Benford's Law is one such technique. Using Benford's Law and SAS Software you can quickly identify one or more first digit patterns that defy statistical averages. Within this paper, the author will present SAS code that will enable you to quickly and easily find anomalies in the data you analyze. The SAS code will include the DATA STEP, the MERGE statement, and the FREQ, REPORT, and GPLOT procedures. The author will also present some findings from the data he analyzes. The technique presented is powerful, yet easy to understand and use proc freq, proc gplot, numeric variable 29
12 Developing Table-Driven SAS Programs Using Proc Contents Robert W. Graebner It is often desirable to write SAS programs that adapt to different data set structures without being modified. Such programs are referred to as data-driven programs because they assess the structure of the data set they are working with and automatically adapt to that structure. In SAS, the macro language can be used in conjunction with PROC CONTENTS to produce such programs. In this paper examples are provided to illustrate how this technique can be used to reduce programming and maintenance effort in a variety of situations. This paper is intended for experienced SAS programmers who have a basic understanding of the SAS macro language proc step, macro variable, proc contents, proc report, macro facility, sas library, macro definition, macro loop, do loop, &variable 7
13 Development of Automated Test Scoring Using the SAS System Jon M Patton Test scoring is an important component in evaluating student performance in any academic setting. The SAS System played a major role in developing a test scoring system of programs that grades multiple choice exams where responses to each question are bubbled in on scantron forms. These responses are compared to the exam key to determine the grade. Reports generated include overall test statistics and bar charts, individual student reports that includes questions missed, and an item analysis for each question. Other capabilities of the system include (1) the capability of rescoring exams without rescanning in case questions are dropped or the key is changed., (2) verifying student course enrollment by querying a series of Oracle tables containing student data, (3) allowing the use of scrambles (permutation of test questions) to minimize cheating, and (4) automatically sending a summary of test results and data to the professors universal disk space if requested dataset, raw data, bar chart, proc step 4
14 Functional Functions Dorothy E. Brown,
Gary M. McQuown
Functions are an important aspect of DATA STEP programming that are often overlooked and under utilized. Not only can functions be used to resolve a DATA STEP dilemma; they can be mixed and matched to create efficient and precise code. The arrival of V8 includes a number of new functions, making it even more difficult to stay up to date. The following prose and examples cover many of the newly introduced functions as well as some unusual error message, sas function, data step, proc step, proc sql 5
15 JDMS - A Java Based Alternative to Motif DMS Windows Susanna Wallenberger JDMS harnesses the power of a SAS using Java technologies. JDMS is a Java applet/application that provides a minimally featured Graphical User Interface (GUI) to a SAS session. The minimal features of JDMS are perfect for those who used to rely on the ASCII driver to the SAS System using lightweight GUI capabilities. It also provides an alternative to using the X windows interface for those who use SAS from a dial-up connection. The JDMS applet/application includes the SAS windowing environment windows (Java Enhanced Editor, Log, and Output) as well as access to files on the Java client and SAS server machines. JDMS is not a replacement for the fully featured SAS windowing environment. However, its limited interface will prove valuable to users who wish to access their SAS server(s) over a network or by using the World Wide Web (WWW) sas log, dataset 7
16 Let's Play Nice Together: Strategies for Welcoming and Integrating Members into your SAS User Environment Francine Cannarozzi Each member of your SAS user staff brings a different level of experience and expertise to the workplace. New and less experienced users need a lot of help, training, and support. Seasoned SAS users and programmers need to be shielded from constant interruptions and requests for SAS help from all manner of other users. Every SAS user can benefit from sharing technical information, programming tips, and commonly used code within an organization. This paper describes a case study of how a small SAS user group within a larger corporate structure came together to identify their pockets of need and create and grow a SAS user support system for themselves sas programmer, proc step 3
17 Macro Mania Chris O'Brien At LabOne, Inc. we have used macros to effectively report on three business platforms using one generic report format. Utilizing macros, we are able to conditionally process pieces, sections and complete blocks of code. With one %LET statement we are able to change the complete look and feel of the end results. We use macro variables to pull certain data, keep specific variables, and set specific data sets. In addition, we use macros to assign macro variables to pull from specific libraries or datasets, and assign "where" criteria. This can be done for multiple business lines by changing one macro variable to coincide with that business. This presentation will demonstrate utilization of macros to handle statistical reporting on multiple business services. We will show how to assign macros variables, effectively explain why and when to use a global statement and review correct troubleshooting procedures macro variable, macro put, macro facility, macro loop, macro definition, cpu time, %if-%then-%else, proc sql 7
18 Modeling Lifetime Value in the Insurance Industry C. Olivia Parr Rud Acquisition modeling for direct mail insurance has the unique challenge of targeting responsive customers while minimizing risk. In addition, factors such as the probability of a paid premium and customer profitability all effect the Lifetime Value of a prospect. This presentation will detail the steps to develop a Lifetime Value, which can used to optimize the selection of prospects. Topics covered include how to structure and prepare data for analysis to model construction and validation. Additional directions for overlaying a risk segmentation model and product profitability are described. A final discussion will cover criteria for final name selection based on company sample, logistic distribution, logistic regression, missing value, regression analysis, data cleaning, univariate analysis, interval variable, predictor variable, response variable, data mining, standard deviation, gain chart, proc logistic 9
19 Note it and Float It - How to Use Automatic Macro Variables and E-mail Services for Error Trapping and End User Notification Bryan K. Beverly In designing automated SASÒ applications, it is necessary to capture the errors that do and sometimes do not halt execution, and to notify the appropriate end user that something has gone wrong. While examining the SAS Log is always a reliable option, access to this diagnostic is often restricted to the person who executed the job. This paper presents some techniques for using automatic macro variables to: (1) capture DATA STEP and PROC STEP errors, (2) write the errors out to a text file and (3) use the native e-mail services to notify the appropriate parties, that a specific routine has misfired data step, macro variable, proc step 8
20 ODBC Data Reading Presentation Dana Rafiee,
Destiny Corporation (a company)
sample 5
21 ODS Advanced Presentation Dana Rafiee,
Destiny Corporation (a company)
ods html, work library 11
22 ODS Basics Presentation Dana Rafiee,
Destiny Corporation (a company)
proc step, proc print, sas output 9
23 Output Delivery Goes Web Kirk Paul Lafler In an age of Internet frenzy, output delivery is experiencing incredible interest around the globe. The explosion of Internet technologies, especially electronic delivery of data, is on the rise. As digital commerce forces fundamental changes in the nature of business, IT is at the center of these changes. Many organizations are moving toward a customer self-service center model, where information access will be key to survival. As the growth and popularity of the Web surges to unprecedented levels, SAS users are beginning to look for ways to transform basic monospace output into an electronic world of glitz and color. This workshop is intended to teach attendees how to convert tired and old output listings into beautiful Web pages for the whole world to see. Attendees will work with base-SAS software, ODS, Microsoft Explorer, and HTML to create exciting Web output sas output, ods html, proc univariate, output delivery system, file statement, proc step 6
24 Output Delivery Tips, Tricks, and Techniques Using SAS Output Delivery System Kirk Paul Lafler Are you looking for ways to improve the way your output appears? The SAS Output Delivery System (ODS) can help turn tired-looking output into great looking information with a purpose. ODS introduces exciting new features for your output. Gone are the days when the only available formatting choice is basic output listings consisting of monospace fonts printed on a white background. Using built-in format engines, ODS addresses the inherent weaknesses found in traditional SAS output by enabling "quality" output to be produced without having to import it into word processors. In Version 8, many new output formatting features and options are introduced for SAS users to take advantage of. Users have a powerful and easy way to create and access formatted procedure and DATA STEP output proc univariate, sas output, output delivery system, proc format, dataset, ods html, file statement 7
25 Output Generating System - A Tool for Creating Tables and Listings in Word Jay Zhou The Output Generating System (OGS) is a collection of 10 SAS macros used to produce tables, listings, and their shells directly as Word table documents. A central concept in OGS is to link macros together to perform separate but inter-related tasks based on the layout and attributes of five sections (page header, title, column header, table body, and footnote) of a page. The user utilizes these macros like building blocks to produce customized tables and listings sas programmer, excel 7
26 Parsing a SAS Database for Correctness: A Conceptual Introduction Edward F. Brown It is known that all well-formed relational databases (schemas and sub-schemas) can be described by a context-free grammar. This fact allows for a host of possibilities, one being that relational databases can be parsed for syntactical correctness. While this concept is commonly accepted and observed in software compilers, the parsing of relational databases is novel and unexplored. In a clinical database environment, it is common to have 20-50 SAS datasets all linked by a common identifier, as well as secondary keys. One can view the inter-record relationships as a data structure having a tree-shaped geometry. After the initial entry of data, records in each dataset are in constant flux and update operations can add, delete and modify records from multiple sources at multiple times during a day. Each transaction has the potential to change overall geometry of an identifier relational database, dataset, record count, macro variable, data standard 8
27 Program Documentation Process Automated with SAS Macros to Ease the Pain Chris Hord,
Jianlin (Jay) Zhou
It is no secret that regulatory authorities in the pharmaceutical industry require more documentation than most programmers would like to provide. To ease the pain, we've developed two SAS macros that help automate the documentation process. The first macro creates a standard header documentation shell at the top of each program, to collect the project code, author's name, date created, output type, QC reviewer's name, date of QC, etc. The second macro extracts the information from the header of each program in a specified directory and creates a SAS data set from which a Word Document is created. This table provides vital tracking information for each program written for a project, which fulfills a company reporting requirement, and provides an invaluable productivity tool for the programmer and the entire project team macro call, macro definition, sas log, %macro parameters 8
28 Reading and Writing Data form Microsoft excel/Word Using DDE Destiny Corporation (a company) excel, data step 5
29 Seven (plus or minus two) Clusters, A Monte Carlo Study Larry Hoyle This paper employs k-means clustering using PROC FASTCLUS to explore using from 2 to 12 clusters to represent univariate data in samples from five different distributions. Implications for shaded maps and an alternative to traditional histograms are also discussed. The Monte Carlo Study Given a maximum number of clusters desired, PROC FASTCLUS computes optimum clusters of observations. The default parameters produce clusters with the minimum possible within cluster variance. When clustering univariate data a small number of clusters can explain a large proportion of the target variable's variance. The SAS program listed in Appendix 1 generated 500 samples of 300 and of 1000 cases from each of the uniform, normal, and exponential distributions, as well as from bimodal and trimodal distributions sample, create table, proc step, proc fastclus, macro definition, proc sql, group by, scatter plot, histogram, outlier, macro variable 10
30 Spinning Straw into Gold: Data Quality Tools and Techniques to Get the Most From Your Customer Warehouse Bob Brauer data cleaning, business intelligence, data integration 5
31 SQL Point and Click Presentation Dana Rafiee,
Destiny Corporation (a company)
proc sql, ods html 14
32 Table Lookups: From IF-THEN to Key-Indexing Arthur L. Carpenter One of the more commonly needed operations within SAS programming is to determine the value of one variable based on the value of another. A series of techniques and tools have evolved over the years to make the matching of these values go faster, smoother, and easier. A majority of these techniques require operations such as sorting, searching, and comparing. As it turns out, these types of techniques are some of the more computationally intensive, and consequently an understanding of the operations involved and a careful selection of the specific technique can often save the user a substantial amount of computing resources. This workshop will demonstrate, compare, and contrast the following techniques: IF-THEN, IF-THEN-ELSE, SELECT, user defined formats (PUT function), MERGE, SQL joins, merging with two SET statements, using the KEY= option, use of ARRAYS, and Key-Indexing proc sql, by group processing, merge statement, proc step, data merging, lookup, if-then-else, proc format, put statement, set statement, cpu time 8
33 The Essential Meaning of PROC MEANS: A Beginner's Guide to Data Summarization Using the SAS System Andrew H. Karp proc step, dataset, numeric variable, proc means, output, character variable, sas base, by group processing, proc freq, sas output, proc univariate, where statement, missing value 10
34 The Itsy Bitsy Spider: a Simple SAS-Based Robot Laura Tuttle This paper presents a SAS-based WWW spider used to extract information from an online database. Within the context of this application, I discuss using command-line helper applications within SAS, removing HTML markup tags from input files, dynamic web-query construction, and using %call sysfunc routines to perform error-checking in a WWW information retrieval setting. As users of the SAS language, we are fortunate to have many procedures and modules available to make common data analysis and coding tasks simple. However, every once in a blue moon, a programmer finds herself presented with a task that is extraordinarily complex or just plain bizarre, where the tools at hand don't lend themselves well to creating the application. This paper is not about the former - there is nothing terribly complex about writing a limited-scope spider txt, macro variable, macro loop 5
35 The Ugliest Data I've Ever Met Derek P. Morgan Data management frequently involves interesting ways of doing things with the SAS System. Sometimes, "inter- esting" becomes another way of saying "messy", especially when it comes to processing files from outside of your department. This paper will detail the code used to transform raw data we received into raw data that we could use. At first glance, flat file-to-flat file translation wouldn't seem to be a problem. However, this is a list of the programming methods necessary to perform this par- ticular transformation: Automation of a process using SAS System macros Reading from and writing to multiple files with a single DATA STEP Using the SAS System to write its own code "on the fly" Adding sequence numbers for new records in a data set "Merging" without sorting "Arrays" of SAS System macro variables The code in this real-life production application will be used to illustrate each of these methods, and to show the reasoning behind their use dataset, macro variable, flat file, proc step, input statement, proc transpose 6
36 The Utter "Simplicity?" of the TABULATE Procedure - The Final Chapter? Daniel E. Bruns class variable, proc step, proc tabulate, label statement 8
37 The Utter Simplicity of the TABULATE Procedure Daniel E. Bruns When I first started using SAS in a university environment in 1972, I was very excited about how much SAS could help me. As I learned more and moved to the real world of the employeed I needed more flexibility in my reporting - PROC PRINT had some and PROC MEANS and FREQ had basically none. And SUMMARY needed too much DATA STEP manipulation. What I needed was a marriage of all these with the flexibility to control what I wanted where and how! Thank the Gods for PROC TABULATE!! I was able to produce reports from massive amounts of data in practically any way I needed! The power of being able to simply rearrange a few variable names and change the complete look of the report was great. But then I also found a few things that were not so simple-like percentages proc step, proc tabulate, sas base, label statement, proc freq 7
38 Using Alternate Statistics and PROC Tabulate Jim Edgington PROC TABULATE is one of the most powerful and versatile of the SAS reporting tools. It is one of very few SAS procedures that allows you to both compute statistics and have extensive control over the display of the results. It is also compatible with the ODS report delivery system built into version 8 SAS. Even with these advantages, there are limits to what the basic PROC can do. PROC TABULATE has a limited set of default statistics that do include some commonly used descriptive statistics, including median. It also is limited to only four types of denominators for various percentage calculations. Finally, until version 8, PROC TABULATE had to be used in isolation, as the results were trapped in the output and not available to the rest of the SAS program proc step, proc tabulate, proc sort, class variable 5
39 Using The SAS Mixed Procedure to Analyze the Repeated Measures Data Hongsen Zhou proc mixed, proc step, longitudinal data, covariance, repeated measures, covariance structure, proc genmod, fixed effects, likelihood function, proc glm 9
40 Version 8.2 Changes and Enhancements Dana Rafiee,
Destiny Corporation (a company)
proc step, point= option, proc gam, qq plot 16
41 Visualizing Census Data Xanthippe Stevens,
Larry Hoyle
A tt h eP o l i c yR e s e a r c hI n s t i t u t ew eu s eav a r i e t y of SAS techniques to create graphical displays of Census data. These techniques include PROC GPLOT, PROC GMAP (choro and prism), PROC GSLIDE, DATA STEP Graphics Interface, and DATA STEP writing HTML. We also use a variety of graphics device drivers and ODS. This paper displays a number of example graphics and associated SAS code. Racial Data with PROC GPLOT The 2000 Census allowed people to select one or more racial categories. In order to plot these data with historical data, we used the range of people selecting one race alone and those people plus those who reported that race in combination with any other race. Figure 1 - Graph of American Indian or Alaskan Native Population in Cowley County, Kansas. To produce these graphs in SAS, we used macro variables to record the maximum value and the maximum value divided by four to be used to scale the graph proc step, proc gmap 11
42 Work Process from Data Management to Final Analysis File Creation (Scope: Adverse Events) Tony T. Salehi The development process for generating analysis files varies quite often between projects and even between studies within projects. This paper is intended to discuss a systematic, macro- utilized approach in SAS that generates the final analysis files. There are essentially three stages in the process flow from raw datasets to final analysis files: merging repeating and non- repeating datasets, adding treatment and demographic variables to the analysis files, and incorporating specific data manipulations to the analysis files. The adverse events data will be used as an example for this process final analysis, adverse events, in= 4
43 Working with SAS Date and Time Functions Andrew H. Karp sysdate9, datetime variable, date variable, datepart, dataset, time variable, numeric variable, raw data, proc freq, proc step, datetime, time series analysis, if-then-else, mdy, time, subsetting if 7

Back to Conf go 2002 go 2000

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.