PNWSUG 2008 Papers - Index
30 papers. Source: PNWSUG (Pacific Northwest SAS Users Group) conference proceedings.
| # | Title× | Authors× | Abstract× | Keywords× | Extras | Pages |
|---|---|---|---|---|---|---|
| 1 | A Sampler of What's New in Base SAS 9.2 | Jason Secosky | Coding with SAS is easier than ever with SAS 9.2. This paper highlights the top new features and performance improvements in DATA STEP, PROC SQL, and PROC SORT. Included are writing functions with DATA STEP syntax, improved performance when accessing an external database from PROC SQL, more intuitive and culturally acceptable sorting with PROC SORT, and several "Top 10" SASware Ballot items |
proc step, proc sql, proc sort, study day, put statement, where statement, proc format, proc fcmp, hash table, do loop, sas function, character variable, sas programmer, macro loop, infile statement, sas log, set statement, sas base, txt, user-defined format, work library, macro definition | 15 | |
| 2 | An Optimal Way to Import Excel Worksheets into PC SAS | Nathaniel Derby | There are many ways to import data from Microsoft R⃝ EXCEL R⃝ into PC SAS R⃝, and the "optimal" way often depends upon the project and the programmer's preference. However, by adhering to clear definitions of three generally desirable properties (precision, flexibility and automation), we can agree upon a definition of "optimal". We then propose a solution that fulfills these three properties. This is most appropriate for situations where data from a large set of EXCEL worksheets is periodically loaded into SAS, where each EXCEL worksheet has the same structure from load to load (although the worksheets can have different structures from each other). This proposed solution involves an easily used macro which works on all versions of PC SAS, Windows R⃝ and EXCEL, and which is freely available for downloading. Keywords: SAS, DDE, EXCEL, Export, Import, X4ML. This paper is an excerpt1 from Derby (2008b), which may be updated and can be downloaded for more information |
excel, macro variable | 10 | |
| 3 | Analyzing Healthcare Costs with SAS: An Intern's Experience | Ben Keefer | The goal of this analysis was to measure the effect of Regence's wellness program on healthcare claims costs. This work will serve as a framework to establish formal statistical models of Return on Investment (ROI) and will indicate which activities yield the highest positive return. ROI is defined here as the ratio of savings in claims costs from participation to the program's costs in dollars (savings / costs). A positive ROI simply means that every dollar spent on the wellness programs generates more than a dollar's worth of savings. Complications and Insights While the ROI equation is simple and straightforward, the definition of these m etrics is complicated. To understand "savings" associated with the wellness program, we must explore how healthcare costs differ depending on participation. Two questions quickly become apparent | proc step, proc univariate | 5 | |
| 4 | Applied Aspects of Using Multiple Imputation in Clinical Data | Christina Gullion | Use of multiple imputation to replace missing outcomes in clinical research is a relatively new approach. Thus, there is little information published on how to obtain and combine the types of estimates needed to use multiple imputation in analysis of results from many clinical trials. This presentation summarizes procedures developed, or adapted from other sources, using SAS, through the stages of preparation of the data for imputation, processing after imputation, setting up output of SAS PROCs (e.g., GLM, REG, MIXED) for processing by PROC MIANALYZE, and other routines we developed for output not processed by PROC MIANALYZE. This paper does not report on the efficiency or unbiasedness of the results. Rather, we focus on providing guidance on the use of SAS by clinical investigators in order to yield meaningful results from analysis of a multiply-imputed dataset |
imputation, proc step, proc mianalyze, multiple imputation, missing value, proc mi, correlation, covariance, clinical trial, proc freq, class variable, f-test, proc genmod, binary variable, regression analysis | 7 | |
| 5 | Basic SAS PROCedures for Generating Quick Results | Kirk Paul Lafler | As IT professionals, saving time is critical. So is delivering timely and quality looking reports and information to management, end users, and customers. The SAS System provides numerous "canned" PROCedures for generating quick results to take care of these needs ... and more. Attendees will learn how basic SAS PROCedures such as PRINT and FORMS produce detail reports; CHART, FREQ, MEANS, PLOT, and UNIVARIATE summarize and create graphical, tabular, and statistical output; and SORT and DATASETS to manipulate one or more columns of data and manage data libraries; Additional topics such as useful techniques for informing the SAS System which data set to use as input to a procedure, how to subset data using a WHERE statement (or WHERE= clause), and how to perform BY-group processing to separate data into groups of like information will be explored | proc step, proc means, numeric variable, libname statement, proc freq, proc sort, proc univariate | 16 | |
| 6 | Collaborate with SAS Users Around the World with sasCommunity.org | Kirk Paul Lafler | sasCommunity.org is an exciting and new collaborative online community for SAS users worldwide. This presentation explores a few of the exciting features found in this virtual community. Topics include a Wiki-based web site where anyone can add or change content on any page on the web site, the exchange of ideas on the Blogger's Corner, viewing scheduled and unscheduled events, using the built-in search facility to locate all wiki-content, reading and responding to specific forum topics, and much more | 10 | ||
| 7 | Creating Your Own Worksheet Formats in exportToXL | Nathaniel Derby | %exportToXL is a freely available SAS R⃝ macro which allows the user to create custom-formatted EXCEL R⃝ worksheets, using Dynamic Data Exchange (DDE). It works on all versions of PC Base SAS, Windows, and EXCEL. Using this macro, the user can create custom-formatted worksheets by either exporting the SAS data onto a pre-formatted EXCEL worksheet, or by using a worksheet format. This is a set of commands which tells EXCEL how to format certain aspects of a worksheet such as font sizes and column widths. While %exportToXL comes with a few different pre-programmed worksheet formats, any programmer with some basic knowledge of the SAS macro language and DDE commands can make his/her own. This paper is a tutorial about how to do just that. Keywords: SAS, DDE, EXCEL, Export, X4ML |
excel, macro facility, macro variable, macro definition | 10 | |
| 8 | Database Vocabulary: Is Your Data Set a Dimension (LookUp) Table, a Fact Table or a Report? | Ronald J. Fehd | This paper provides a review of database vocabulary and design issues. It reviews the categories of variables and tables in a relational database and offers tools to categorize variables in a data set and recode them so that the data set meets the criteria of a database table. | fact table, proc freq, proc step, key, dimension table, foreign key, relational database | 8 | |
| 9 | Effective Graphics Made Simple Using SAS/GRAPH SG Procedures | Dan Heath | There are many types of graphics displays that you might need to create on a daily basis. In SAS 9.2, SAS/ GRAPH introduced a family of new procedures that enable you to create graphs quickly and efficiently. With very little coding effort, you can create effective and attractive graphics that can be as simple as scatter plots and bar charts, or as complex as multi-page classification panels. The new statistical graphics (SG) family of procedures includes SGPLOT, SGPANEL, and SGSCATTER. The SGPLOT procedure creates single-celled graphs that can be constructed with a variety of plot and chart types. The SGPANEL procedure creates paneled graphs in which the paneling is driven by classification variables. The SGSCATTER procedure creates paneled scatter plots and matrices that have support for fitted lines, confidence bands, and computed ellipses. These three procedures are designed with a syntax that is powerful yet concise |
proc sgpanel, scatter plot, proc sgplot, by group processing, box plot, proc step, regression analysis, bar chart | 18 | |
| 10 | Exploring PROC SQL Joins and Join Algorithms | Kirk Paul Lafler | When it comes to performing PROC SQL joins, users supply the names of the tables for joining along with the join conditions, and the PROC SQL optimizer determines which of the available join algorithms to use for performing the join operation. Attendees explore nested loop joins, merge joins, index joins, and hash join algorithms along with selective options to control processing. This presentation illustrates the various join algorithms; join processes including Cartesian Product joins, equijoins, many table joins, and outer joins |
proc sql, where statement, proc step, inner join, data merging, right join | 6 | |
| 11 | Fast and Efficient Updates to Project Deliverables: The Unix/GNU Make Facility as a Cross-Platform Batch Controller for SAS | Stephen Hunt | Concurrent development of interdependent parts is a common feature of complex programming projects. In clinical reporting, statistical summaries rely on derived datasets (which in turn rely on raw data), and are generated by programs often developed simultaneously with derivation programs. This concurrent development pushes components out of sync: programs must be re-run in sequence before updates to raw data and revisions to analysis datasets are reflected in statistical output. As projects grow in scope and complexity, the need to manage file dependencies increases. Lack of synchronization hampers validation and QC activities, imposes redundancy on the production of output, and threatens project timelines. The Unix 'Make' facility (and its cross-platform analogue, the GNU 'Make' facility) is a generalized 'build system' designed to manage dependencies in coding projects | adam dataset, dataset, macro variable, raw data, proc step, data cleaning, proc sql | 12 | |
| 12 | Get Certified as an Advanced SAS Programmer in Six Months or Less! | Gongwei Chen | SAS Certified Advanced Programmer credential is very prestigious worldwide. According to Support.SAS.com, currently there are only about 1,000 individuals in the world who have this credential. Getting this certificate requires passing two certification exams: SAS Base Programming Exam and SAS Advanced Programming Exam. The author of this paper is a SAS Certified Advanced Programmer, who prepared for and passed both exams in four months, scoring 89% on both exams. This paper shares his experiences and strategies in preparing for these exams. With the strategies revealed in this paper, the author believes that the majority of SAS programmers who are beyond the beginning level are capable of passing both exams and becoming certified as SAS Certified Advanced Programmer within six months or less | sas programmer, sas base, advanced sas, macro facility | 9 | |
| 13 | Get Your Hands Dirty Using the FORMAT Procedure | Marge Scerbo | SAS programming avails coders multiple ways to achieve a goal. Many programmers have learned to use DATA STEP statements to add labels to values and/or to group values. While this code works fine, it is often cumbersome, time consuming to construct, and hard to maintain. The same goals may be obtained by using PROC FORMAT. This procedure can often add a great deal of efficiency to your programming, but it may be difficult to get started. Join this hands on workshop to use your hands to learn the basics of the FORMAT procedure. The best way to learn is to use. Once the basics have been covered, we may try our 'hand' at other uses for the procedure |
proc step, proc format, char., if-then-else, missing value, proc freq, label statement | 13 | |
| 14 | Give'm Their Way -- They'll Love It | Sarita Bedge | As many of us know, many users prefer their SAS data in MS EXCEL spreadsheet. And many of us also may know there are numerous ways to deliver it from SAS to EXCEL spreadsheet. The various m ethods de pend on your OS and whether you have SAS/ACCESS or so me other SAS software licen ses and end user's technical ability. Here are few methods…and the list is not comprehensive at all. Export/Import Wizards PROC EXPORT/Import DATA STEP PROC PRINT PROC PRINTTO SAS LIBNAME to EXCEL |
excel, proc step | 9 | |
| 15 | Green Graphics: Multiple Figures on a Page | Paul D. Hamilton | SAS/GRAPH has the ability to produce a wide variety of out put objects. In many applications, the same type of graph may be produced for each of a number of linked data elements. This paper will examine how to seamlessly blend different graphical images into a desired layout. Basic knowledge of the graphical procedures is assumed, but the paper will examine how to store graphical output, how to use prebuilt grids for the layout, how to specify your unique layout, and how to flow graphics into the layout. Finally, a couple of minor tricks will greatly enhance the readability of the whole image |
proc step, proc greplay, by group processing, catalog entry | 5 | |
| 16 | Introduction to Clinical Trials in Pharmaceutical Industry - From a SAS Programmer's Point of View | Wenyun Ji | Presentation | clinical trial, statistical programmer, phase iv, data science, data cleaning, clinical programming, data analyst | 19 | |
| 17 | List Processing Basics: Creating and Using Lists of Macro Variables | Ronald J. Fehd, Arthur L. Carpenter |
List Processing or dynamic programming techniques free up your programming time by eliminating hard coded parameter values. List values can be obtained directly from information you already have, and there is more than one way to do it! Commonly the list is stored as series of macro variables or as a macro variable with a series of values or even as values in a data set. This paper compares and contrasts the basic methods of treating variable values as parameters and placing them into repetitive code. | macro put, macro variable, proc sql, proc step, macro call, call execute, macro loop, macro definition, %if-%then-%else, output delivery system, do loop, proc report, dictionary tables, data step, create table, proc sort, macro function | 20 | |
| 18 | Make Your Data Pop - Embedding Micrographics in PROC REPORT Tables | Peter J. Lund | It's a very common thing to have a table of information included in a report. It's also very common to have graphics, such as bar charts, in the same report. This paper will look at techniques, available in SAS, to place the graphics right in the tables. The SAS/GRAPH Annotate facility will be used to create small, standalone graphics files. The files can then be placed in a "cell" of a table created by PROC REPORT. This technique allows you to create tables that draw the reader's eyes to the important information much more quickly than scanning through all the text |
proc report, proc step, data step, macro variable | 13 | |
| 19 | Making the Most Out of Multilabel Formats | Tasha Chapman | This paper will discuss how to use multilabel formats, how to control the sort order of your formats, how to print rows with missing data, and how to maintain indentations and leading spaces in ODS output. Multilabel formats allow a SAS user to display over-lapping ranges. Among other things, multilabel formats allow a user to create hierarchical formats, showing multiple levels of groups and sub-groups in the same table. Multilabel formats have been available since SAS Version 8, and are currently compatible with PROC TABULATE, PROC MEANS and PROC SUMMARY. Multilabel formats cannot currently be used with PROC REPORT (as of version 9.2). The following examples were created in SAS version 9.1.3, using multilabel formats in PROC TABULATE and output using ODS PDF (SASweb style) |
proc tabulate, proc step, proc format | 6 | |
| 20 | MODIFY The Most Under-Appreciated of the Data Step File Handling Statements | Curtis E. Mack | The MODIFY statement has been part of the SAS set of tools for years, yet it is rarely used. Good programmers have written very complicated code to accomplish that what be done very readily using this statement. It allows changing of a SAS dataset in place using a DATA STEP, without creating a new or replacement dataset. If used correctly, it is faster and more straight-forward than alternatives techniques using SQL. As a result it is indispensable when working in a relational database, be it implemented in SAS or another DBMS. This paper will discuss some of its syntax and uses, focusing on its use as a batch transaction processing tool. It will also detail some of the SAS Access components and options that can enhance its functionality against a non-SAS DBMS. An Introduction to MODIFY MODIFY is a file-handling statement like SET, MERGE, and UPDATE. These statements read input datasets into the DATA STEP data vector. Datasets are any data type members of a SAS library |
modify statement, by group processing, dataset, proc sql, set statement, unique key, foreign key, out=, temporary dataset, infile statement, constraint, key=, key, sysrc, reject records, update statement | 12 | |
| 21 | More To It Than Meets the Eye: Creating Custom Legends That Really Tell a Story | Peter J. Lund | Merriam-Webster defines a legend as "an explanatory list of the symbols on a map or chart." We're used to seeing just that - a table of symbols or a series of colored boxes with a word or two explaining what the symbols or colors mean. In almost every case, this is sufficient. However, what if a legend did more than just explain the colors on the map - what if it had some descriptive or analytic of its own? This paper discusses techniques to build custom legends using the SAS/GRAPH Annotate facility. Two real- world examples will be presented. One creates a typical legend and then adds quantitative, descriptive information to it. The other creates a graphic that not only defines the colors on the map, but also stands alone as an analytic display |
macro call, standard deviation, macro variable, histogram | 16 | |
| 22 | New in SAS 9.2: It's the Little Things that Count | Diane Olson | It is easy getting the word out about the new big things that are added to a release, but the little things often go unsung. These additions to Platform SAS can make your coding life easier. This paper talks about some of those additions, including cross-host migration with PROC MIGRATE, a new statement for indexes, two new additions to the DATA STEP and linguistic sort additions to the utility procedures |
constraint, proc step, options statement, data integrity, set statement, proc contents, proc copy, sas library, data cleaning, proc sort | 7 | |
| 23 | Remembering the Past - Using SAS Keyboard Macros to Enhance Code Documentation | Peter J. Lund | Presentation | comment, macro facility | 15 | |
| 24 | SAS EBI: What Is It, What Will It Do for Me, and Does It Really Work? | Frederick E. Pratter | Increasingly, there are two kinds of SAS programmer s in the world: those who know EBI and those who do not. Although the latter are still better off than COBOL programmers, an exclusive dependence on SAS DATA STEP programming techniques is rapidly becoming inadequate for today's Web-enabled world. This paper will introduce the SAS Business Intelligence Platform, along with some of the most important EBI products, including Web-based applications like Web Report Studio and the Information Delivery Portal, and client-side side utilities such as Information Map Studio and the SAS Management Conso le. The focus will be on what these products do and why you should know about them. Examples of each product will be presented, along with some empirical performance metrics indicating that yes, indeed, they do work. The intended audience includes both SAS programmers and managers who might be considering an investment in the EBI suite |
proc step, sas management console, sas enterprise guide, proc means, class variable, sas batch, sas programmer, proc sql, sample | 17 | |
| 25 | SAS Stat Studio: A Programming Environment for High-End Data Analysts | Maura E. Stokes | SAS Stat Studio 3.1 is new statistical software in SAS 9.2 that is designed to meet the needs of high-end data analysts-innovative problem solvers who are familiar with SAS/STAT and SAS/IML but need more versatility to try outnew methods. Stat Studio provides a rich programming language, called IMLPlus, that blends an interactive matrix language (IML) with the ability to call SAS procedures as functions and to create customized dynamic graphics. For standard tasks, Stat Studio provides the same interactive graphics and statistical capabilities available in SAS/INSIGHT, and so it serves as a programmable successor to SAS/INSIGHT. With Stat Studio, you can build on your familiarity with SAS/STAT or SAS/IML to write programs that explore data, fit models, and relate the results to the data with linked graphics. You can programmatically add legends, curves, maps, or other custom features to plots. You can write interactive analyses that respond to your input to analyze only selected subsets of the data. You can move seamlessly between programming and interactive analysis. |
bootstrap, time series analysis, scatter plot, series plot, proc princomp, sample | 19 | |
| 26 | Stopping Stepwise: Why Stepwise and Similar Selection Methods Are Bad, and What You Should Use | David L. Cassell | A common problem in regression analysis is that of variable selection. Often, you have a large number of potential independent variables, and wish to select among them, perhaps to create a 'best' model. One common method of dealing with this problem is some form of automated procedure, such as forward, backward, or stepwise selection. We show that these methods are not to be recommended, and present better alternatives using PROC GLMSELECT and other methods. Keywords: Regression selection forward backward stepwise glmselect |
regression analysis, data cleaning, stepwise selection, proc step | 7 | |
| 27 | Tips and Tricks for Creating Mult-Sheet Microsoft Excel Workbooks the Easy Way with SAS | Vincent DelGobbo | Transferring SAS data and analytical results between SAS and Microsoft EXCEL can be difficult, especially when SAS is not installed on a Windows platform. This paper discusses using the new XML support in Base SAS-9 software to create multi-sheet Microsoft EXCEL workbooks (versions 2002 and later). You will learn step-by-step techniques for quickly and easily creating attractive multi-sheet EXCEL workbooks that contain your SAS output, and also tips and tricks for working with the ExcelXP ODS tagset. Most importantly, the techniques that are presented in this paper can be used regardless of the platform on which SAS software is installed. You can even use them on a mainframe! The use of SAS server technology is also discussed. Although the title is similar to previous papers by this author, this paper contains new and revised material not previously presented |
excel, xls, proc print, by group processing, sas output, sas base, proc step, proc template, title statement, output delivery system, ods xml, macro definition | 19 | |
| 28 | Using Functions SYSFUNC and IFC to Conditionally Execute Statements in Open Code | Ronald J. Fehd | This paper explains how to conditionally execute statements in open code without having to wrap the code in a macro. This is accomplished by combining the macro function sysfunc with the DATA STEP function IFC. The result is that parameterized include programs gain the power of conditional processing - %if ... %then - for which macros are usually used. This is another in the Journeymen's Tools series. |
macro variable, proc step, macro put | 10 | |
| 29 | Wait Wait, Don't Tell Me… You're Using the Wrong Proc! | David L. Cassell | Statisticians and data analysts frequently have data sets which are difficult to analyze, with characteristics that break the underlying assumptions of the simpler analytical tools. But SAS has tools to handle more complex problems. And, now that SAS has survey analysis procedures, there's no longer a need to pretend that survey samples should be analyzed using non-survey design tools. Now that large databases are commonly sampled for marketing, data mining, and scientific research, the need to use survey analysis procedures is increasing. In this paper, we'll look at several common situations and illustrate how the data are usually analyzed. Then we will show how the data ought to be analyzed using the SAS survey analysis procedures, and what the consequences of choosing the wrong procedures may be | proc step, sample, proc calis, sample weight, proc surveyreg, regression analysis, confidence interval, proc glm, chi-square test, population, proc surveyfreq, proc surveylogistic, proc mixed, proc genmod, proc reg, logistic regression, proc surveymeans, degrees of freedom, logistic distribution, proc means, anova, estimate, random sampling, survey weight, cluster sampling, data science | 11 | |
| 30 | Writing Code in SAS Enterprise Guide | Susan J. Slaughter, Lora D. Delwiche |
If you are a SAS programmer who has avoided using SAS Enterprise Guide because you think it's only good for point-and-click, then this paper is for you. You may be surprised to learn that SAS Enterprise Guide offers programmers many advantages over Display Manager. We'll show you four different ways to run code, explain how SAS Enterprise Guide can help to organize your work, and discuss issues unique to coding in SAS Enterprise Guide. After reading this paper, you just might decide to make SAS Enterprise Guide your primary coding environment | sas enterprise guide, libname statement, sas programmer, proc step | 20 |
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