NESUG 2003 Papers - Index
144 papers. Source: NESUG (Northeast SAS Users Group) conference proceedings.
| # | Title× | Authors× | Abstract× | Keywords× | Extras | Pages |
|---|---|---|---|---|---|---|
| 1 | "ACROSS" in PROC REPORT | Jiang Jin | The PROC REPORT has been known as one of the most powerful and user friendly procedures in clinical trial study |
proc report, proc step, proc transpose, clinical trial, proc sql | 2 | |
| 2 | %ARRAY: Construction and Usage of Arrays of Macro Variables | Ronald J. Fehd | The SAS r⃝ software DATA STEP statement array V 3 $ V1-V3 ('A' 'B' 'C'); produces three character variables named V1, V2, and V3 with corresponding initial values, 'A', 'B', and 'C' and a function, dim(V), which returns a value of 3. Pro- grammers can write simple macro tools for use in larger macro procedures. These tools can duplicate SAS software DATA STEP constructions that the programmer is comfortable using and make reading and comprehension easier. The macro state- ment %ARRAY(V,A B C) produces three macro variables, V1, V2, and V3, with corresponding values: A, B, and C and macro variable DIM V with the value 3. These variables can then be used in the macro iterative loop statement %DO I = 1 %TO &DIM V.; . This paper examines the SAS DATA STEP array statement and discusses the issues in constructing and using arrays of macro-variables. The macro ARRAY takes parameters of either a list of elements or a data set |
macro variable, array, macro facility, proc step, proc sql | 3 | |
| 3 | %WINDOW: Get the Parameters the User Wants and You Need | 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 | |
| 4 | 2002 Economic Census Lands on Mars | Christopher J. Boniface, Christopher W. Diering, Angela E. Meola, Kimberly Wortman |
Every fi ve yea rs the Ce nsus Bu reau's E conomic Dire ctora te looks fo r t oo ls t o improve t he data r eview syst em s for the Ec onom ic C ensus. W e a re alw ays constr ained by large data sets, man y users, short devel opment time, non-stand ardized sum maries and several PROC ess es th at u se t he s am e da ta files. In 1997 w e us ed th e m ultidim ens iona l techn olog y to quickly su mmarize d ata an d p rovide fle xible multidim ensional reports to our analysts. However, our su b ta bles w ithin our multi dimensional databases were huge an d slow to sur face, extra coding was needed to f it our non -sta nda rd su mmaries into PR OC MD DB a nd w e ha d an entirely se para te process to pr oduc e t he same exact summ aries for publi cati on. So , wh at d id we do? W e look ed a gain to SAS for an swers |
where statement, dataset, macro variable, class variable, data review, txt, data step, excel | 10 | |
| 5 | A Beginner's Guide to Incorporating SAS Output into Microsoft Office Applications | Vincent DelGobbo | This paper provides techniques for incorporating the output from SAS software, regardless of the install platform, in Microsoft EXCEL and Word (versions 2000 and later). The paper focuses on the use of the Output Delivery System (ODS) and SAS servers |
excel, proc step, proc tabulate, ods html, sample, output delivery system, sas output, proc print, macro variable | 8 | |
| 6 | A Few Macro Techniques to Shorten Your Programs | Yunchao (Susan) Tian | goto, dataset, do loop, call symput, macro flow control, macro loop | 2 | ||
| 7 | A Hiker's Guide to Web Development | Steve James | Building web applications using SAS/INTRNET Application Dispatcher is a lot like hiking. At first, it is hard. You struggle getting used to your equipment and the new terrain. Then it gets easy as you settle into a pace you like and get into a rhythm. Then it gets hard again as you tire and have to make that final push towards the finish. However, once you get there you can sit back, relax and enjoy the rewards of your efforts. If all that is true, then how should you do it? What can you expect along the way? What kind of equipment do you need and whom should you take with you? This paper is a trail guide for developing web applications with Application Dispatcher and describes the process, pitfalls and practical issues that you can expect to encounter. Specific topics that are covered include system analysis and design, learning Application Dispatcher, coding issues, usability, security, and final deployment |
proc step, data cleaning, data validation rules, output delivery system, dataset, excel | 12 | |
| 8 | A Microsoft Access Based System, Using SAS as a Background Number Cruncher | David M. Kiasi | In Access based systems, using Visual Basic for Applications (VBA) to perform intensive number crunching is cumbersome and slow. Using ODBC, I have managed to use SAS as a background processing tool to perform these intricate calculations quickly. Also, the development time with SAS is far less than it would be with VBA for this use. In this application SAS works in the background and never interfaces directly with the user | sas batch, libname statement | 5 | |
| 9 | A Partitioning Method for Processing Large Data Files | Anshuman Panigrahi, John R. Gerlach |
Assume that you have a very large data file (over 40 million records) representing physician-level prescription data that contains the number of times a physician writes a prescription belonging to a drug class (e.g., pain medications). In this cohort, there are over 500 drugs, spanning several markets, involving over 200 drug classes, denoted by a USC code. For each drug class, you wish to perform a ranking of any physician based on the number of prescriptions written with respect to a drug class. Unfortunately, the volume of data prohibits the usual by-group processing. This paper explains a sequential - partitioning method that facilitates the processing of large data files, such as the aforementioned file. Also, this paper explains a clever method for assigning a rank value for any physician for a given drug class | dataset, macro loop, do loop, if-then-else, macro facility, macro variable, proc sql, sample, proc step, proc freq, macro definition | 4 | |
| 10 | A Pinch of SAS, a Fraction of HTML, and a Touch of JavaScript Serve Up a Grand Recipe | Jonah P. Turner | Proper i ngredients, preci se m easurements, and personal attention all contribute significantly to the creation of a perfect meal - the sam e can be said about i mplementing an effective software application. B y knowi ng some fundamental SAS, HTML, and JavaScri pt el ements and applying the right touch of each medium, one can easily develop practical and i nsightful program s for managing business system s. More speci fically, by m aking use of t hese t hree l anguages, one can design valuable web-based solutions that exploit a number of technologies the Internet has to offer. This paper will explain how basic components of SAS, HTML, and JavaScri pt can be fused together for i mplementing rat her useful appl ications that function via the Internet. A background discussion on the SAS/INTRNET software will shed light on the advantages of integrating Int ernet technologies for realizing business sol utions |
ods html, macro variable, output delivery system, proc sql | 6 | |
| 11 | A SAS Macro for the Controlled Rounding of One- and Two-Dimensional Tables of Real Numbers | Robert Sands | A SAS Macro is descri bed that so lves the proble m of rounding the re al n umb er entrie s of a tab ular arr ay to adjacent integers while preservi ng the additive struct ure of the t able marginals. The controlled rounding i s also the optimal solution in that the to tal chan ge in the orig ina l numbers is mini mized. Th e M acro is designed to have funct ionali ty s imil ar to t hat provided by the conve ntion al SAS ROUND Function. T his is to say that a "round- off u nit" argument is provi ded which will pro duc e a tab le roun ded to the ne arest integ er, as we ll to the ne arest ten , hund red, ten th or hu ndre dth | proc step, dataset, txt, macro variable, macro definition, conditional do loop, %if-%then-%else | 14 | |
| 12 | A SAS Program for Estimating Incidence Density for Cohort Studies with Multiple Follow-ups | Jinbing Zhang, Xiaofang Yu |
The cohort study is an important clinical design to investigate the incidence density of a disease. However, due to the variation of cohort designs, SAS statis tical package and some other popular statistical packages do not provide any functional unit to directly estimate incidence de nsity for cohort studies with multiple follow-ups. Some SAS programs are developed to estimate person-time, an impor tant component of incidence density. But, there are some lim itations to use these programs. Some require the date of la st observation; some work on complete data; and some others are not computationally efficient. This paper presents an efficient, convenient, and flexible SAS program for estimating raw incidence density for cohort studies multiple follow-ups. The program develops a practical classification technique for est imating raw incidence density. Most importantly, the program is able to estimate incidence density dynamically | confidence interval, confidence level, data step, binomial distribution, poisson distribution, baseline, macro loop, missing value, macro facility, %macro parameters, macro definition | 5 | |
| 13 | A Serious Look at Macro Quoting | H. Ian Whitlock | You can make decisions macro with %IF and do looping with %DO-loops. But there are times when you don't understand why the beast does what it does. Now what? It is time to come to this presentation. It is time to take a serious look at macro quoting. I have often said that anyone who thinks macro quoting is simple, probably doesn't understand the problem; so I have been there. Now I want to explain how simple it is. Everything relevant to this paper is in SAS/BASE. Although the examples have been executed on a PC under Windows, the examples are independent of any particular operating system wi th the exception of file definitions. You might think this paper is a compendium of all the macro quoting functions. It is not. It is more about the subject of macro quoting th an about the macro quoting functions |
macro facility, macro quoting function, macro variable, macro put, &variable, macro function, macro definition, put statement, %if-%then-%else, macro call, macro loop | 10 | |
| 14 | A Simple and Efficient Approach to the Cross-tabulation of Large SAS Data Sets | Robert Sands, Mark E. Asiala |
A simple approach is described which employs the SAS PROC MEANS procedure to produce an eight-variable cross-tabulation of a several hundred million observation data set in abo ut 20 minutes. A large, arbitrary g roup of dat a set variable s can be rapidly cross-tabbed without pre-sorting the data set. An easy-to- review results data set is produced representing a sparse matrix of cross-tab cell observations which can then be input to subsequent cross-tabs futher collapsing the data. This flex ible and straightforward approach saves both time and space. Furthermore, SAS data steps and procedures can refine the output for analysis and presentation |
dataset, proc step, macro definition, %if-%then-%else | 2 | |
| 15 | A Step-By-Step Illustration of Building a Data Analysis Tool with Macros | Diana Wobus, John Charles Gober |
Grouping observations in a data set into subgroups according to their percentiles based on a continuous variable (expense, age, or score) and then generating statistics for each subgroup can be tedious. By applying macros appropriately, however, one can achieve greater program efficiency and error-proof results. This paper illustrates a rational process of building a data analysis tool that demonstrates the power and efficiency of macros. By describing three approaches that we employed in a real life project, this paper shows how each one improves the tool as our methodology develops. Using a step-by-step illustration of macros in DATA steps and statistical procedures to solve the problem, this paper helps SAS programmers who have just begun tapping into "mysterious" macro programming to learn about some of the use functions of macros. It also demonstrates the rationales that led us to the results we desired | proc step, proc univariate, macro variable, proc means, proc rank, macro definition | 10 | |
| 16 | A Tutorial on the SAS Macro Language | John J. Cohen | The SAS Macro language is another language that rests on top of regular SAS code. If used properly, it can make programming easier and more fun. However, not every program is improved by using macros. Furthermore, it is another language syntax to learn, and can create problems in debugging programs that are even more entertaining than those offered by regular SAS. We will discuss using macros as code generators , saving repetitive and tedious effort, for passing parameters through a program to avoid hard coding values, and to pass code fragments, thereby making certain tasks easier than using regular SAS alone. Macros facilitate conditional execution and can be used to create program modules that can be standardized and re-used throughout your organization. Finally, macros can help us create interactive systems in the absence of SAS/AF. When we are done, you will know the difference between a macro, a macro variable, a macro statement, and a macro function |
macro variable, macro definition, macro facility, macro loop, do loop, %if-%then-%else, sample, macro call, macro function, proc step | 6 | |
| 17 | A Web-Enabled Graphics Library | Denise Sarkozy, Robert Goldberg-Alberts, Donald Trevoy |
sample, proc sort | 3 | ||
| 18 | Advanced Programming Techniques for Working with Color in SAS Software | Perry Watts | Programming issues associated with color are defined by "going under the hood" of the NESUG 15 poster entitled Working with RGB and HLS Color Coding Systems in SASÒ Software. Since colors are expressed as hexadecimals in SAS, the numbering system is reviewed at the outset. Next HEX formats are described along with a core set of V8 conversion macros. The core macros use the HEX formats to recast color codes in different numbering and color systems. For completeness, the SAS-supplied Version 9 color utility macros that are similar to the V8 core macros are also described. An effort is made to simplify source code that is described in the paper. For example, lists of macro variables representing individual colors in a chart can be replaced by a single format in Version 8.2 that is invoked from a DEFINE statement in PROC REPORT. The procedure is exercised in ODS with output to an HTML file |
macro variable, proc report, proc step, macro function, select, output, autocall macro, macro call, sample, data step, by group processing, macro facility, macro definition, macro loop | 18 | |
| 19 | Air Quality Monitoring: A Robust Heteroscedastic Statistic for Testing the Equality of Transformed Pollutant Means | Ling Huang, Paul W. Johnson |
Nitrogen dioxide (ppb) measurements are gathered on a daily basis by the air quality monitoring networks on behalf of the Department of the Environment, Transport and the Regions (DETR). Other pollutants measured include sulphur dioxide (ppb) and ozone (ppb). The United Kingdom 'National Air Quality Information Archive' can be found at URL: http://www.airquality.co.uk. The Coventry Centre provides daily data for these pollutants. Their data is representative of other centres. A SAS Macro was developed in order to find Yeo-Johnson power transformations for the pollutant data. The method can be used without restriction on the data. The SAS macro is available at http://pages.prodigy.net/johnsonp12/aqm1. A SAS Macro was then developed in order to provide a robust heteroscedastic statistic for testing the equality of the transformed p ollutant m eans. The SAS macro is available for download from the author at http://pages.prodigy.net/johnsonp12/aqm2 | likelihood function, histogram, macro definition, sample | 7 | |
| 20 | All Things to All People: A User-defined Report in SAS/AF | Aileen Bennett | You have built a SAS/AF application to maintain metadata on the survey data you process. The metadata are in a set of SAS data sets which can be joined with each other on various keys, much like a relational database. The users can add, delete, and browse the data. They also want to produce reports. There are some pre-defined reports, but they also want a user-defined report which can have any data from any of the data sets. They want the capability to choose data sets, specify a WHERE clause for each one, choose variables and a sort order, and store the report definition. You have to program the report to join the data sets properly and inform the user if he selected an unworkable combination of data sets. How? Use SCL lists and work from the data set relationship diagram |
where statement, create table, proc sort, proc step | 6 | |
| 21 | An Animated Guide: Power Merges: The Format Table Lookup | Russell M. Lavery | ! " " " " # $% & ! ! ' ( ! 2) ! 3) ! " #$%&'(' ! )& + ,--. ,/001 ,,,,203--. .....,11 1,,441, //11 ,/,0. 11111,..1 5#6 ))$7 6 8 7 ( 88)9778 )$ ,--. ,/001 1,,441, 9 "&78 ) :6% 8 ;; ( ;;<'(' )) "8 &" 9&) %%89& ) 7 )&,689 5&'=' &'=6') &$ 898 )& 1,,4 ,--. 7 9 6 ) ) !)88& 7 9> :7 7 88&8 1 2 34 5 5& 8+ Figure 1 ?5 ?5 ! "+ ?#@+ ?5$%&'(' ! )&?5 * +9 ,,,,203--. /////203..1 1,,441, //11 ,/,0. 111111,,4 | proc step, proc format, lookup, format statement, proc print, if-then-else, char. | 10 | |
| 22 | An Animated Guide: The Logic of Hypothesis Testing and ANOVA | Russell M. Lavery | This presentation will show how easy it is to understand statistical reasoning when the examples are familiar to the listener | anova, p-value, hypothesis testing, type i error, f-test | 7 | |
| 23 | An Introduction to PERL Regular Expressions in SAS V9 | Ronald P. Cody | prxparse, prxmatch, prxposn | 16 | ||
| 24 | Ask and Ye Shall Receive: Getting the Most from SAS-L | Howard L. Schreier | SAS-L is a worldwide online community of SAS soft- ware users. Participants discuss various aspects of SAS and help one another solve SAS-related problems. This paper offers a number of suggestions, primarily directed at those asking questions on SAS-L. Following these sugges- tions may make questions clearer and easier to analyze, thus increasing the chances that prompt, appropriate, and useful responses will follow | proc step, by group processing | 6 | |
| 25 | Audit Trails of SAS Data Set Changes -- An Overview | Maria Y. Reiss | SAS/GE2PROGRAMMERS often have to modify data in SAS data sets. When modifying data, it is desirable to create an audit trail of the changes made. This paper presents an overview of the techniques commonly used to create audit trails for changes to SAS data sets. The code contained in this paper was developed using version 8.2 of SAS. The intended audience of this paper is beginner and intermediate SAS programmers |
audit trail, proc compare, proc step, dataset, clinical research, proc sql | 9 | |
| 26 | Automating SAS Data Management Tasks | Catherine Buffington | Having SAS users on UNIX servers often requires the system administrator to act as the SAS "data manager". While SAS provides handy utilities like cleanwork that make administration easier, there are often tasks involving SAS data management for which there are no packaged utilities. The data manager often needs to assure the integrity of SAS data sets, insure minimal disk space is used for the storage of data, convert data sets after major releases of SAS software, etc. SAS on UNIX allows for the leveraging of UNIX tools to automate data management tasks. This paper focuses on using the UNIX commands in conjunction with SAS macros and SAS data dictionaries to automate these tasks | proc sql, data governance, dataset, proc step, call symput, macro variable, macro definition | 2 | |
| 27 | Backwards Manual Selection (%bms): A Macro for Selecting Logistic Regression Models to Address Epidemiological Research Questions | Janice Hegewald, Anette Pfahlberg, Wolfgang Uter |
Multivariate logistic regression is often used within the field of epidemiology to describe the relationship between disease occurrence and an exposure sus- pected to be associated with the disease. Additional effects are added to the model if they confound the disease-exposure relationship. Traditional model selection procedures, which focus on selecting models that are good predictors of the dependent variables, are not necessarily the most appropriate for epidemiological research questions. The proposed backwards-manual selection macro, %bms, attempts to select logistic regression models more suitable for epidemiological research. The macro consists of two main stages, (1) backwards selection of effect-modifiers, and (2) selection of main effects based on their confounding potential and influence on overall model-fit | logistic distribution, logistic regression, regression analysis, proc logistic, proc step, predictor variable, macro variable, significance level, binomial distribution, main effect, response variable, feature selection | 5 | |
| 28 | Basic Usage of SAS/ETS' & SAS/STAT' to Forecast Time Series | Douglas L. McAllaster | This paper is a tutorial on using SAS/ETS to forecast a times series. We explain how PROC FORECAST generates forecasts using the three main exponential smoothing methods (single, Holt's, & Winters') and the stepwise auto-regressive method. Next, we explain usage of PROC REG (or better, PROC AUTOREG) to forecast a seasonal times series using indicator variables. Finally, we briefly overview of the capabilities and complications of using PROC ARIMA |
proc step, proc esm, regression analysis, correlation, time series analysis, proc autoreg, trend, proc reg, proc forecast, proc arima, excel, predictor variable | 10 | |
| 29 | Better Information Through Better Displays: The Full Monty | Suzanne Cross | This is a no-holds barred approach using the full range of SAS procedures to produce a one-page dashboard of visual displays to support decision-making in a university setting. The changing demography of the student population together with a wealth of technology-enabled instructional methods have enabled faculty to design coursework to effectively teach a diverse group of students. The usual student roster is inadequate and can be replaced by a student profile rich with graphics developed with ODS and SAS/GRAPH procedures using the results of SAS/STAT procedures with a little help from the REPORT procedure |
proc report, data science | 4 | |
| 30 | Building a Web Based EIS for Data Analysis | Ed Confer | Web based reporting has enhanced the ability of management to interface with data in a point and click architecture. In order to build an effective front-end, a structural framework design must be built on flexibility and efficiency. The data to be extracted should be stored as a collection table, to ensure that timely and accurate data can be extracted from a single source. The program should be written so that any number of parameters can be filtered in the extraction. The Web and SAS Software can deliver this reporting capability to management. Utilizing SAS Software as the data extraction tool, the user can select any number of data conditions based on reporting requirements. The data can be presented in multiple methods, such as a graph depicting data points over time, or a tabular report based on summary data. The reporting tool can be designed to provide to the user a variety of reporting capabilities and data filters | proc sql, proc step, where statement, macro definition | 7 | |
| 31 | Building an Actuarial System with SAS/Warehouse Administrator | Dominic Roy | Context SAS/WAREHOUSE Administrator is an advanced code gen- eration tool used in buildi ng data w arehouses. In our pro- ject, it w as used to support and document the develop- ment of a large actuarial system. T his paper discusses the business decision process that led to the selection of this software, the architecture of the sy stem we built and the user interface to the system. The "Société de l'assurance automobile du Québec" (SAAQ) is responsible for the Public Automobile Insurance Plan in the province of Quebec . This plan is a no-fault in- surance regime that protects all victims of motor vehicle accidents. It is a mandatory plan for all drivers and all ve- hicles. It covers Quebec's citizens both on provincial roads as well as on roads outside the province. It also protects non-Quebec citizens while they are using provincial roads. The plan is financed with driver's license and auto registra- tion fees |
data validation rules, dataset | 5 | |
| 32 | Building an Online Entry Form with WebAF (and a Little Java) | Frederick E. Pratter | dataset, libname statement | 21 | ||
| 33 | Building Metadata Repository for Data Sets | Haiping Luo, Haining Luo |
Metadata describe SAS dataset features, such as dataset name, physical location, creation date, last modified date, number of observations, variable names, and so on. A metadata repository gives users quick access to many datasets' features without opening those datasets. This paper demonstrates macros to automate the process of building and reporting metadata repositories. Macro %getmeta allows a programmer to document metadata for a dataset and append these metadata to a metadata repository of other datasets. Macro %viewmeta generates a metadata report from a metadata repository as a comma- separated file. Users may view the report through MS EXCEL. The metadata repository includes over 50 variables, 42 of them come from 'PROC CONTENTS' output, and the rest come from a macro %getfreq and programmer's input. The output from 'PROC CONTENTS' describes the features of datasets. The output from %getfreq lists the most frequent values or value ranges of all variables of the dataset |
mode, proc freq, proc step, macro call, macro variable, proc contents, excel, macro definition, %if-%then-%else | 4 | |
| 34 | Changing that Pesky Datetime to a Date | Stanley E. Fogleman | Databases and spreadsheets commonly store both the date and the time in a single field. Often, the time field is initialized to midnight. Here is a simple macro that can change a DATETIME to a date |
sysdate9, excel, date variable | 2 | |
| 35 | Comparative Efficiency of SQL and Base Code When Reading from Database Tables and Existing Data Sets | Steven H. Feder | In this paper we compare SQL code to BASE code, looking at both DATA STEP and PROC code. We make these comparisons reading data from both DB2 tables and existing SAS data sets |
proc sql, proc step, proc sort, create table, proc freq | 5 | |
| 36 | Computation of Medicare Part A Skilled Nursing Facility Reimbursement Rates | Adeline J. Wilcox | For a Skilled Nursing Facility (SNF) resident covered by Medicare Part A in Fiscal Year (FY) 2002, the per diem rate will be one of 12,753 values depending on the resident's Resource Utilization Group and the geographic location of the SNF. This SAS application follows the Department of Health and Human Services, Centers for Medicare and Medicaid Services Final Rule for FY2002 Prospective Payment of Skilled Nursing Facilities published in the Federal Register on 31Jul2001. Processing of the text version of this Federal Register publication of the final rule creates files to read into SAS. Variables read from the Federal Register Final Rule are labor and non-labor rates, wage indices, and rate add-ons. Using the Social Security Administration Metropolitan Statistical Areas, SAS user-defined FORMATs lookup all variables needed for computation of the per diem PPS rate. This SAS program also handles a mid-fiscal year Correction to several wage indices | do loop, txt, user-defined format, proc step, macro loop | 5 | |
| 37 | Connecting the SAS System to the Web: An Introduction to SAS/IntrNet Application Dispatcher | Vincent L. Timbers | There are several methods for accessing the SAS System through the Web to provide Web-enabled information- delivery solutions. The Application Dispatcher is a SAS System server that executes SAS programs from a Web browser, which is easily implemented by those with knowledge of the SAS DATA STEP and Procedures. This makes it a good method for moving existing SAS programs to the Web. This paper will provide an introduction to Application Dispatcher including installation and the development of Web pages and SAS programs that connect the SAS System to the Web. 1 |
macro variable, sample, proc step, proc report, output delivery system, where statement, ods html, proc gchart | 8 | |
| 38 | Connecting the SAS System to the Web: An Introduction to SAS/IntrNet Application Dispatcher | Vincent L. Timbers | There are several methods for accessing the SAS System through the Web to provide Web-enabled information- delivery solutions. The Application Dispatcher is a SAS System server that executes SAS programs from a Web browser, which is easily implemented by those with knowledge of the SAS DATA STEP and Procedures. This makes it a good method for moving existing SAS programs to the Web. This paper will provide an introduction to Application Dispatcher including installation and the development of Web pages and SAS programs that connect the SAS System to the Web. 1 |
macro variable, sample, proc step, proc report, output delivery system, where statement, ods html, proc gchart | 8 | |
| 39 | Create All Those Tables and Call PROC SQL Once! | Stanley E. Fogleman | When creating extracts for clinical trial reporting, it is often the case that more than one dataset is created at a time. There is a great deal of overhead involved in calling or exiting PROC SQL (or many other SAS procedures, for that matter). The following presents a methodology for creating multiple datasets from one invocation of PROC SQL |
proc sql, proc step, macro loop, macro definition, macro conditional, create table | 2 | |
| 40 | Creating Dynamic Web Based Reporting | Dana Rafiee | In this hands on workshop, we'll demonstrate and discuss how to take a standard or adhoc report and turn it into a web based report that is available on demand in your organization. In the workshop, attendees will modify an existing report and display the results in various web based formats, including HTML, PDF and RTF | options statement, proc step | 7 | |
| 41 | Creating Effective Graphical User Interfaces Using Version 8 SAS/AF | Anders Longthorne | Improving access to an organization's database can often result in large gains in productivity and therefore lead to improved response time to customers. This paper will show how this goal can be achieved using applications developed with SAS/AF software. Applications implemented using SAS/AF can be used by all workers within an organization, including those who do not have SAS programming experience |
catalog, sas base | 9 | |
| 42 | Creepy Characters | Elizabeth Axelrod | SAS formats are extremely useful for categorizing and grouping ranges of values, but there are situations that can yield unexpected results. This paper illustrates several very creepy results, and cautions the user when identifying character ranges | char., proc format | 2 | |
| 43 | CSV: A Macro Which Writes SAS Programs to Read csv-Files | Victor Kamensky | Macro CSV converts any CSV file into a SAS data set. A SAS program to do this conversion is the output. The user can later modify the program. Only BASE SAS is needed |
excel, numeric variable, character variable, proc step, proc import, macro parameter, %macro parameters, proc transpose, dataset | 8 | |
| 44 | Danger: MERGE Ahead! Warning: BY Variable with Multiple Lengths! | Robert Virgile | data step, merge statement, length statement, macro facility, proc sql, macro call, select | 6 | ||
| 45 | Data Quality and the Big 'D' | Elizabeth Axelrod | With the passage of time, it becomes more and more diffi- cult to recall or recover the process, data, or results of a project. With the new Federal Data Quality Act, it is even more critical that the entire data process be repeatable. This paper presents an overview of the whys and hows of docu- menting an entire data process - the many steps involved in creating deliverables for government research projects. Examples of how to accomplish this are provided | sas log, batch processing | 3 | |
| 46 | Date/Time Stamped Files and Audit Trails: What Part 11 Compliant SAS Systems are Made Of | Carolyn Dougherty | Clinical data reporting systems are considered high risk with respect to 21 CFR Part 11 compl iance. The FDA's recent change in scope for Part 11 is simply a narrower interpretation; Part 11 is still a requirement and therefore, clinical data reporting systems are still subject to Part 11. Analysis of clinical trial data is usually conducted usin g SAS software. Datasets extracted from a clinical data management database (raw datasets) and submission/analysis datasets are created with SAS . In addition, d ata are summarized using SAS . How can processes followed to produce these datasets and ana lyses be made compliant? Date/time stamped files and audit trails are two key components of Part 11 that, if maintained in the process of reporting clinical trial data, will greatly improve compliance. Maintaining an audit trail for dataset and table gen eration, and tracking date/time stamps of these files and the SAS programs used to create them are not small tasks | audit trail, trial elements, medical history, clinical data, clinical trial, csr, 21 cfr part 11, adverse events | 11 | |
| 47 | Debugging 101 | Peter Knapp | missing value, proc step, proc print, character variable, input statement, run, error message, by group processing, date variable, sum | 14 | ||
| 48 | Deja-vu all Over Again: Common Mistakes by new SAS Users | Bruce F. Gilsen | lag function, if-then-else, sas log, comment, infile statement, macro definition, error message, character variable, input statement, proc step | 6 | ||
| 49 | Developing Custom Analytic Tasks for Enterprise Guide | Joe Carter, Stephen McDaniel, Mike Porter |
With the capability of creating custom add-in tasks being made available in SAS Enterprise Guide version 2.0, it is possible to develop and deploy application tasks that enhance and extend the existing capabilities of Enterprise Guide | sas enterprise guide, proc step, time series analysis, missing value, confidence interval, scatter plot | 6 | |
| 50 | Different Methods for Accessing Non-SAS Data to Build and Incrementally Load That Warehouse. | Ben Cochran | Often SAS users need to access data from non- SAS sources. This is especially true when constructing a SAS data warehouse from other vendors' databases. While this task is not too difficult, sometimes unforeseen challenges can arise, especially when dealing with date values. This tutorial initially takes a look at several | date variable, libname statement, proc sql, proc step, data warehouse, dataset, macro variable, create table | 6 | |
| 51 | Drawing Multiple Random Samples with Replacement | Charles A. DePascale | Using SAS, there are several efficient methods to draw random samples with and without replacement. This paper presents a | sample, binomial distribution, do loop, sample size, proc step, bootstrap, proc freq | 2 | |
| 52 | Dynamic Behavior from Static Web Applications | Ted Durie | Many Web applications, because of the infinite query combinations possible, require dynamic Web solutions. This typically means a programmer/administrator must configure, set- up, and license a Web and application server using SAS/INTRNET software. If, by contrast, the possible query combinations are finite, limited, and manageable, then in some cases static Web tools and macros can be used instead. This approach requires minimal Web set up, and can attain the same functionality as dynamic solutions in some situations |
bar chart, data step, proc step | 6 | |
| 53 | E-Mail OS/390 SAS/MXG Computer Performance Reports in HTML Format | Neal Musitano Jr. | This paper displays a user example to generate and to e-mail an OS/390 SAS report in HTML format. The report is created and e-mailed via a batch job using BASE SAS. Input to this example is from the daily OS/390 SAS/MXG Performance Database, but e-mail reports can be generated from your choice of input data. The example e-mail report is generated as an HMTL file using the Version8.2 BASE SAS Output Display System (ODS) and PROC REPORT. Reports can also be generated via other procedures such as PROC PRINT. Depending on your user(s) requirements, the reports can be created and e-mailed as HTML or plain text. Additionally reports can also be generated and attached to e-mail in various formats i.e. GIFS, Rich Text Format RTF and more |
proc step, sas base, proc print, proc report | 5 | |
| 54 | Enterprise Guide -- A Code-Free Approach to Data Analysis and Reporting | Rachel Jiang, Edward Heaton |
Do you yearn for a code-free approach to data analysis and reporting? Would you like a little help when you need to code procedures that you seldom use? If your answer is "Yes" to either of these questions then SAS Enterprise Guide may be the tool for you. This paper will present SAS Enterprise Guide, a powerful Windows client application. Enterprise Guide is a useful, project-oriented tool that allows you to analyze your data quickly. With a straightforward interface, it helps you accomplish dozens of analytical and reporting tasks with little knowledge of SAS programming. This application enables us ers with transparent access to both SAS and other types of data. Interactive task windows lead users through analyses and summaries, producing high quality SAS graphics. The results can be exported to other Windows applications and the Web. The ability to schedule a project to run later enables users to refresh and distribute reports automatically at regular intervals | sas enterprise guide, proc freq, sas programmer, bar chart | 10 | |
| 55 | Enterprise Guide Version 2.0 | James Blaha | This paper focuses on the basics for using the SAS Enterprise Guide software. The focus is on getting the main concepts of Enterprise Guide use understood. Paper Overview Overview of the Enterprise Guide technology Data that works inside Enterprise Guide Walk through the Basics: (Screen Shots of Enterprise Guide in Action) Conclusion | sas enterprise guide, proc sql, db2 | 6 | |
| 56 | Falling in Love with PROC DATASETS | Mary A. McDonald | proc step, constraint, modify statement, libname statement, sas library, dataset | 2 | ||
| 57 | Focusing Healthcare Quality Improvement Dollars: Using SAS' for Geographic Targeting | Barbara B. Okerson | Like many industries, the health care quality improvement industry is charged with doing more with less. This can only be accomplished by careful scheduling of resources. Geographical differences in adherence to clinical guidelines have been demonstrated and differ by clinical topic. In this paper, geographical analyses are used both to identify regions and providers for healthcare quality improvement targeting and to identify regional quality champions in hospital, physician office, nursing home and home health care settings. SAS, Output Delivery System (ODS) and SAS/GRAPH are used to generate the output. All output is created using SAS software, version 8.2 on a Windows 2000 platform; the output is not intended to be platform specific. The SAS code is included in the paper |
bar chart, proc step, output delivery system | 5 | |
| 58 | Fonts and Special Characters in SAS - It's All Greek to Me | Doug E. Lassman | Fonts and special characters are increasingly more important as SAS output is no longer limited to uniform space type on line printed pages. This paper discusses the use of fonts and special characters with SAS output as well as SAS/GRAPH output. The methods of accessing special characters and using them with SAS output will be covered. Also, the use of fonts and special characters as well as creating fonts in SAS/GRAPH will be explained |
sas output, proc step | 8 | |
| 59 | Forcing SAS/GRAPH Software to Meet My Statistical Needs: A Graphical Presentation of Odds Ratios | Richard M. Mitchell | The calculation of odds ratios is a task that SAS software can provide easily for even the most basic programmer. However, the presentation of this information can become awkward and difficult when a programmer is faced with spec ific requirements that are not readily addressed in SAS/GRAPH. Specifications including the horizontal display of confidence intervals, a varying number of studies, and symbol size generation that is based on varying study populations, may all add to a challenging task. When first presented with this task, a programmer may be tempted to pursue other, more suitable software packages to graphically present the data. But, with some careful thinking and clever programming, the limitations of SAS/GR APH can be overcome by utilizing other SAS tools to prepare statistical data for appropriate graphical presentation |
confidence interval, odds ratio, proc step, proc gplot, macro variable | 6 | |
| 60 | From Plot to Gplot | Wendi L. Wright | This presentatio n starts with a look at basic plotting using PROC PLOT. A dataset with t he dail y number of hits on three websites is used. T he presentation continues w ith examples of ho w to create more inform ative and professional looking plots by adding titles, foot notes, and |
proc step, proc gplot | 10 | |
| 61 | Generating Custom MS EXCEL Spreadsheets Using ODS | Chevell T. Parker | This paper will demonstrate techniques on how to effectively generate files that can be read with Microsoft EXCEL using the Output Delivery System. This paper will further discuss a variety of methods that will allow customization of the every part of the EXCEL file from ODS. Some of the tips provided will work with EXCEL 97, 2000 and 2002. However, much of what is covered especially, the advanced techniques using XML and the special Microsoft Office style properties apply to EXCEL 2000 and 2002 |
excel, ods html, output delivery system, error message, data cleaning | 10 | |
| 62 | Get in Control! - Configuration Management for SAS Projects | John A. Quarantillo | SAS applications development can benefit greatly from the use of Configuration Manage- ment/Source Control software. Not only can multiple developers stay on track, but also they can work independently on different modules without stepping on each other's code or inad- vertently working on the same module simulta- neously. The development area can be config- ured in such a way that each developer has his own independent work area that has a separate copy of all finalized programs, and interim cop- ies of programs assigned to that developer. This paper will illustrate techniques used to develop SAS programs for a production reporting system running against an Oracle database. Develop- ment teams of any size can implement these concepts that structure and organize the devel- opment, testing and deployment of SAS applica- tions | data integrity, oracle | 7 | |
| 63 | How Regular Expressions Really Work | Jack N. Shoemaker | Regular expressions are a powerful and ubiquitous tool for manipulating text and data employed by many Unix editors and utilities like sed, awk, perl, vi, and emacs. This paper is divided into two parts. So the reader can begin to understand how regular expressions work in general, the first part will describe the basic parts of a regular expression: character classes, meta-characters, quantifiers, grouping, and anchoring. The second part will focus on the specific SAS implementation using a real-life example culled from a SAS-L discussion list thread. </P> | variable, data step | 4 | |
| 64 | How to Add a Format Viewer to the SAS Explorer | Randy D. Herbison | proc format, proc step, dataset, data validation rules, data cleaning | 10 | ||
| 65 | How to Link Records Matching on at Least m Out of n Identifying Keys | Xinyu Ji | This paper discusses how to link records matching on at least m out of n identifying keys. That can be easily done by first using the SQL procedure to retrieve all the pairs that match on at least m identifying keys. However the processing time of Cartesian Product joins by PROC SQL may be prohibitively long for a sizable medical treatment data set. An alternative approach is introdu ced, which requires more programming efforts, but less processing time |
proc sql, proc step, cpu time, create table, record linkage, macro definition, sample, proc format | 10 | |
| 66 | Integration of SAS Macros and Web-Based User Interfaces | James Wu | A web-based user interface with integration of SAS macros has been developed and internally used for preparing statistical review aids for incorporation into FDA electronic submissions. Its web-based interface is user-friendly and easy to follow. It also facilitates requirement gathering and quality control, error/warning detection, documentation, and validation. It allows users from different groups to easily communicate with each other and to readily access various resources, such as user instructions, guidelines, examples, templates, and other internal/external links. With the web-based user interface users can produce consistent, efficient, regulatory-compliant, and high quality statistical review aids. The success of the user interface has already been demonstrated in a pilot project for a recent e-submission. KEYWORDS: Web Development, SAS Macros, Statistical Review Aid, FDA Electronic Submissions, and Automation Tools | macro definition, data cleaning | 5 | |
| 67 | Interleaving a Dataset with Itself: How and Why | Howard L. Schreier | When two or more SAS datasets are combined by means of a SET statement and an accompanying BY statement, they are said to be interleaved. It is also possible tto interleave a dataset with itself, and that technique is useful in solving a fairly common type of problem |
by group processing, set statement, dataset, output, proc means | 6 | |
| 68 | Logicals From Libraries: Using Storage as a Bridge Between Sessions | Gary E. Schlegelmilch | In converting legacy systems into SAS, or consolidating systems into an integrated whole, new te chniques are often developed just to accommodate the transition. In a case where a UNIX application needed to communicate file locations from inside the Base SAS program back to the calling script file, we used the common factor - physical storage - as th e common link. This allowed the parent process to retrieve values for variables that were defined in subprocesses, and normally inaccessible by the parent process. The technique uses several SAS functions, in common use in many SAS programs, to access th e data from the calling process. The program then writes the library information to a UNIX script file, which can in turn be executed by the calling process to define the logicals at that level. Although this problem was solved for a UNIX platform; the te chnique used would lend itself to other platforms as well | data step, macro variable | 2 | |
| 69 | Macro Power | H. Ian Whitlock, Quentin McMullen |
The basics of macro programming will be illustrated with many examples to execute and modify. We will start with the concept of a macro as a parame ter-driven unit of code, and then add macro decisions, looping, and variables. In the end we will have macros getting help from other macros to solve significant problems. The student should have a fair idea of what a SAS program looks like, how to write DATA steps, how to execute base SAS programs in the SAS display manager on a PC, and how to work with multiple edit windows. Some understanding of SQL would be handy, but all code will be explained when used | macro loop, macro variable, proc step, proc print, put statement, macro put, proc sql, %if-%then-%else, macro function, macro definition | 3 | |
| 70 | Maintaining and Assigning Rates Dependent on Two Quantitative Variables | John R. Gerlach, MaryEllen Unruh |
Assume that you have several millions credit card customers from which you need to determine whether the customer is worth retaining by offering a lower APR on a credit card. This endeavor employs a methodology that requires, in part, the use of an assigned rate that is based on the customer's scores, which indicate the customer's credit worthiness. The existing SAS program assigns these rates using a grotesque looking nested IF statement. Unfortunately, these rates are updated regularly. Even worse, because these rates are hardcoded in the SAS program, you must tediously change these values according to the Boolean expression that denotes the combination of the scores. This paper explains an efficient way to maintain and assign rates that are dependent on two quantitative (or qualitative) variables | credit card, excel, proc sql, if-then-else, input statement, putn, macro definition | 5 | |
| 71 | Making Publication-Ready Tables Without Typing Numbers | Lisa Friedman | The worst job in producing a manuscript for publication is making the statistical tables. Typing in the numbers is a hassle, and can be dangerous! One wrong number can change the conclusions of a study. With the addition of ODS, SASÒ has improved its output, but the tables produced by ODS alone are not manuscript-ready. However, it is now possible to produce manuscript tables that require minimum editing. One no longer has to type and carefully proofread the statistics. Through the use of ODS, PROC TRANSPOSE, and the style options in PROC PRINT and PROC TABULATE, one can produce tables in rtf format. After that, one only needs to make a few mouse clicks in Microsoft Word or WordPerfect to create beautiful tables for manuscript submission. The author will present several SAS programs to illustrate the ease of producing publication-ready tables without typing the numbers |
proc step, proc print, proc tabulate | 9 | |
| 72 | Making the Most of Version 9 Features | Marje Fecht | Performance improvements are the well-publicized enhancement to Version 9, but what else has changed that impacts your "SAS Tasks"? This Hands On Workshop explores many new Version 9 features including: § new functions that may eliminate the need for complex expressions § changes and additions to informats and formats § procedure enhancements § interface additions and improvements § new Graph capabilities § and more. . . This workshop is beneficial for Version 8 SAS users who are getting started with Version 9 | call symput, call symputx | 3 | |
| 73 | Maps Made Easy Using SAS | Michael S. Zdeb | proc step, proc gmap, if-then-else, data step, output delivery system, ods pdf | 22 | ||
| 74 | Matching Character Variables by Sound: A closer look at SOUNDEX function and Sounds-Like Operator (=*) | Zizhong (James) Fan | Soundex phonetic filing sy stem has been used for tracking genealogical data for many y ears. Ma ny da tabase sy stems, such as Microsoft SQL Se ver, Ora cle, have adopted SOUNDEX as a query tool for retrieving character data based on their phonetic values. SAS has included SOUNDEX function and sounds-like operator (=) since version 6.07 in both DATA STEP and SQL procedure (PROC SQL). But phonetic matching is still relatively new to m any of the SAS professionals. This paper will take a closer look at the function SOUNDEX and the sounds-like operator =. SOUNDEX function can be used to adjust the sensitivity level for matching character values based on their phonetic similarities, whereas the sounds-like operator provides exact phonetic value m atching. Exam ples will be shown to demonstrate the power of these two phonetic matching tools in m atching character values . Differences between SOUNDEX function and sounds-like operator (=*) will also be discussed in table lookup ta sks |
proc sql, proc step | 3 | |
| 75 | Methods of Storing SAS Data into Oracle Tables | Lois Levin | There are several ways to create a DBMS table from a SAS dataset. This paper will discuss the SAS | proc step, cpu time, proc sql, proc append, sas log, label statement, variable, dataset, libname engine, sample, libname statement, create table | 10 | |
| 76 | New Palettes for SAS Version 9 Color Utility Macros | Perry Watts | Version 9 SAS replaces the list of predefined SAS colors with color utility macros that work with a full range of code-to-color mappings in a given color space. Start values for RGB (red | green | blue) codes are three decimals representing percents. They are converted to a hexadecimal value SAS understands. On the other hand, start values for HLS (hue | lightness | saturation) are a combination of degrees and percents. Hue ranges from 0 to 360 degrees whereas lightness and saturation are listed as decimal percents. Again the output from the utility macro is a single hexadecimal value for a given color. Here is how to get CYAN from two of the utility mac ros | proc greplay, proc step | 11 | |
| 77 | Next Generation Warehousing with Version 9 | Gary Mehler | This paper covers the new data warehousing and management services available in Version 9 and shows how they help manage large, real-world ETL development environments. Topics covered include multi-user planning and administration, security management, the development-to-production lifecycle, deployment issues and scheduling, and the integration of data quality management | sas management console, etl developer, proc sql, data cleaning, key, macro definition, sql server, sample, data merging | 10 | |
| 78 | No More Downloading - Using SAS/ODS to Create SAS Graphs and HTML Documents for OS/390 Systems | Patricia Wingfield | With the advent of mainframe web server software, such as IBM's 'OS/390 HTTP (Hypertext Transfer Protocol) Server', and with SAS Release 8's new ODS (Output Delivery System) facility, it is now possible to create HTML documents in OS/390 data sets - PDS/E (Partitioned Data Set/Extended), sequential, or HFS (Hierarchical File System). Graphs and web pages stored in these OS/390 data sets can be viewed via a web browser. It is no longer necessary to download the documents to another type of platform for viewing on the internet or intranet. This paper covers SAS coding techniques that you should find helpful for developing HTML and SAS/GRAPH documents for storing and displaying on OS/390 systems |
ods html, proc step, proc report, sample, proc gplot, proc tabulate | 7 | |
| 79 | ODS In An Instant! | Bernadette H. Johnson | Do you need to generate high impact word processor, printer- or web- ready output? Want to skip the SAS Output Delivery System (ODS) learning curve? Make it happen with Instant ODS: Style Templates for the Output Delivery System. What is Instant ODS ? A suite of ready-to-run ODS style templates, developed to provide instant access to a wide variety of business-ready style templates. Your SAS output is automatically formatted in the selected style and ready for a word-processor, PDF or the web. See how easy it is to create your own stylized results. If you are a new SAS user or an experienced SAS user new to ODS, then this is for you! Instant ODS on CD from the SAS Books By Users Press (available mid-2003) |
output delivery system, sas output, file statement, sample, ods html, ods pdf, proc print, ods rtf, proc step | 6 | |
| 80 | ODS LAYOUT: Arranging ODS Output as You See Fit | Brian Shellenberger | A new experimental feature for version 9 (both v9.0 and v9.1) is the ODS LAYOUT feature. Using this feature, you can easily mix graphics, text, and tables on the same page, arranging them in any position you want on the page. It's a bit like PROC GREPLAY only not just for graphics anymore. Complex reports and even forms, which were previously almost impossible to produce with ODS, are now quite straightforward to create. If you are required to present your data in a very specific format, with different parts of the report at different positions on the page, we finally have a solution for you |
output delivery system, sample | 6 | |
| 81 | ODS RTF: Practical Tips | Cindy Tong | ODS RTF is a powerful tool. It can be used to produce tables and listings to present results, as well as develop applications to output documents. For example, in the pharmaceutical industry ODS RTF can be used to create data definition tables specified by CDISC. In this paper, tips learned from the experiences will be presented to help SASÒ users easily achieve the results they want with |
proc report, proc step, ods rtf, output delivery system, proc template, cdisc | 6 | |
| 82 | ODS Step by Step | Wendi L. Wright | The Outp ut Delivery Syst em (O DS) was d eveloped by SAS to cre ate p rofessional lo oking output reports, among other reasons. T his paper introduces the beginning ODS user to the ba sic concepts of creating RTF and HTML files using SAS ODS on the MS Window platform. This paper i s based on the same set of steps that I used when I was first learning ODS. Some of the topics discu ssed a re: the options available with th e ODS statement incl uding the FILE=, CONTENTS=, FRAME=, NEWFILE =, and STYLE=. The ODS PROCLABEL statement is also discussed. In addition, th e pap er p resents a n exa mple of ea ch of the 17 di fferent styles available i n SAS v8.2 |
ods html, proc step | 14 | |
| 83 | Overview of a Browser-Based Clinical Report Generation Tool | Gregory T. Weber, Paul M. Gilbert |
In an effort to increase reporting quality and lead to decrease time -to -market, drug development organizations are focusing on automating the clinical reporting generation process. SAS-based data and tools have been key to generating most of the analysis and reports that are included in the clinical sections of regulatory submissions. Many companies are developing applications to automate this process. DataCeutics has developed the DataCeutics Report Portal (DRP) to address this need. The DRP is a browser -based thin -client application for producing SAS Reporting. The DRP allows users to login, select a project, a nd select a study within the project. Study selection activates the study functions. Study functions include: Building, testing and saving a SAS report generation program. Re -executing multiple SAS programs. View the SAS source program; SAS log or SAS ou tput files (ASCII, RTF, HTML, PDF or XML) | sas log, 21 cfr part 11, regulatory submission, sas output | 6 | |
| 84 | Picking Up Where the SQL Optimizer Leaves Off | Howard L. Schreier | Structured Query Language (SQL) is an extremely versa- tile and useful component of Base SAS software. With SQL, one can sometimes express the solution to a problem in one code statement. Unfortunately, in some cases that code is prohibitively inefficient. This paper is a case study showing ways in which the inefficient code can be modi- fied and tuned to the extent that a solution can be com- puted | proc sql, where statement, sample, create table, group by, macro variable, proc step | 11 | |
| 85 | Poor Man's OLAP: A MDDB Reporting Application Using Base SAS | John D. Chapman | On-Line Analytical Processing (OLAP) using a multi- dimensional database (MDDB) is a powerful and efficient method for certain data analysis and report- ing tasks. Unfortunately, for analysts with only occa- sional need for this functionality and/or a limited budget, MDDB/OLAP application software is expen- sive. But fortunately for such analysts who have Base SAS, the macro facility and the SAS language are sufficient for developing an application that pro- vides valuable aspects of OLAP/MDDB functionality, albeit without a GUI interface | fact table, sample, sas base, proc step, macro call, sas programmer, class variable, proc tabulate, raw data, star schema | 10 | |
| 86 | Practical SAS Methods to Safeguard the SAS Clinical Trial Data | Tianshu Li | To assure compliance with FDA regulation 'Title 21 CFR Part 11', many readily available SAS techniques can be utilized to protect and insure the integrity of SAS data sets for clinical trials. This paper will introduce some of these techniques and assess the feasibility and usefulness when integrated into the project management process in clinical trial settings. S pecifically, the following concepts or methods will be discussed: password protection and SAS data lock, SAS data encryption, automatic e-mail generation, integrity constraints and audit trail. Key words: Data integrity, data protection, SAS clinical trial data, SAS techniques | audit trail, clinical trial, constraint, clinical data, data cleaning | 4 | |
| 87 | Presenting Lab Data Using AF and Spreadsheet Template | Haibin Shu | In the evaluation of safety in a clinical study, the change from baseline values of lab parameters is an important evaluation. An EXCEL cha rt provides a quick graphical method to present the information. SAS DDE allows maximum flexibility in sending data to Office files. The whole process is automated through a SAS/AF application |
change from baseline, raw data, excel | 5 | |
| 88 | PROC DATASETS: Managing Data Efficiently | Daphne E. Ewing | PROC DATASETS is a data set management tool. There are things that the DATASETS procedure can do that can also be done using other techniques, although the other methods may be inefficient. This paper will show the user the basics of PROC DATASETS. This will include some of the powerful tasks it can perform along with how these similar tasks can be completed using other methods within the BASE SAS product. The result will be a method for determining the best approach to gaining the information needed and performing these tasks using the appropriate tool |
proc step, proc contents, proc datasets, sas log, proc copy | 4 | |
| 89 | PROC DOC and Beyond: Is PROC CONTENTS Enough? | Louise S. Hadden | This paper will present a macro driven solution for the complete documentation of SAS data files, beyond PROC CONTENTS. This documentation process uses both SAS procedures and Microsoft Office products to produce a detailed document that provides information on variables and variable values in a database. The resulting document (and process) is invaluable for both documentation purposes and quality assurance. The example shown is for a highly complex survey database with thousands of variables and user-written formats. While specific to survey data, these techniques are also useful for the documentation of other types of SAS databases |
proc step, input statement, proc contents, sas programmer, user-defined format, label statement, dataset, proc freq, excel | 4 | |
| 90 | PROC MI as the Basis for a Macro for the Study of Patterns of Missing Data | Carl E. Pierchala | The study of m issing data patterns m ay yield in sight regarding the possibility of quality problems in a database. New in SAS Version 9, and experim ental in SAS Version 8, PROC MI allows ana lysts to use multiple imputation to handle m issing values. One feature of P ROC MI is the display of the pa tterns of m issingness in a data set. To capitalize on this for data quality purposes, PROC MI was mim icked in the develop ment of a SAS macro, M ISS_PAT, which summ arizes m issing data patterns and tailors the output to ease interpre tation. Multiple im putation via PR OC MI is briefly summarized. Features of MISS_PAT that are im provements upon PROC MI are described. To illustrate the usefulness of the s tudy of missing data p atterns, results are presented from the application of MISS_PAT to a highway safety database. Key Words : Mis sing d ata; Data qu ality; Mu ltiple im putation; PROC MI; SAS macro; Motor vehicle traffic safety data |
proc mi, proc step, by group processing, missing value, multiple imputation, data cleaning, imputation, proc freq, quality assurance, macro definition | 8 | |
| 91 | Programming for Failure: When Programs Faw Down and Go Boom | Gary E. Schlegelmilch | Programs fail. Despite the best efforts of the best programmers, a non-working combination of data, software, and processing is invariably going to happen - and the program is not going to run. Typical result is a sometimes instantaneous, sometimes arduous effort to find where the program has failed - and fixing it. This paper attempts to cover two major topics: (1) a few ideas for finding the elusive bug, and (2) planning and structuring a SAS program so that perhaps a few less of them happen | macro definition, %if-%then-%else, macro variable, if-then-else | 8 | |
| 92 | Quality Control With SAS Numeric Data | Paul Gorrell | As the quote above shows, classical programmers recognized that the appearance of a variable's value does not directly reflect its stored value. That is, what you see ain't necessarily what you get. For SAS programmers, quality control with numeric data starts with the recognition that all display, whether on your screen or on a printout, is formatted display. It may be a format you have specified (either in the program or in a stored catalog), or it may be a system default. But what you see is an image. In this paper I'm going to define quality control in a fairly simple, straightforward, way: The goal of any SAS program is to output all and only the intended output. Quality Control [QC] is the process of making sure that the output of your program is, in fact, all and only the intended output. There's a concept used in scientific theory construction that is useful here. A scientific theory should be falsifiable | proc step, numeric variable, quality control, length statement, sas programmer, decimal, dataset, proc contents, numeric functions, missing value | 11 | |
| 93 | Reading External Files Using SAS Software | Clinton S. Rickards | In the real world, most data are not stored in SAS data sets. Typical data repositories used by business and academia include legacy mainframe files, client/server relational database management systems, and simple text files on desktop computers. While we want to use SAS to examine, to analyze, to display, and to graph this data, SAS works best with data stored in SAS data sets, not with data stored in their native forms. Fortunately, SAS has very powerful tools for reading a wide variety of external files, from the most rudimentary to the most complex. This paper is an updated and expanded version of similar papers presented by the author at previous SAS conferences and will introduce DATA STEP techniques for reading typical external files not stored in data base management systems or proprietary file structures. We will begin with a brief overview of what to do before writing any code, followed by an examination of the SAS statements used to read an external file |
input statement, infile statement, dataset, formatted input, pointer control, list input, filename statement, character variable, length statement, data step, column input, named input, numeric constant, raw data, variable list, numeric variable | 9 | |
| 94 | Reading IBM SL tapes under UNIX | Hugh Kawabata, Evangelito Gascon |
One problem that many data centers that use UNIX sys- tems have is the handling of IBM tapes (and cartridges). While there does exist hardware that will attach to UNIX systems and physically read IBM tapes, little processing is done of any 'metadata' by the UNIX commands. This poster shows the use of SAS to process such informa- tion. One of the advantages of IBM's standard label tapes is that useful information (metadata) about the tape and the files on the tape is stored in headers on the tape itself. Every tape has a volume header, an 80-byte record that contains information about the tape. Each file also has a header, two 80-byte records and a trailer, additional two 80-byte records. IBM mainframe operating systems use this information whenever files stored on tape are read; this information is written when a file is written to the tape | call symput, macro definition, macro variable | 4 | |
| 95 | Routine Web Reporting With Simple SAS ODS | Ashley Sanders | Data provided via the Internet today is no longer simply a value added product, it is often the only product. Besides being available to an infinitely expandable audience, it can have the advantages of speed, cost effectiveness, and flexibility. With minimal knowledge of SAS | proc step, ods html, proc report, proc print, estimate, by group processing, proc template, data step, macro variable, excel, macro definition | 6 | |
| 96 | Run All Your SAS Programs in One Program: Automatically | Ling Y. Chen, Steven Gilbert |
After SAS programs have been developed in an interactive computer environment, running them together in batch can save time and avoid errors. This paper describes how to use SAS to create a .BAT file that automatically lists and runs all SAS programs in a specified directory. A macro is presented that extends this procedure to an unlimited number of directories. The codes included in this paper were tested using SAS V6.12 on the Windows 98 operating system | quality control, txt, clinical trial | 4 | |
| 97 | SAS Backwards: Helping SAS and SPSS Students Speak the Same Language | Joseph J. Guido, Adam B. Rains |
dataset, variable list, proc step, excel, simple linear regression, proc reg, regression analysis, proc means, libname statement, proc glm, anova, one-way anova, proc freq, sample, proc genmod | 14 | ||
| 98 | SAS Email, Using Data Sets and Macros: A HUGE Timesaver! | Donna E. Levy | SAS V8+ has the capability to send email by using the DATA STEP, procedures or SCL. But what if ongoing emails must be generated at unscheduled/scheduled times? This SAS program has been developed to 'automatically' send a unique, customized and interactive email to the appropriate recipient(s). The program uses SAS EMAIL, MERGING datasets, DO loops, SUBSTR and SCAN functions as well as MACROS |
macro variable, call symput, excel | 14 | |
| 99 | SAS Macros are the Cure for Quality Control Pains | Gary M. McQuown | Quality control should be an important part of all projects. Even though we all know "Garbage In .. Garbage Out"; Quality Control is almost always under appreciated, often under funded and occasionally even overlooked. Macros are the ideal tool for automating these essential but tedious tasks, saving both time and money, and promoting the task so that it gets the attention it deservers. This presentation will cover macros designed to detect and report on data quality errors and will hopefully be useful to anyone interested in the topic | quality control, macro definition, data controls, outlier, data cleaning | 6 | |
| 100 | SAS Metadata, Authorization and Management Services - Working Together for You | Michele Ryals | How does your company manage resources? Are you able to restrict users from accessing certain information defined as confidential? Are you accessing your data directly every time you need to find information? SAS is working together for you to make your business as successful as possible. We have designed solutions to provide ease of use when configuring your environment, users, permissions, and overall metadata management. One of the key enablers of intelligence that gives you information critical to succeed in understanding and managing your data is metadata. Is your company using metadata? Are you aware of the advantages metadata can bring to your organization? If you are not, you should be. As your business grows, so does the data contained within. Metadata is becoming more essential than ever for those who wish to stay ahead of their data, and thus, ahead of their competition. Speed is of the essence and metadata is the driver | sas management console, sample, data lineage, metadata management | 9 | |
| 101 | SAS Statements Used Anywhere | Karin LaPann | Whenever programmers are introduced to SAS, they are taught that there are two kinds of statements; the PROC STEP and the DATA STEP. However, there is a third group of statements, which are not procedures, but are essential in the operation of any SAS code. These are global statements, or as I call them, statements used anywhere. Global statements perform the following functions: Data access Log control Output control Program control * Environment control Understanding and using these global statements correctly greatly enhances control over the programming session, and also of the various SAS outputs. In this paper I will describe these global statements and provide examples of their use |
proc step, libname statement, filename statement, excel, macro variable, options statement, proc sort, cpu time | 10 | |
| 102 | SAS System on Network Appliance | Darrell Suggs, Margaret A. Crevar, Leigh A. Ihnen |
keeping the data management responsibilities (and costs) off the host system. The goal of this paper is to help customers maximize SAS application performance w hile reaping the benefits of netw ork attached storage. Specifically , this is a guide for performance tuning in an enterprise class environment containing the SAS application and using a Netw ork Appliance NAS (netw ork attached storage) subsy stem (aka Filer). The recommendations include configuration and parameter changes to the SAS environment, the platform specific Unix operating system, NFS (Network File Sy stem) client, and the NetApp Filer subsystem. This version of the paper covers only Solaris and HP-UX changes. A complete set of tuning recommendations for other operating systems is contained in the full version of this paper located on both SAS's and Netw ork Appliance's company web pages. The shared filesystem solution (NAS) scales to multiple hosts in a simple fashion that introduces very little overhead | memory usage, dataset, proc sort | 7 | |
| 103 | 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 Corporate Act uarial Reserving area's RES- MENU application. The alte rnative of using SAS/AF Frame with X-Windows had unacceptable 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 con- struct Java Server Pages (JSPs) proved to be more com- plex and difficult than anticipated. Fortunately, The Hartford discovered a winning alternative: SAS/INTRNET and SAS Component Language (SCL). This paper will offer a tutorial on how to build SAS/INTRNET appli- cations that feature data-driven (dynamic) selections using SCL, SAS/INTRNET sessions, and a touch of JavaScript. The balance of this presentat ion will show how these pro- gramming elements are successfully used to bring The Hartford's reserving model support application to the web |
macro variable, sas base, sample, proc step, dataset, catalog entry, libname statement, claims development, excel | 17 | |
| 104 | Serving-up Metadata to Academic Research Teams | Jeanne M. Spicer | In a data warehouse for corporate data, the columns and tables structures, w hile not static, are re latively stable. In research, change is the name of the game. A persnickety data manager can quickly become overw helmed by the changes and additions to the database researchers require. Attempting to fully document every newly constructed measure is futile. It is better to focus on what is essential metadata for the project team members. We concentrate on 3 areas: All academics demand reproducibility of results, but most admit that they have trouble reproducing their own results, let alone those of another researcher. Continuous experimentation w ith data defies documentation efforts. In a large project on the mechani sms of aging, the researcher collecting data on bone density may observe an interesting phenomenon and w ant to access the data another researcher is collecting on the subjects' blood chem istry to try to explain it | dataset, proc contents | 3 | |
| 105 | So You Think You Can't Use SAS' Data With BusinessObjects' Software' | Theresa J. Kelso | txt, dataset | 4 | ||
| 106 | So You Want to Write a NESUG paper? That Paper about Writing a Paper | Dianne Louise Rhodes | You just attended your first NESUG conference, and you come out of one really good session thinking, "Hey, I could write a paper like that about My Project!" That's what happened to me after I attended my first NESUG in 1996. And it has happened to others, just recently, in fact, a colleague asked me where he could find "That Paper about Writing a Paper." We couldn't find anything providing specific guidelines on how to approach the process. This paper will introduce the paper writing process: choosing a topic, researching it, developing an outline, and actually writing the paper. I'll also walk through developing a presentation from an outline created in PowerPoint. That's the best way I've found to ensure that the presentation and paper are in sync. I'll go over tips on making an effective presentation. Finally, in the | quality control, proc sql | 6 | |
| 107 | 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 analysis 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 sets |
proc report, proc step, class variable, character variable, proc print, numeric variable, proc tabulate, proc means | 22 | |
| 108 | Solving Computable General Equilibrium Models with SAS | Ban Cheah | Computable general equilibrium (CGE) models are a system of (usually) non-linear equations that describe the behavior of a system. This model is generally used for what-if analysis: for instance, what happens to variable x if variable y changes by 0.05? CGE models can be found in fields like economics, and environmental, agricultural, and natural resource modelling. This paper demonstrates how to solve a computable general equilibrium model in economics. The model that is presented is a standard model that describes a simple economy without taxes. CGE models can be solved using SAS/ETS r⃝(via PROC MODEL) and SAS/OR r⃝(via PROC NLP). The shortcomings associated with each method are also noted |
proc step, proc model, estimate | 12 | |
| 109 | SQL Basics Using Proc SQL | Christopher Zogby | SQL is an ANSI standard database query language. Its syntax is simple, and its utility is broad in scope. SAS provides a SQL programming environment via PROC SQL. This presentation will elaborate on SQL's major functions, using PROC SQL syntax |
proc sql, proc step, create table, by group processing, order by, group by, drop table, constraint, select, where statement, sas output | 4 | |
| 110 | Starts and Stops: Processing Episode Data With Beginning and Ending Dates | Michael D. Rhoads | Regardless of the industry you work in, you will probably encounter data involving things that begin and end on particular dates. People open and close banking and credit card accounts, enroll in and graduate from schools, are hired for and resign from jobs, are admitted to and discharged from hospitals. Data files for these types of data typically include fields for person ID, beginning date, ending date, and various characteristics of the episode. Answering questions involving this kind of data can be challenging for even experienced SAS programmers, to say nothing of beginners | by group processing, proc sql | 13 | |
| 111 | Statistics & Regression - Easier than SAS | Vincent Maffei, Michael L. Davis |
In this paper the basics of estimation and hypothesis testing are covered wi thout the associated probability theory and mathematical derivations of formulas. Basic concepts are explained logically and graphically. Without the mathematical wizardry, the simple underlying thread is exposed. With this basic understanding, the analysts will know the methodology to use to generate estimates with valid error margins, and to set up tests of hypothesis (i.e. unsubstantiated claims about performance, effectiveness, cost savings,?) using either univariate statistics or regression analysis | sample, regression analysis, autocorrelation, correlation, hypothesis testing, standard deviation, predictor variable, null hypothesis, statistic, residual, estimate, normal distribution, proc reg, proc step | 6 | |
| 112 | Streamlining Complex Data Merges Using the RETAIN Statement | Rebecca Goldblatt, Irv Gutin |
retain, do loop | 2 | ||
| 113 | Table Lookup By Direct Addressing: From V8 To V9 | Paul M. Dorfman | Table lookup is one of the most, if not the most, important and frequently performed data processing operations. The SAS System supports this assertion with a roster of built-in searching techniques, such as merges, joins, formats, indexes, and search-specific operators and functions. It is therefore all the more surprising that until the advent of Version 9 the fastest, i.e. direct-addressing searching algorithms, such as hashing and bitmapping, have not been available in a built-in form. This gap has been partially covered by SAS programmers crazy enough to hand-code their own hash-based schemes using the power of the SAS Language. In Version 9, however, the situation has finally changed. Not only has it made direct addressing available in the form of a built-in hash table (associative array) object, which can be searched much faster than any other SAS lookup structure, but with it, Version 9 has also introduced the first truly run- time dynamic, memory-resident DATA STEP structure |
hash table, key, composite key, conditional do loop, sample, hash iterator, memory usage, lookup, character variable, length statement, proc sql, data step | 14 | |
| 114 | The Best of Cheesy, Sleazy SAS' Tricks | Michael L. Davis | Based on an off -hand comment, the author solicited examples of "cheesy" or "sleazy" SAS tricks from his friends on the SAS -L distribution list. To qualify, the trick might be a coding declaration or other construction that suppresses the over -solicitous man- ner in which SAS tries to protect coders from themselves. A trick might also qualify if it hinted at an unexpected SAS behavior that work s against coding stereotypes. The following paper presents some of the best tricks received | sas log, macro variable, proc step, proc freq | 2 | |
| 115 | The California Template: Stop Reinventing the Wheel with SAS/IntrNet', JavaScript, and a Healthy Dose of Planning | Blake R. Sanders | Creating SAS/INTRNET applications is straightforward, but custom coding programs to access different data sets can be time consuming. By re-engineering the process it is possible to have one set of scripts service multiple applications. This collection of programs provide for data analysis and output as well as a platform for customization. The result is simple, clean and easily maintained -- a template on which applications can grow with virtually no start-up time and from which they can expand once the users' true needs come to light. What was needed was a solution that was easy to modify and implement over a wide range of situations. If we were tasked with giving Internet access to three different sets of time series data, for example, how could we give the users basic access as soon as possible while preserving the option to offer greater customization later? |
where statement, macro variable | 6 | |
| 116 | The Complete Software Package to Developing a Complete Set of Ratio Edits | Roger L. Goodwin | We present documentation for running the GenBounds software which are new | dataset, audit trail, sas output, sample | 11 | |
| 117 | The Dark Side of the Transparent Moon -- Tips, Tricks and Traps of Handling ORACLE Data Using SAS | Xinyu Ji | The paper discusses tips, tricks and traps of handling ORACLE data using SAS. It covers, among others, the following: how to extract summary information of ORACLE data contents; the difference between ORACLE character fields and SAS character variables; how WHERE clauses under the LIBNAME engine method are passed to ORACLE; selected SAS functions and their ORACLE SQL counterparts; how to deal with ORACLE date values in SAS; how to debug errors in SQL pass-through code |
proc sql, where statement, date variable, libname engine, sas function, sql pass-through, numeric variable, dataset, proc step, sample, character variable, character functions, sysdate9, temporary dataset, error message, missing value | 11 | |
| 118 | The Dirty Secret Behind the Box: Why Programming Efficiency Should Matter to All of Us | John J. Cohen | In Data Mining we tend to focus on the sexy front-end tools, the built in PROC edures, and canned routines. These have certainly been optimized for us, and in any case, we will need to do whatever it takes to produce final results. Unfortunately the less visible part of the job - data preparation - can take up to 75% of the effort. Further, we sometimes have to create our own procedures. Because of this, writing efficient programs should be important to all of us. We will suggest here how to do that without losing sight of our main analysis. ______________ |
proc step, proc sort, mp connect, proc format, where statement, character variable, dataset, if-then-else, cpu time, keep statement, numeric variable, proc means, proc print, flat file, sample | 9 | |
| 119 | The Fundamentals of Efficiency | Robert Virgile | sample, proc step, cpu time, proc means, where statement | 5 | ||
| 120 | The Utter Simplicity and Power of the TABULATE Procedure | Daniel E. Bruns | proc step, proc tabulate, proc freq, sas base | 7 | ||
| 121 | There's No Such Thing as Normal Clinical Trials Data, or Is There? | Daphne E. Ewing | Clinical Trials data comes in all shapes and sizes depending upon the therapeutic area, indication and phase of the trial. Quite a bi t of the data arriving on Case Report Forms (CRFs) is fairly standard (e.g. Demography, Adverse Event, Medications, Laboratory, etc.), and hence can be stored in fairly standard data structures. Designing clinical data structures for data entry is importa nt, but it should be done with some understanding of the analysis that will be performed. Once an appropriate clinical data structure is arrived at for data entry, it is important to then determine how to best use the data in the analysis environment. This paper will discuss data normalization and what it means along with the effects it has on SAS programs used to list and summarize clinical trials data. Side by side examples of programs and output from standard data structures versus normalized data structures will provide proof of the importance of normalization | proc report, proc step, sample, normalization, macro variable, proc freq, laboratory data, proc means | 15 | |
| 122 | Tips and Techniques to Enhance Your SAS Statistical Graphics Output | Shi-Tao Yeh | SAS/GRAPH software procedures produce several types of graphics output from a procedure. The procedures require a few statements to produce statistical graphics output. Statistical graphics illustrate trends and test results. Many things can be done to improve your SAS graphics output. This paper provides tips to enhance your SAS statistical graphics output with sample code and illustrations. The SAS products used in this paper are SAS BASE , SAS/STAT, and SAS/GRAPH on UNIX platform |
footnote statement, sample, macro variable, proc sgplot, proc step, output delivery system | 9 | |
| 123 | Tips for Manipulating Data | Marge Scerbo | As a beginning SAS programmer, you could be easily overwhelmed with the sheer size of the language. It is not easy to learn the best way to complete a task, if a best way actually exists. Does one method actually work better than another does? For example: When working with a large number of variables, does it really make a difference to DROP or KEEP variables? If so, is one better than the other? What is a DATA STEP stat ement? And what is a data set option? Are they the same? * What is the best way to subset the data, IF or |
proc step, where statement, if-then-else, obs, proc format, proc print, character variable, dataset, drop statement, keep statement, missing value, proc append, proc freq, proc sort, sas base, numeric variable | 10 | |
| 124 | To Right Click or Left Click: Three Different Devices, Four Different Graphic Presentations | Louise S. Hadden | SAS and SAS/GRAPH provide us with the capability of producing many different types of graphic objects in conjunction with some special SAS-provided add-ins. Such graphic objects include JAVA enabled graphics, Active-X enabled graphics, static HTML graphics, animated graphics, and drill-down graphics. In addition to the ability to publish these graphics on intranets and the internet, these graphic objects may be downloaded, uploaded, and/or incorporated into documents, spreadsheets, etc., sometimes without losing their special capabilities |
output delivery system, excel | 4 | |
| 125 | User Implementation and Revision of Business Rules Without Hard Coding: Macro-Generated SAS Code | Michael Krumenaker, Jit Bhattacharya |
macro variable, data validation rules, data step, set statement, lookup, excel, drop statement, xls, macro definition, dataset, %if-%then-%else | 11 | ||
| 126 | Using a Dynamic SAS/IntrNet' Application to Create Statistical Comparison Report and Download as SAS Data Sets | John Owusu Djamboe | As part of an internal review process by analysts working on the American Community Survey at the US Census Bureau, current year sample estimate values are compared to previous y ear estimate values to test the difference in proportions betw een two independent samples and their stat istical significance in a distribution. Detailed and summary comparison statistical reports are created and further analy sis done. Since these reports are calculated using various complex statistical tests, analysts want to be able to dow nload the reports as SAS datasets and perform further analysis by running SAS pr ograms against these reports. Dynamic SAS/INTRNET Application pr ovides this capability. It also allows the user to select multip le parameters and multiple values within a parameter concurrently |
dataset, macro variable, %if-%then-%else, macro loop, proc sql, proc step | 5 | |
| 127 | Using an Array as an If-Switch | Nazik Elgaddal, Edward Heaton |
Do you sometimes find yourself using nested IF statements or nested SELECT blocks? Does the code become more difficult to develop, read, or maintain as the nesting gets deeper? Multi-dimensional arrays can replace that code with an array declaration and a simple assignment statement. Have you ever used multi-dimensional arrays? They really can make your work more elegant. This paper will explore the nature of multi-dimensional arrays as it develops what Ian Whitlock calls an array implementation of a master IF-switch. SAS allows 28 dimensions to its arrays. We doubt you would ever need that many dimensions; and your computer probably doesn't ha ve the memory to process such an array. We recen tly suggested to a fellow SAS programmer that there was probably never a reason to use an array of more than three dimensions. Less than an hour later, we developed a job that used a four- dimensional array! It accomplished, in 59 lines of easy code, a task that used 289 lines of SELECT blocks | cpu time, array, data step, variable list | 9 | |
| 128 | Using AppDev Studio and Integration Technologies for an Easy and Seamless Interface Between Java and Server-Side SAS | Barry R. Cohen | The application landscape has changed substantially for SAS application developers. Today's landscape uses a distributed-object, component-based architecture that integrates SAS server capabilities into enterprise-wide applications that are n-tiered, Web- enabled, and thin-client. SAS has developed new products to help you build SAS applications in this landscape. These include the AppDev Studio product suite including especially webAF within it, and Integration Technologies. You will likely want to leverage a few key features of these products as you build Web-enabled SAS applications. From AppDev Studio, these features are SAS-aware Java classes for Java programs, SAS Custom Tags for JavaServer Pages, and SAS Components for applets. From Integration Technologies, the feature is the Application Facility. These product features allow an easy and seamless interface between your client- or server-side Java applications and your server-side SAS programs and data | proc step, dataset, sas base | 10 | |
| 129 | Using Cluster Analysis for Retail Portfolio Segmentation in an Economic Capital Model: Homogeneity by Common Default Behavior Over Time | Shannon Kelly | For credit risk management in a retail banking portfolio, cluster analysis can be used to segment exposures into pools by common default probabilities over the next time horizon, usually one-year. These default probabilities vary over time conditional upon the coincident economy, providing a dynamic segmentation scheme by the near-term default behavior. For an economic capital model it may be preferable to create segments that remain stable over an economic cycle. Consider measuring default behavior by the sample paths of conditional default probabilities, over multiple one- year time horizons. Hierarchical cluster analysis methods in PROC CLUSTER are employed to group exposures by similar sample paths, using distance measures defined to distinguish between these time trends. It is assumed that one-year default probabilities are functionally related to coincident economic drivers |
sample, distance measure, time series analysis, cluster analysis, correlation, pd, hierarchical clustering, regression analysis, probability distribution, economic capital, proc cluster, exploratory data analysis, proc step, data science | 12 | |
| 130 | Using ODS | Ban Cheah | This paper will guide you, step by step, through some easy and not-so-easy ways to enhance your SAS output using the Output Delivery System (ODS). It first uses a PROC REPORT example with the RTF and HTML destinations to illustrate some basic ODS statements and simple output enhancements. It then shows how to modify your output using PROC TEMPLATE, change the size of your fonts, and control the title and links in the HTML table of contents. Finally, it presents a drill-down graph as a more advanced use of ODS |
proc step, output delivery system, proc tabulate, proc report, excel, proc template, proc mixed, ods html, proc means | 17 | |
| 131 | Using ODS to Create Web-Based Neighborhood Profiles for the District of Columbia | Peter Tatian | This paper describes how the SAS Output Delivery System was used to produce web pages displaying neighborhood data for the District of Columbia. The procedure involved creating basic output using ODS and then modifying it with a post-processor program |
proc step, proc report, proc template, sas output, by group processing, missing value, label statement, proc transpose, macro variable, ods html, output delivery system | 7 | |
| 132 | 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. Such an application could cover typical functions such as report program loading; report parameter solicitation; report program selection and execution; and report output file viewing | clinical research, sas programmer, statistical programmer, dataset | 8 | |
| 133 | Using SAS Software to Analyze Web Logs | Peter Parker | SAS software macros provide the flexibility to perform advanced programming techniques such as processing real-time user-entered parameters to determine which blocks of code will run and how often. In a previous paper (SAS Software Macros: You're Only Limited By Your Imagination), I described how to use these techniques to write more elegant code. In this paper, I will show how to apply these techniques to read multiple external files (web server log files) based on user queries. I needed to determine how often the public accessed the files on my web server. Through iterations of programs that were the evolution of a thought process, I have developed SAS programs that read the web server's log files based on the time periods requested in an interactive SAS macro window. These programs generate a summarized report of web usage. As well, I've prepared programs to check for attempted and real intrusions | macro definition, txt, macro facility | 7 | |
| 134 | Using SAS to Build a Government Information Factory | John W. McCue | If at all possible "apprentice" to someone building a Government Information Factory (GIF) first; and shamelessly use everything they can teach you about designing data for interagency sharing and analytical research. But since there are very few Government Information Factories being built right now and few people with such experience using SAS, here are a few things learned while undertaking this long-term project. Using the principles of Bill Inmon's work on building a Government Information Factory can be a daunting task for any Warehousing product. But being one of the first to build an integrated warehouse accessed through Terminal Services and Intranet access using the SAS System has led to quite a number of calls to SAS Institute's tech support and to Bill Inmon. This project integrates OLTP and OLAP through a common metadata managed in SAS | proc step, libname statement | 4 | |
| 135 | Using Visual Basic for Applications (VBA) for manipulating SAS/GRAPH Output files | Paul Kumagai | This paper is based on a VBA application for Micro- soft Word 2000 which automates the resizing and concatenation of SAS/GRAPH output files in *.CGM (Computer Graphics Metafile) format. The default CGM graphics output size for Microsoft Office Appli- cations is 4.00 inches by 3.09 inches in landscape mode and vice versa for portrait mode. Once the graphics file is imported in Word or EXCEL, the user can resize the graph manually to occupy more of the display area, but there is no way to adjust the de- fault graphics output size beforehand. This macro is useful for processing multiple SAS graph output files for a given study or for assembling study docu- mentation on the fly. The intended audience for this paper is senior level SAS developers familiar with Visual Basic with some knowledge of SAS/GRAPH |
batch job, sas programmer | 4 | |
| 136 | Using Visual Basic with SAS to Produce Statistical Reports | Matthew Campbell | proc freq, dataset, proc step, macro variable, conditional do loop, proc means, frequency analysis | 10 | ||
| 137 | Visit Your Local Libraries | Sharon Matsumoto Hirabayashi | For one of our projects, SAS data sets are stored on a UNIX server under separate accounts by project year. There are often requests to search for data sets in one of those accounts. Requests might include: listing all SAS data sets for an account; listing all SAS data sets with a given string in either the data set name or path name; or listing all SAS data sets that contain a given variable. This poster details how those lists are constructed using: a piped UNIX "find" command to locate all files with a SAS extension; character string functions to determine the SAS data libraries associated with those files; the CALL EXECUTE command to generate LIBNAMEs for those libraries; and PROC SQL statements to access SAS DICTIONARY tables to further subset the lists |
dataset, libname statement, call execute, proc step, proc sql, dictionary tables, txt | 3 | |
| 138 | Web Products: The Marriage of PERL and QPL to Create SAS Code | Alice Feldesman, Steve Palincsar |
A best practice in survey research is to display the questions and | proc step, proc report | 10 | |
| 139 | Web-Enable Your SAS Applications | Teresia L. Arthur, Mary Jafri |
How many times do we write applications only to rewrite them later because a new operating system comes online, customers want a friendlier interface or customers just want "the latest cool stuff"? Wouldn't it be wonderful if we could write core application code that remained in use throughout the evolution of an application and if that application remained in service for many years? Who said applications have to become antiquated so quickly and who has time and resources for application rewrites? The objective of this paper is to demonstrate how a production | data validation rules, sample, proc step, proc sql | 7 | |
| 140 | What to Wear on a Date' A Short Discussion of SAS Date Functions, Formats and Informats | Louise S. Hadden | Representing, reading in, putting out, and converting dates has long been a thorny issue for programmers using any application. This paper will present both new and old methods of representing dates using SAS formats, SAS macro language, and user-written formats, and will briefly touch on the use of SAS date functions, macro language, and informats. Some of the date formats and informats described are specific to Version 8; thus this paper is targeted at | date variable, sysdate9, macro facility | 3 | |
| 141 | When Size Matters: How Hashing Saved Our Jobs | John J. Cohen, Russell M. Lavery |
For the fortunate ones among us, the processing power of our hardware platforms has grown sufficiently fast to keep up with the size of our data. Simple, straightforward programming techniques continue to get the job done. However, for an increasing number of us, this is not the case. Whether due to exponential growth in our data or from migration to newer and possibly smaller platforms, some of the standard techniques and | cpu time, proc step, proc format, lookup, proc sort, data step, hash table, hashing function | 8 | |
| 142 | Working with Arrays: Doing More with Less Code | Ralph W. Leighton | proc step, proc print, temporary array, input statement, array bounds, calendar year, variable, conditional do loop, proc report, proc transpose, dataset, do loop, array, variable list | 16 | ||
| 143 | XML Primer for SAS Programmers | Jack N. Shoemaker | XML is an SGML variant, which is an excellent messaging mechanism for passing data back and forth among applications. In this workshop, we discuss XML in the context of SA S applications and how XML can be used in the preparation and presentation of data. We explore some of the features of XML that make it a good partner for applications that are based on SAS. This workshop focuses on the tools that SAS provides for parsing XML documents so that the full power of SAS can be brought to bear on the manipulation and analysis of XML- encoded data. After a brief introduction to XML syntax, the workshop will demonstrate how to use the ever evolving XML library engine to make XML data available to SAS. Particular attention will be paid to the XMLMAP option, which provides the programmer with great control over how a particular XML document will appear to SAS in terms of the number of tables and units of observation of those tables | dataset, libname engine, proc step, file statement, ods xml, data step, libname statement, proc print, output delivery system, sas output | 6 | |
| 144 | XPDL - An Extensible Project Database Loading and Table Translation Program | John H. Adams | XPDL is a SAS macro program that can combine and re-map data for any number of trials to create a drug project database (PDB) for project type of analysis . The program is actually driven by tables that describe the source-to-target data relationships (many-to-one) and any required re-mapping. These tables are initially created by XPDL and are then easily modified by the user with EXCEL. The tables not only provide the documentation of the PDB, but they are what drives the macro program for the 'LOADPDB' function. No custom programs are required! A large PDB that used to take several programmers 6+ months to develop and 1+ programmer to maintain, can now be implemented in a few weeks. Future changes to the PDB are done by non-programmers. The savings in time and quality are immense. XPDL can also be used re-map existing data sources into new layouts or table structures. This is called Table Translation |
sample, master data management, excel | 7 |
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