SUGI 2000 Papers - Index
266 papers. Source: SAS Users Group International conference proceedings.
| # | Title× | Authors× | Abstract× | Keywords× | Extras | Pages |
|---|---|---|---|---|---|---|
| 1 | "Functioning" JCL Into a SAS Relational Database Table: Your Portable Tutorial On Character Functions, Plus an MVS Batch Bonus | Douglas Zirbel | This SAS 6.09e Base SAS software program running on IBM mainframe OS390 (MVS) gives you plenty of explained examples of useful SAS string functions and others, as well as a handy PROC REPORT example. As an added bonus, it crunches that old mainframe mystery, JCL (Job Control Language), into a denormalized SAS file (table) / report which almost anyone in your IBM mainframe shop can understand |
proc step, macro variable, flat file, proc report, sas base, batch job, proc sql | source | 6 |
| 2 | (Getting Even) Frame Your Base SAS Programs | Andrew S. Rosenbaum | Some programs are created with hard-coded values that need to be changed on a regular basis. This amounts to rewriting the program every time a change is made to one of the parameters. For example, a report of hours worked by employees for certain days. If the person requesting the report is not versed in the ways of SAS System programming, then a programmer must go into the program, find the parameters to be changed, make the changes, and run the program. Instead, the program can be written with variables in place of the hard-coded values. Any user can change the variables at run-time by way of a graphical user interface (GUI) also known as a FRAME. This frees the programmer to create programs instead of running them for others. This procedure is sometimes known as 'wrapping' | sas base, data step, macro variable, error message | source | 5 |
| 3 | A Beginners Guide to SAS Date and Time Handling | Wayne B. Finley | The SAS system provides a plethora of methods to handle date and time values. Correct date computation became a very important subject when the world became aware of the Year 2000 issue. Computer users now realize most applications contain date and time variables. This beginning tutorial describes how the SAS system 1) stores dates, datetimes, and times; 2) reads date/time variables from "Raw Data Files" and from SAS data sets. It covers when and where to use SAS Informats and formats. Next it describes the easy | sysdate9, mdy, time variable, input statement, datetime variable, time, dataset, date variable, proc step | source | 6 |
| 4 | A Case-Transforming Macro for More Readable Text 477 | Sylvia C. Tze | In data entry, text fields are usually entered in uppercases. When printing out these text fields, one would prefer having them in the form of normal writing, combining upper and lowercases. One example is comments fields. Having words in upper and lower cases will enhance readability, conformity, and consistency with the rest of the report. This paper introduces a macro that would transform text fields from uppercases to a format of upper and lower cases. The macro is written in such a way that the first letter of each sentence is preserved as uppercase. Exceptions are taken into consideration when acronyms and abbreviations in uppercases are intentional. Users can provide their own list of acronyms and abbreviations to customize usage | macro call, character variable | source | 3 |
| 5 | A Macro Utility for Generating Formatted Log Comments 480 | Peter J. Lund | If you've ever %included code or used macros with embedded SAS code, it is often frustrating to miss inline comments in the log or be unable to clearly track what the program has done. You can always turn on the SOURCE2 or MPRINT/MLOGIC options, but that sometimes gets to be too much. Likewise, you can add your own comments with %PUT, but you have to go to a lot of work to make them look nice. This paper discusses a macro which formats comments which are written to the SAS log. The comment is bordered with asterisks and the user can control indentation, justification and line breaks. Macro references in the comment are resolved so comments can be made dynamic. The border automatically adjusts to the size of the longest line and there is no limit to the length or number of lines in the comment. You get consistent, formatted comments with fewer keystrokes than keying all those %PUT statements yourself |
macro variable, %if-%then-%else, macro put, macro definition | source | 4 |
| 6 | A Methodology for Customer Segmentation Using Existing Product Category Schemes and the SAS System | Christopher S. Andrews | Nearly every retailer (or e-tailer) has a methodology for categorizing the products that they sell. However, most of them do not have a clearly defined system (or any system for that matter) for categorizing their customers by the types of products they buy. This is unfortunate since, in the rapidly evolving world of customer relationship management, this level of customer understanding is critical. This paper will develop a methodology for turning product categorization on its ear (so to speak) and into a customer segmentation scheme that is not only straightforward in its production, but also simple in its interpretation. In addition to the development of customer segments, this paper will also present methods for evaluating the performance of segments from a financial perspective. Enhanced targeting is a natural consequence of this, as well as similar evaluation techniques that will suggest themselves | proc step, cluster analysis, customer segmentation, proc sql | source | 6 |
| 7 | A Personal View of SAS-L as a Teaching Tool | H. Ian Whitlock | SAS-L is an on-line SAS Users Group with over 2000 members around the world, plus a huge number of silent or nearly silent listeners who follow the discussions via the associated news group, comp.soft-sys.sas. After a short introduction and history of SAS-L I will consider questions such as ♦ Can you learn from asking questions? Or is there too much misinformation? ♦ Can you learn by giving answers? Or do you need to be an "expert"? ♦ Is SAS-L sufficiently recognized by training and support people? Or Should you add SAS-L to your learning kit? I will then provide answers in terms of my participation on SAS-L using examples of interesting coding problems. In summary, this presentation is for anyone into SAS who has not been aware of SAS-L and for all the SAS-Ler's who want more. History SAS-L began in 1986 with two list servers. One was located in Austria and the other at the University of Georgia. In the early days it was largely a group of systems people who supported SAS users | proc step, proc sql, excel, proc means, macro variable, macro definition | source | 9 |
| 8 | A Primer in Spatial Simulation with PROC SIM2D | Robert G. Downer | Spatial simulation is a valuable tool for investigating the behavior of spatial random variables. The new SIM2D procedure in SAS simulates normal spatial data with a variety of possible covariance structures. The simulations can be unconditional or conditional on the observed sample data. This general paper motivates spatial simulation, describes and illustrates the SIM2D procedure and also discusses its possible applications |
covariance, sample, covariance structure, proc step, standard deviation, dataset, correlation | source | 3 |
| 9 | A Randomization Test: Somatic Cell Count Slope Comparisons of 55 California Dairies | Paul W. Johnson | A SAS macro for comparing two slope estimates using a randomization test is presented. A milking practice evaluation score was obtained for 55 Dairy Herd Improvement Association (DHIA) dairies. The category for general sanitation practices consisted of obtaining the total score for four questions. The median score over all dairy responses was used to provide a cut- off point in order to discriminate each dairy's response. Responses were recorded as being either below the median or above/equal to the median. Somatic Cell Count (SCC) data were also obtained for the dairies. The SCC values are an indicator to whether a cow has good or poor udder health. These counts were used as the dependent variable to examine the relationship between SCC and general sanitation for the two groups. Models were fit for each of the two groups and the slopes of the two models compared. A randomization test was constructed to examine whether or not the two slopes differed significantly from one another | randomization, permutation test, proc step, sample | source | 4 |
| 10 | A Robust Generalized Axis-scaling Macro | Dorothy E. Pugh | Generating high-quality plots quickly is an important task for the clinical trials programmer. Creating reasonable-looking axes for these plots presents a special challenge because of the mutually conflicting needs to 1) make the number of tick marks moderate and consistent, 2) reduce the number of significant figures in the tick mark labels, and 3) minimize wasted space in the resulting plot. This paper describes a simple axis-scaling algorithm, which enables programmers with different needs to achieve a tradeoff among these criteria that suits these needs. Five new input keyword parameters make it possible to control settings to achieve the above three goals; carefully chosen defaults exist for all of them | clinical trial, macro definition, macro variable | source | 5 |
| 11 | A SAS Macro for Balancing a Weighted Sample | David Izrael, Michael P. Battaglia, David C. Hoaglin |
It is often desirable to adjust the weightsofa sample so that its marginal totals on specified characteristics agree with external control totals. Agreement is usually achieved iteratively, one variable at a time, by applying a proportional adjustment to the weights of the cases that belong to the same category of the variable. We developed a SAS macro for this operation (known as sample-balancing or raking), so that we would no longer have to export data from SAS and use a FORTRAN program that was originally designed to accept card input! The macro imposes no limit on the number of marginal variables or on the numbers of categories of those variables, and it allows the user to specify the tolerance for convergence. The paper reviews the algorithm and discusses experience with its use | sample, control total, %if-%then-%else, macro put, if-then-else, macro definition | source | 6 |
| 12 | A String Search Program Which Displays the Whole Line for Each Line Containing the Target String | Hugh Geary | Have you ever needed to know which of all of your programs use a certain variable, call a certain macro or, more generally, contain a certain character string? Would it be useful to know which of these programs are old or were modified recently? And would you want to have this information for all of the files in a folder and its subfolders? If you use VMS on a VAX you have such a utility, but apparently it has to be reinvented for PC SAS users. Such a utility is described here here for any users of BASE SAS on a PC.. The target line and some lines before and after can be displayed as well to help see the context in which it is used. The name of each file found and the date of last modification is also given. The results can be saved in a file or displayed on the screen. An application can be extracting current program documentation from information stored within each of your programs into a documentation file at the end of a project | dataset, filename statement | source | 3 |
| 13 | A Submission Development Environment to Support SAS Programming and Related Activities During Clinical Data Analysis | Barry R. Cohen | Pharmaceutical companies conduct many activities during the statistical analysis of their clinical data. This is one part in their larger process of collecting, managing, analyzing, and presenting all this clinical data (safety and efficacy). Many companies now provide considerable system support for the early part of this larger process, (i.e., the data collection and management), and for the later part when the New Drug Application (NDA) document is published and presented to a regulatory agency in electronic form. But much less has been done to support the work involved in the statistical analysis of the data using SAS Software, particularly Base SAS and the Macro Language. I discuss automated, integrated support for the statistical data analysis in this paper. I call this support a Submission Development Environment. An automated, integrated environment for this work is surely a challenge, but it offers much potential payoff if it can be achieved | data science, macro facility, dataset, clinical data, macro parameter, sas base, sas output, sas programming, proc sql | source | 6 |
| 14 | A Web-Based Survey System for Distributed Learning Impact Evaluation with the SAS System | Morgan C. Wang, Joel L. Hartman, Charles D. Dziuban |
The authors describe a web-based survey system that was developed for evaluating distributed learning at the University of Central Florida. The system structures itself around three components that are connected through SAS /Ge2 data sets: data collection, data validation, and analysis of survey results. This system differs from other approaches in that it incorporates a participation SAS data set - thereby restricting duplicate and unwanted responses. Before submission, participants are able to validate and modify their responses. A predetermined analysis design generates an immediate set of reports that can be modified according to user specifications. Results of the pilot test (summer 1999) are compared to those of a traditional mailed survey. SAS /Ge2 products used in this project includes base SAS, SAS/GRAPH, SAS/INTRNET, SAS/STAT, and webEIS software |
data cleaning, dataset, data step | source | 4 |
| 15 | A WYSIWYG Application to Summarize Categorical Variables Using the SAS System | Dorothy E. Pugh, Jeffrey M. Abolafia |
An ideal SAS frequency table program would generate tables presenting counts (and percents based on those counts) derived from any sets of observations that a user specified, and would put them in the locations the user chose. It would also contain a WYSIWYG interface that made efficient use of code. This paper describes a new high-level frequency table generation language (FlexTab) designed to meet these special needs. This language allows the user to control on a per-cell basis which observations to count to generate an N statistic (on the basis of specified variable values), and which two sets of observations to use to generate a fraction, converted to a percentage via PROC FORMAT. It uses PROC MEANS with a CLASS statement to create a data set with all the necessary frequency counts and uses the RETAIN statement with newly created denominator variables to put numerator and denominator values for that fraction in the same observation |
proc step, proc tabulate, proc format, proc freq, proc sort | source | 6 |
| 16 | Achieving Graphical Excellence with SAS/GRAPH Software | Archer R. Gravely | This paper will integrate Tufte's (1983) principles of graphical excellence with the use of SAS/GRAPH to produce plots and bar charts. The application of these principles will enable users to create presentations that communicate complex ideas with clarity, precision, and efficiency while avoiding the pitfalls of "chartjunk", graphical decoration, unintentional "optical art", and other forms of bad graphical design. Guidelines for choosing among tables, graphs, and text as presentation devices are also discussed. Graphical excellence with SAS/GRAPH requires the use of customization features such as NOTE and AXIS statements. Examples of customized plots and bar charts that illustrate the principles of graphical excellence are provided. This paper is based on the book Your Guide to Survey Research Using the SAS System published by SAS Institute in 1998 |
bar chart, horizontal bar chart, proc step, proc gchart, proc freq, line chart, proc gplot | source | 10 |
| 17 | Advanced DATA Step Techniques | Neil H. Howard | Understanding the intricacies of the DATA STEP can make all the difference in your SAS programming. There are additional SUGI 25 tutorials on the following DATA STEP topics: ! arrays, ! SAS date and time functions, ! debugging, ! functions and formats, ! efficiency, ! INPUT statement. This tutorial focuses on the more advanced techniques that capitalize on the power of the DATA STEP and working with (and around) the default actions. Topics include: ! compile versus execution time activities; ! organizing your data to maximize execution; ! data defaults, data conversions; ! missing values, formatting values; ! ordering variables; ! functions for: " editing data, " assigning values, " shortening expressions " performing table lookup; ! data management; ! effectively creating SAS data sets; ! the logic of the MERGE; ! efficiency techniques. 'Real world' examples are presented to illustrate each topic |
proc step, proc format, dataset, lookup, missing value, put statement, proc print, proc sort, sas log, if-then-else, raw data, input statement | source | 10 |
| 18 | Advanced SAS String Functions and a Little Recursion Protect Against Run-Time Errors | Amy Roehrig-Swinfor | A custom query tool written for a broad audience presents certain problems for the programmer. Some users are content with the point and click interface while power users want to type in code. In variable transformations such as logs and ratios, both approaches can result in errors if the data is at all dirty. We wanted to protect our system against mistakes in user-entered code as well as data problems, while still providing the flexibility of user defined variables. The new string functions rxparse and rxsubstr provide a clean approach to the problem that is easy to implement. This paper presents two SCL methods that utilize these functions to generate code-saving code: checks that prevent defined run-time errors | log, string functions | source | 3 |
| 19 | An Application for the Analysis and Visualization of Disease Incidence Data | Paul Nicholson, Deborah Allon, Estelle A. Gilman |
Descriptive Epidemiology is concerned with the analysis of the incidence of diseases both geographically and over time. A characteristic of this field of study is the need for access to diverse types of data. These include data on disease incidence, population data from the region of study, data relating to diseases and map data sets at various geographical levels. The ability to manage such diverse data in a way which allows easy and efficient access to different subsets of data is an essential preliminary requirement to subsequent analysis. Preliminary investigations usually consist of the tabulation of age-specific incidence rates for each geographical region and the calculation of standardised rates, typically presented as standardised morbidity ratios (SMRs). Subsequent investigations include the analysis of variations in incidence rates with age, sex and geographical region, tests for spatial clustering and the use of maps to display SMRs | proc genmod, data standard, relative risk, poisson distribution, proc step | source | 9 |
| 20 | An Automated Method to Create a Descriptive Index For a Directory of SAS Programs | Gary Cunningham | The methods presented in this paper can be used to significantly aid with a programming documentation effort by automating the process of creating a descriptive index for a directory of SAS programs. As referred to in this paper, a descriptive index is simply a listing of the name of each SAS program in a directory and its corresponding description. Using a pipe to communicate between the SAS System and Windows NT, base SAS code can be used to create a list of all SAS programs in a directory, get each program's description as written in the program's standard header, and output an index that lists each program's name and its accompanying description. This paper describes a SAS macro that uses the methods above to automate the creation of this index. The SAS macro was developed to run under Windows NT, in Release 6.12 of the SAS System for Windows. This paper is intended for users with an intermediate level of experience with the SAS language | macro definition, filename statement, macro variable | source | 5 |
| 21 | An Extension to SAS/OR Software for Decision System Support | Ali Emrouznejad | This paper explores the use of the optimisation procedures in SAS/OR software with application to the decision system support using Data Envelopment Analysis (DEA) techniques. Data Envelopment Analysis is a linear programming method for assessing the efficiency and productivity of Decision Making Units. Over the last decade DEA has gained considerable attention as a managerial tool for measuring performance of organisations and it has been used widely for assessing the efficiency of public and private sectors such as banks, airlines, hospitals, universities and manufactures. As a result, new applications with more variables and more complicated models are being introduced. On the other hand, the SAS System has numerous optimisation routines that handle the standard optimisation problems such as linear programming with all types of constraints. To facilitate the use of DEA by SAS users, a SAS/DEA code was implemented in the SAS programming language |
linear programming, data science, proc step, macro definition | source | 6 |
| 22 | An Interactive Macro Program for Line x Tester Analysis | Violeta I. Bartolome, Glenn B. Gregorio |
Breeders use line × tester analysis to evaluate the general and specific combining ability of various lines and to estimate gene effects. This analysis requires a lengthy series of complicated computational steps, which when done in SAS would require in- depth knowledge of the software. However, very few breeders have this capability; thus a macro program was developed for users who have limited knowledge of SAS. This program uses the Macro and DATA STEP Report Writing facilities in Base SAS to request information interactively and print out the needed analyses. The required statistical analyses were generated using the SAS/STAT module. You only need to know how to open the program file, invoke the macro, respond to queries, and print the output. This paper is intended for all levels of SAS users |
macro facility, proc calis, macro definition | source | 6 |
| 23 | An Introduction Parallel Computing | John E. Bentley | SMP, MPP, clustered SMP, NUMA, data parallelism, shared- nothing and shared-everything architectures. Understanding these terms and concepts is critical to getting the best performance out of your data warehouse or data mart. It's proven technology today to combine dozens or hundreds of CPUs to build a supercomputer to host terabyte-class data warehouses and data marts hundreds of gigabytes in size. However, largely because SAS Software prior to Version 8 existed in the "sequential" world (with the exception of | mp connect, proc sql | source | 10 |
| 24 | Analysis of Environmental Data Using JMP | Andy Mauromoustakos | The paper will focus on new features of JMP (Version 4) by performing analysis on two different environmental datasets. The first dataset is an observational study that requires a Split-Plot type analysis and REML estimation of the two random error terms. Comparisons of the main-unit treatment factor for each sub-unit treatment level are done correctly in the new Fit Model platform a feature that did not exist in the Previous Version. The second example dataset contains information on the physical and chemical properties, morphological description in eight selected soil profiles in Arkansas. Multivariate exploration of the data with emphasis on the similar but vastly improved functionality of the new version in data manipulation, processing and presentation of the results. JMP Script Language (JSL) allows the researcher to code macros for performing new analysis and drawing customized graphs | restricted maximum likelihood, dataset, sample, main effect, degrees of freedom, proc mixed, proc calis, proc corresp, effect size, proc step, proc freq | source | 6 |
| 25 | Analyzing Complex Sample Survey Data: A New Beginning | Linda Tompkins, Arlene B. Siller |
The National Center for Health Statistics conducts surveys with probability-based complex sample designs to produce estimates of health conditions for the civilian, noninstitutionalized population of the United States. Researchers usually present descriptive statistics such as means, totals, and their standard errors. However, in order to make statistically valid population inferences from sample data, standard errors must be computed using procedures that take into account the complex nature of the sample design. This paper compares estimates produced with PROC MEANS, Version 7's PROC SURVEYMEANS, and an alternative program, SUDAAN. The paper will also include benchmarks for comparing the three procedures in a Windows environment, as well as insights into the efforts necessary to produce these statistical outcomes |
sample, proc calis, proc step, proc surveymeans, proc means, regression analysis | source | 3 |
| 26 | Analyzing Network Management Data with the SAS System | Tracy L. Lord, Charles E. Keeler |
Network Management challenges are growing at a rapid pace. With more businesses becoming dependent on their network infrastructure, the need for proactive network diagnostic analysis is becoming a necessity. Network problems and outages have devastating impacts to businesses. The methods of collecting and analyzing network data continue to be an integral part of maintaining "network harmony". This paper describes a method for analyzing Network Management data including the building of an Information Warehouse, data interrogation, and report presentation via the Web. Sharing this data with network administrators and technicians has saved IBM time and money and has helped turn reactive network maintenance into proactive network monitoring | source | 2 | |
| 27 | Anyone Can Learn PROC TABULATE, V2.0 | Lauren E. Haworth | SAS Software provides hundreds of ways you can ana- lyze your data. You can use the DATA STEP to slice and dice your data, and there are dozens of procedures that will process your data and produce all kinds of statistics. But odds are that no matter how you organize and analyze your data, you'll end up producing a report in the form of a table. This is why every SAS user needs to know how to use PROC TABULATE. While TABULATE doesn't do anything that you can't do with other PROCs, the payoff is in the output. TABULATE computes a variety of sta- tistics, and it neatly packages the results in a single table. Unfortunately, TABULATE has gotten a bad rap as being a difficult procedure to learn. This paper will prove that if you take things step by step, anyone can learn PROC |
proc tabulate, proc step, ods html | source | 9 |
| 28 | Application of SAS Software in the Establishment of a Data Mart for Quality Analysis System in the Metallurgical Industry | Xiao Ji, Ge Yu, Jay Cao |
Data warehousing or data mart technology is gaining acceptance in more and more industries in China. The technology provides business units a solution as to how to efficiently manage the vast amounts of data from OLTP. It also supports the informational needs for OLAP application, decision support anddata mining in an enterprise. This work, using the actual application of a quality analysis data mart in the metallurgical industry as an example, explores using the star schema for a SAS data mart, and the related OLAP applications of the data mart. The establishment of the data mart meets the business needs of the quality control department. It offers business units a new alternative as to how to obtain information for decision support, and provides amodel as to how to build a departmental or an enterprise-wide data warehouse. This data mart uses SAS/WA as an administrator, and SAS/INTRNET & SAS/MDDB for information exploration. KEY WORDS Data mart, data warehouse, star schema, |
star schema, dimension table, data mart | source | 4 |
| 29 | Arrays: In and Out and All About | Marge Scerbo | This tutorial will present the basics of array statements and show easy examples of usage, leading to a final and more complicated process made efficient through the use of this statement. Arrays are SAS DATA STEP statements that allow clever programmers to do a great deal of work with little code. Iterative inputting of text and outputting of records are two tasks which can utilize the power of arrays to their fullest. Calculations of multiple values are also a simple task for this statement |
do loop, missing value, array, data step, numeric variable | source | 6 |
| 30 | Automatically Converting Data Set Specifications | Melanie A. Paules, Shi-Tao Yeh, Pilita R. Canete |
The Global Data Mart (GdMart) is a collection of SAS /Ge2 datasets in a standard structure that are used for reporting clinical data. The data mart building process entails mapping data fields from the Oracle /Ge2 database into SAS datasets based on mapping specifications. The data mart mapping specifications are held in Microsoft /Ge2 EXCEL spreadsheets. This paper describes an automated approach to building an attribute dictionary and the code to assign the attributes to the datasets during the data mart building process. The approach includes two steps. The first step uses a nested SAS program with SAS macros to read the dataset specification from EXCEL worksheets and build an attribute dictionary that is transported to UNIX. The second step uses a SAS macro to assign the attributes to the data mart data sets within the mapping programs |
excel, data mart, dataset, proc step, macro definition, macro variable, oracle, sample, macro loop, clinical trial | source | 6 |
| 31 | Automating the Selection of Controls in Case-Control Studies | Thiru Satchi, Edgar L. Mounib |
A case-control study is an observational study in which subjects are classified according to the presence ('cases') or absence ('controls') of the outcome of interest. These controls can then be matched with cases according to a characteristic(s), to ensure the two groups are comparable for further analysis. However, this matching process can be difficult, time consuming, and costly. Hence, we developed a SAS program to automate the selection of controls, taking into account age, gender, and other user-defined criteria. This program can be adjusted to account for varying case-control ratios, thus affecting the power of the study. It is intended for SAS programmers with a basic understanding of macro programming. Keywords: case-control study, matching, macro, CALL | proc step, proc sort, sample, proc freq, macro variable, macro definition | source | 6 |
| 32 | Avoiding Mayhem in the New Millennium: Working with Missing Data | JoAnn R. Matthews | Anyone who has ever worked with data is familiar with the adage "data are messy". And whether you have collected the data yourself, or inherit a dataset, there is usually missing data. This paper will discuss the issue of missing data and the techniques for identifying, processing, and manipulating missing data. Topics to be discussed will include how SAS /Ge2 processes data in the program data vector, the best | missing value, proc step, numeric variable, error message, retain, proc freq, proc univariate, list input, sum, raw data, data step, input statement, column input, formatted input, automatic variable, character variable, dataset, infile statement, if-then-else, sample, by group processing, options statement | source | 10 |
| 33 | Bring the Data Warehouse of Standardized Medical Costs to the Web | Priscilla Van Grevenhof, Kirsten Hall Long, Judith L. Wagner, Ahmed S. Rahman, James M. Naessens, Roger W. Evans |
A historical Cost/Utilization Data Warehouse developed in SAS provides Health Services Evaluation researchers with valuable data for analysis. All medical and hospital services provided at the Mayo Clinic and all services provided in Olmsted County from 1987 to 1998 currently populate the warehouse. The volume of data that is now available created some interesting challenges. Distribution of the metadata was needed as well as the mapping of data elements to terms the target audience understood. The need to provide the client with an interface to access the reference tables containing coding system descriptions, coding translations, and costing procedures through the same web interface was recognized. Creating a streamline process for data retrieval permitted the inclusion of a system to log the retrievals for documentation and security. Standardized analysis, reports and relevant metadata are consistently provided in conjunction with the detailed data retrieval | data mart, lookup | source | 3 |
| 34 | Bringing Rhyme and Reason to Your Data: A Beginner's Guide to Creating Reports that Communicate and Impress | Lora D. Delwiche, Susan J. Slaughter |
proc step, proc tabulate, proc print, ods html, format statement, proc import, dataset, proc format, class variable, date variable | source | 10 | |
| 35 | Building A Better Data Entry Application Using PROC FSEDIT | Derek P. Morgan, Michael A. Province |
It was once said that, "If you build a better mousetrap, the world will beat a path to your door." However, for data entry system programmers, "a better mousetrap" is designed to keep people away from our doors. We don't want visits from users with questions about using the system, nor from analysts who want to know why there are 500-pound children sprinkled liberally through the database. Finally, we definitely don't want administrators and supervisors to come knocking, demanding to know why the users and analysts are calling them. This advanced tutorial will cover items beyond the basics of the FSEDIT procedure with the goal of building a better data entry system. Familiarity with SCL is helpful. The topics to be covered include: Screen Ergonomics (use of color and placement of items) The difference between the FSEINIT section and the INIT section Cursor control-when NOT to use the defaults Screen variables vs |
where statement, proc step, data cleaning, character variable, sample, proc format, transaction data, missing value | source | 10 |
| 36 | Building a Data Mart on top of SAP R/3-HR | Christ D'haeveloose | data mart, data dictionary | source | 6 | |
| 37 | Building a Low Cost SAS Data Warehouse on NT Workstation | Zhuan (John) Xu | More and more companies now understand the benefit of data warehousing. However, a typical warehouse project uses expensive hardware and software. And it usually requires a team of developers. As the PC hardware becomes much more powerful and cheaper, and as the NT operating system becomes more stable, it is now feasible to develop a small scale data warehouse project on PC platform. Since SAS/BASE provides the much functionality needed for a warehouse project it is a good fit for such project. This paper presents a case study of the Medicare Data Warehouse at WellMark Blue Cross Blue Shield of Iowa. It contains the database, a front end for data extraction, a tool for data analysis, and an application designed to solve a special business issue. This paper will discuss a few issues related to such project and some techniques used |
extract, data warehouse, data governance, proc sql, excel, insurance claims | source | 4 |
| 38 | Building a System for Uniform Data Access in a Research Environment | Julia L. Bienias, Woojeong Bang, Charles L. Owen |
Do you work in a research or production environment in which you must produce many reports or statistical analyses from multiple data sets? Are your data structures sufficiently complex that you want to create a system that provides easy access to the data in a logical manner? Do you have users of different levels of sophistication and who have different goals? We were faced with these tasks, plus we needed to create a system whose code would be robust to changes in the underlying data warehouse. In our research group we have several ongoing studies with data stored in relational databases, flat files, and spr eadsheets, and there are dozens of active research projects. We created a common user interface for enterprise-wideaccess to data from all of these sources for all of the studies, using SAS/AF FRAME entries and Screen Control Language |
relational database, data warehouse | source | 6 |
| 39 | Building an Audit and Tracking System Using SAS/AF Software and SCL | Hung X. Phan | This paper describes how to build an audit and tracking system using SAS/AF and SCL. There will be a master data set which contains the original information and several transaction data sets which contain the new information. The audit system will take information from the transaction data sets and apply changes to the master data set. An audit data set will be used to keep track of all changes. The tracking system will display the master data set in the first data table on the top half of the screen and the audit data set in the second data table on the bottom half. T ot r a c kar e c o r dt h eu s e rc l i c k so nar o ww i t h i nag i v e n data table. The selected record is then highlighted and displayed in the top row of the two data tables where the user can easily compare and/or view changes made to the record. Buttons on a toolbar, FIND, SORT, HIDE/UNHIDE, TOP, BOTTOM, RESET, are utilized to help the user navigate throughout the system |
proc sql, audit dataset | source | 5 |
| 40 | By Hook or By Crook: Overcoming Resource Limitations | Curtis A. Smith | Have you ever had trouble getting a SAS job to complete, although your SAS code is bug free? Often, especially when processin g lar ge amounts of data, your operating environment just does not have enough resources to complete your SAS job the way you have written it. Likely, a solution to the resource problems you have or mi ght encounter exists. Herein, the author will share some of his favorite tricks to squeeze more out of the operatin g environment and for workin g SAS code around resource limitations. These tricks will incl ude SAS code, SAS options, and operating system parameters. This paper will cover subjects such as reducin g the number of SAS data sets needed, reducin g the size of SAS data sets, sortin g efficiencies, optimizing data library parameters, and cleanin g up the work environment | dataset, work library, proc means, by group processing, libname statement, proc sort, character variable, numeric variable, batch job, proc step, macro definition | source | 6 |
| 41 | Calculating the Probability of Hospitalization as a Function of Time, An Application of Cox's Proportional Hazards Modeling | Tyler C. Smith | The objective of this study is to analyze the differences between hospitalizations for two cohorts with incomplete data using Cox's proportional hazard modeling with right censoring. Utilizing the SAS procedure PROC PHREG, comparisons for specific hospitalizations and broad categories of hospitalizations were achieved for two cohorts over the time period of August 1, 1991 through September 30, 1995. An individual contributed to the Cox proportional hazards model until time of event, or until censoring at time of withdrawal or termination of study. The baseline option in PROC PHREG was used to create and output the survival estimates, which are a function of the probability estimates over time. Cox modeling showed no increased risk for hospitalization among subjects exposed to environmental contaminants when compared to those not exposed |
survival analysis, hazard function, survival function, proc step, proc phreg, predictor variable, probability distribution | source | 5 |
| 42 | Calculating Time Intervals Using RETAIN | Denise Gaskins | When I first began learning how to use the SAS system there was mention that one could carry data from one record to the next using RETAIN but no one was sure how to do this. I was told that it was hard to get it to work. Being a novice I took their word for it. Eventually, through collaboration, an adaptable algorithm using RETAIN was put together. This paper demonstrates how to use the RETAIN statement to compute an interval of time. It also references an undocumented way to use SAS time informats | retain, if-then-else | source | 2 |
| 43 | CATALOGER: An Application Development Tool to Search, Compare, and Document SAS Catalogs and Data Files | Christopher A. Roper, Michael Gilman |
This paper will present an application written entirely in SAS that greatly enhances the developer's ability to develop, compare, and manage SAS catalog entries and datasets. This application has point and click capabilities for printing catalog entries, including images of frame entries and complete descriptions of associated widgets directly into Microsoft Word documents, creating publication quality documentation at the push of a button. The batch printing facility allows for printing of all catalog entries of virtually any type, including Program, Source, SCL, and Slist (including expanded sublists) entries. The text searching facility will search through all text-based entries for character strings and allow point and click access to the locations in any catalog entry containing the text string | catalog entry, catalog, dataset | source | 4 |
| 44 | Changes and Enhancements to the SAS Component Language (SCL) for Component Development | Carl LaChapelle, Tammy L. Gagliano |
SAS Component Language (SCL), formerly referred to as Screen Control Language, is the object-oriented programming language designed to facilitate the development of interactive SAS applications with SAS/AF software. A lot has changed since Version 6, with respect to the features SCL has to offer. This paper will discuss some of the most significant enhancements and how your application can benefit by exploiting the newest technology. This is not an introductory paper but rather it assumes previous experience in writing SCL and FRAME-based applications using SAS/AF software. Knowledge of creating subclasses and/or overriding methods would also be helpful |
data cleaning, character variable, numeric variable, catalog entry, libname statement | source | 10 |
| 45 | Cinema and Seasonality: A SAS System PROC X11 Application | Joseph E. Earley, Jia L. Wang |
time series analysis, proc step, irregular component, seasonal adjustment, seasonality | source | 6 | |
| 46 | Client/Server Setup and Implementation - Web and Non-Web Environments | John W. Laing | macro variable, proc sql, options statement, proc step, sql pass-through, macro definition, catalog, sas log, sas output, sas library, libname statement | source | ||
| 47 | Codebook: Taking Another Look at Your Data | Greg Silva | You should have a good understanding of your data before you begin writing a program. A PROC CONTENTS of the data provides information about the data, but no examples of the data. A PROC PRINT shows the data, but in the case of large datasets, is impractical. Using PROC UNIVARIATE you can get a lot of information about the data, but it is not always helpful for the naive user. For these reasons, it became clear that another tool that would combine some of the best features of these procedures was needed. The codebook program provides a variety of information about the actual data in datasets, and presents the information in a user friendly manner |
proc step, numeric variable, proc contents | source | 3 |
| 48 | Configuring and Optimizing Scalable Performance Data Server on HP-UX - A Performance Achievement | Udo Schmitt | In recent months, Hewlett-Packard and SAS Institute have jointly embarked on performance tuning and optimization techniques addressing real customer needs in large-scale data warehousing environments. This paper describes the scalability of the SAS Scalable Performance Data Server software on HP-UX and illustrates the performance improvements available when running the HP-UX 11 64-bit operating system. It focuses on resource utilization, system architecture, new Scalable Performance Data Server 64-bit enhancements, and the results to meet and exceed the requirements for a large telecommunications customer, Mannesmann Arcor. Two configurations of SAS Scalable Performance Data Server on HP-UX systems are described, and some hints for optimizing this application on HP-UX are offered. The Problem Mannesmann Arcor, a European tele- communications company with some 4,000 employees, had a problem: Too many existing and potential customers were being lured away by competitive offerings | data warehouse, data mining | source | 2 |
| 49 | Constructing a Data Warehouse for Pharmacokinetic Data | Stanley P. Koprowski Jr., Dwight J. Fowler, Jeffrey S. Barrett |
The construction of a warehouse using data from DuPont Pharmaceutical's Clinical Pharmacokinetics Group with the SAS/WAREHOUSE Administrator product is described herein. Data sources incorporated into the pharmacokinetic warehouse existed in multiple formats (Oracle, EXCEL, SAS data sets, etc) and were represented by numerous individual files, rather then few large files. In most cases, the data density enjoys low granularity. The pharmacokinetic data warehouse draws data from many sources represented by multiple departments and spans long drug development cycles with varying degrees of detail. Additionally, data originated from both internal legacy systems or was obtained from an external contract research organization (CRO). Remote systems have been easily identified within the warehouse and views rather than distinct copies have been incorporated as data sources |
data mart, excel, data warehouse, pk parameter, data cleaning, libname statement, clinical research | source | 7 |
| 50 | Controlling Print Setup Options from within a Windows SAS Program | Delayne H. Stokke | This paper discusses the issues a SAS programmer needs to consider when creating printed output from a SAS program in the Windows environment. Background information regarding how PAGESIZE and LINESIZE options affect your printed output is included, along with a discussion of how these options relate to the controls accessed through the Print Setup dialog. A macro approach to controlling and coordinating print setup - including LINESIZE and PAGESIZE settings, font selection, and font size - is introduced. This paper is intended for SAS programmers who are working on a Windows platform. A basic understanding of SAS Macro Language is required. Base SAS statements, Display Manager (DM) commands, and Macro Language statements are used. The ideas presented here were developed and tested using SAS Release 6.12 TS Level 0020 as well as SAS Release 8.00 TS Level 00D1 running under Windows NT version 4.0 | options statement, sas output, macro definition, %if-%then-%else | source | 6 |
| 51 | Convert Your Model T into a Ferrari - Unleash the MDDB | Ian J. Sutton | The SAS/MDDB Server provides us with a powerful tool for enhancing the performance of SAS System reporting, especially within EIS type environments. The trick is to use it with the appropriate types of data and to populate it in a sensible manner. This paper discusses some of the fundamental concepts of what a Multi-Dimensional Database (MDDB) contains and how it works, starting from a very simple perspective and then introducing more detailed concepts that allow for efficient population of the MDDB. This paper also discusses when the SAS/MDDB Server is appropriate to use and also when it is not appropriate |
proc step, raw data | source | 7 |
| 52 | Correcting for Missing Discrete Responses in Business Surveys | Lawrence C. Marsh | Businesses often need an accurate profile of their customers in order to better serve them, improve products and make advertising more effective. Unfortunately, customers do not always completely fill out the survey forms, especially those product registration CARDS. The forms often have multiple choice questions and customers may leave some questions blank. This paper presents a maximum likelihood |
response variable, likelihood function, missing value, binary variable, sample, relative frequency, mse, proc freq, predictor variable | source | 10 |
| 53 | Creating a Point and Click Interface: An Example | Manoj Kulwal | where statement, dataset, txt | source | ||
| 54 | Creating Adobe Acrobat (PDF) Documents Directly from SAS Software | Paul C. Wehr | The Adobe Portable Document Format (PDF) specification allows complex documents to be shared across platforms and operating systems, independent of the software used to develop them. For SAS output, PDF can be used to conveniently distribute reports to a variety of clients, store the SAS component of a much larger document, such as a pharmaceutical new drug application, or archive historical results. Although tools such as the PDF virtual printer driver, and the Adobe Distiller allow anyone to create PDF files, it does require additional software, and a separate, manual step. The SAS2PDF macro was developed to provide the ability to convert standard SAS output to the PDF specification within the SAS job, and without the need for any additional software | sas output, lookup | source | 1 |
| 55 | Creating Case Report Tabulations (CRTs) for an NDA Electronic Submission to the FDA | Anita Rocha, Paul D. Hamilton |
The Food and Drug Administration (FDA) now strongly encourages all new drug applications (NDAs) be submitted electronically. Electronic submissions could help FDA application reviewers scan documents efficiently and check analyses by manipulating the very datasets and code used to generate them. The potential saving in reviewer time and cost is enormous while improving the quality of oversight. In January 1999, the FDA released the Guidance for Industry: Providing Regulatory Submissions in Electronic Format - NDAs. As described, one important part of the application package is the case report tabulations (CRTs), now serving as the instrument for submitting datasets. CRTs are made up of two parts: first, datasets in SAS transport file format and second, the accompanying documentation for the datasets | sas programmer, output delivery system | source | 4 |
| 56 | Creating HTML Output with Output Delivery System | Kirk Paul Lafler | Have you ever wanted to turn your basic monospace SAS Listing output into formatted output viewable by all on the web? If the answer is "yes", then this workshop will show you how to use the Output Delivery System (ODS) to create HTML output by formatting output in Hypertext Markup Language (HTML). ODS controls the formatting of all procedure and DATA STEP output and provides great flexibility when working with output. You will learn how to use ODS to create an HTML file, a table of contents, a table of pages, and a frame file. This workshop is intended for SAS Software users with some PC-SAS and HTML experience. Before attending this workshop, you should be comfortable using PC-SAS, an Internet browser such as Internet Explorer or Netscape, and HTML |
sas output, output delivery system, file statement, ods html | source | 3 |
| 57 | Crude Risk Assessment of Multi-Level Exposures in Epidemiological Studies | Stuart D. Long, Rebecca Darden |
Oftentimes in epidemiological research, we deal with case-control or simple cohort studies in which the exposures have more than two levels (i.e., we are looking at an exposure by outcome table that is rx2). However, the CMH option in PROC FREQ will compute the estimates of risk for only 2x2 tables, and not for the more general rx2 tables. Data sets are created for each comparison against the referent exposure group, and PROC FREQs are run on these individual data sets. The PROC FREQ then is re-run for the entire rx2 table to obtain the estimate of the overall linear association. This can become quite a tedious undertaking very quickly. In this paper, we present macro code that automates the creation of the separate data sets and the subsequent PROC FREQs, and summarizes the cell counts and statistics of interest in an easily interpretable table for the client |
proc freq, proc step, macro variable, response variable, %if-%then-%else, macro definition | source | 4 |
| 58 | Custom Design of Complicated Block Experiments | G. Bruce Schaalje, Chris H. Bodily, Bruce J. Collings |
situations. Nonetheless, many statisticians have recognized the There are many experimental design situations for constructing effective custom designs to fit the objectives and which the available material does not meet the required treatment available experimental material (Mead 1989). or blocking structure of a classical design. We present a SAS Although the use of computers in design of MACRO, based on PROC MIXED, which finds useful designs for experiments was surprisingly a relatively late development (Mead virtually all situations involving experimental material classified by 1989), many programs useful in designing experiments are now a single blocking variable. The procedure randomly constructs available either as stand-alone programs or as part of a statisti cs and examines a large number of possible designs based on the package. For example, the SAS System provides the FACTEX specified treatment and blocking structures |
proc mixed, proc step, main effect, covariance, covariance structure, treatment effect | source | 4 |
| 59 | Data Warehouse Design Issues for ERP | Mark Moorman | As many organizations begin to go to production with large Enterprise Resource Planning (ERP) systems, the need for reporting and analysis on this information has grown. This paper will discuss the issues associated with designing a data warehouse for an ERP system. This paper is intended for people with a basic understanding of both data warehousing and ERP systems such as SAP AG, Oracle, PeopleSoft etc. This paper will cover the following topics. Design issues for a data warehouse from ERP Extraction using SAS/ACCESS interface to SAP R/3 and SAS/ACCESS interface to Baan. Management using SAS/WAREHOUSE Administrator Loading issues for database design Attendees should leave this paper with a firm understanding of how to extract, transform, and load data from the major ERP systems into a SAS data warehouse |
slowly changing dimension, key, composite key, surrogate key, data mart, data warehouse | source | 5 |
| 60 | Data Warehousing for Data Mining: A Case Study | C. Olivia Parr Rud | Data Mining is gaining popularity as an effective tool for increasing profits in a variety of industries. However, the quality of the information resulting from the data mining exercise is only as good as the underlying data. The importance of accurate, accessible data is paramount. A well designed data warehouse can greatly enhance the effectiveness of the data mining process. This paper will discuss the planning and development of a data warehouse for a credit card bank. While the discussion covers a number of aspects and uses of the data warehouse, a particular focus will be on the critical needs for data access pertaining to targeting model development. The case study will involve developing a Lifetime Value model from a variety of data sources including account history, customer transactions, offer history and demographics. The paper w ill discuss the importance of some aspects of the physical design and maintenance to the data mining process | credit card, logistic distribution, sample, logistic regression, data mining, regression analysis, data cleaning, response variable, insurance risk score, data warehouse, interval variable, predictor variable, proc logistic | source | 9 |
| 61 | Data Warehousing for Manufacturing Yield Improvement | Robert A. Rutledge | This paper will describe the data warehouse/decision support/data mining system that we have developed to improve disk drive manufacturing yields in the IBM Storage Technology Division. The data warehouse combines operational data from our disk, wafer and head stack processing plants. Data is extracted weekly, cleansed and correlated with the test results for the disk drives assembled from the corresponding components. The decision support system, based on SAS/INTRNET , provides OLAP capability for yield analysis. This system enables the user to compare yield loss rates, by failure code, component source, EC level, date of manufacture, etc. The system also shows the sensitivity of drive yield to each continuous in-line measurement, and predicts the yield improvement that would result from component process improvements. The yield sensitivity studies are also used to identify critical parameters for input to the data mining algorithms of SAS/ENTERPRISE Miner |
proc hpsplit, neural network, drive test, data mining | source | 10 |
| 62 | Dead Graphs - RIP (How Interactive Graphical EDA Techniques Markedly Enhance Data Analysis/Display) | Dave L. DesJardins | The purpose of this paper is to highlight the important difference between "dead" graphs and "live" graphs. With live graphs, users can dynamically change the display of their information based on a quick, interactive cross tabbing of the underlying/input data. These live graphs will be a key component of a Census Historical Atlas CD- ROM that is to be published by the Census Bureau next year. With "live" graphs, we hope to bring an incredible capability to the general public -- to gain a quantum leap in our ability to see and understand our data. The concept of this new data display technology is based on the existing, new, and very powerful interactive graphics software packages that have already revolutionized the statistical analysis of our data. These packages create "live" graphs -- which are the fundamental building blocks of a new interactive Exploratory Data Analysis (EDA) methodology course currently being taught on an ongoing basis by the author | outlier, data science | source | 9 |
| 63 | Delivering South Carolina Health and Demographic Information Via the Web Using SAS/IntrNet Software | Heather L. Mann, Neel Batey, Paul Butler, Beth Corley, Peter Bailey |
This paper describes the use of SAS/INTRNETTM software to develop a health information query system available to the public via the web. The Office of Research and Statistics(ORS), collects various health and demographic data. These data include hospitalizations, census and numerous other data. ORS undertook the challenge to condense much of its data and make it available to the public via the web using SAS and SAS/INTRNET TM software. The data were summarized by selected categories and a "query system" was designed using SAS/INTRNET TM software, SAS web publishing tools and HTML forms. The use of SAS and SAS/INTRNETTM software allowed ORS to condense its data and make it readily available via the web. ORS receives numerous requests from various sources. Using the query system, requestors may obtain needed information in minutes instead of days |
proc step, macro definition | source | 5 |
| 64 | Deploying the SAS System using Windows NT Server, Terminal Server Edition | Daniel M. McLaren | Deploying the SAS System to a large number of Windows/G37clients can be time consuming and costly, and often results in a system that is difficult to maintain. However, by deploying the SAS System using Windows NT Server 4.0, Terminal Server Edition, it is possible to install and configure the SAS System only once, and to have it immediately available to all clients on the network. The installation of maintenance releases and service packs are also performed only once, further reducing the costs of deployment. In addition, Terminal Server can provide all SAS users on your network with access to the latest release of the SAS System running on a fast and reliable Windows NT system, even if the clients themselves are still running older operating systems such as Windows 95 or Windows for Workgroups | sas output, proc glm | source | 6 |
| 65 | Design and Analysis of Cancer Control Studies via the SAS System | Jeff A. Sloan, Charles L. Loprinzi, Paul J. Novotny |
This paper focuses on the details of study design, data elements and analytical methods necessary for oncology clinical trials when the primary endpoint involves symptom control rather than treatment outcome. We will present work carried out on previous North Central Cancer Treatment Group (NCCTG) Cancer Control (CC) clinical trials which involved standard and novel results which were obtainable via SAS code. Measurement issues with respect to pain, stomatitis, and other quality of life related endpoints will be highlighted. Considerations involved in determining clinical significance, and related power calculations, for these types of endpoints will be presented | clinical trial, clinical significance, missing value, imputation, sample, proc step, sensitivity analysis, power analysis | source | 10 |
| 66 | Detecting Curvilinear Relationships in PROC REG | Mel Widawski | We all know the world is not flat, but many researchers continue to model their world as a linear system. Many systems encountered in research are not linear; the relationship between motivation and errors is one example. Luckily, many relationships that are not linear may be expressed as linear relationships. We can detect these relationships with the PARTIAL option on the MODEL statement in PROC REG. I will show you how to interpret the plots produced, and demonstrate that curvilinear relationships are revealed in partial plots that cannot be detected in simple scattergrams. Finally, I will show you how to create transformed variables to represent the nonlinear terms, and the value of centering in creating Quadratic terms |
response variable, proc step, regression analysis, proc reg, proc univariate, anova, estimate, box plot, predictor variable, output, correlation | source | 9 |
| 67 | Developing a Corporate Plan for Training and Retaining SAS Programmers | Michael G. Sadof, Larry W. Lutz |
The SAS System is a valuable tool for information visualization, data warehousing, and decision support. But before it can be fully embraced by management, it must be shown to be an effective and sustainable solution. Training and maintaining a cadre of skilled and "business savvy" SAS programmers is an important part of the strategy that will bring SAS to the forefront in your organization. A successful plan should re-enforce management's commitment to SAS by extolling the benefits of rapid development, increased productivity, and reduced development costs. In this paper we will show how you can employ all the tools currently used for dissemination of information such as seminars, in-house classes, an accessible library of SAS publications, email notifications, and the Intranet to implement your training plan. Training materials should emphasize solid design and standards of coding. ISS standards can serve as a model but will generally have to be modified for the SAS environment | data warehouse, sas base | source | 6 |
| 68 | Dynamic Dataset Selection and Project Management using SAS 6.12 and the Windows NT 4.0 File System | Matthew T. Downs, Heidi M. Christ-Schmidt |
A common task of statistical coordinating centers is the production of interim reports to a Data and Safety Monitoring Board (DSMB) in order to present the status of an ongoing clinical trial. Frequently, the data summarized in these reports arise from multiple sources and come at varying schedules. Managing the receipt of data for complex trials can require a large organizational effort on the part of the coordinating center to ensure that each report uses the most current data. In this paper we present a system of dynamic data set selection and project management that uses SAS 6.12 and Windows NT 4.0 file system. In this system, programs used in the production of DSMB reports include at their beginnings a central utility program | raw data, call symput, proc step, dataset, libname statement, data cutoff, %if-%then-%else, macro variable, randomization | source | 5 |
| 69 | Dynamic Drillable Map on the Internet Using the Output Delivery System and SAS/GRAPH Software | Hsiwei Yu, Chapman P. Gleason |
Combining new features from the Output Delivery System (ODS) and SAS/GRAPH in Version 8, it is possible to create static drillable maps, not only hyper-linked for each region but also for annotated geographical points. We further developed techniques to send the resulting image and HTML file directly to the Internet, achieving dynamic drillable maps |
proc step, proc gmap, output delivery system, sample | source | 3 |
| 70 | Efficiency Techniques for Accessing Large Data Files | Andrew Wilcox, Manoj Kulwal |
SAS software offers the programmer a multitude of ways to enable fast data extraction from large SAS datamarts. The techniques discussed include the use of base SAS software i.e. indexes, Screen Control Language, Structured Query Language, HOLAP techniques for client server architecture and Scalable Performance Data Server component. This paper discusses some of the extraction options available across the broad spectrum of SAS versions and operating system platforms to minimise overall processing times. The areas to consider when talking about efficiency techniques include, CPU time, I/O, system memory usage, programming time and disk space | proc sql, proc step | source | 5 |
| 71 | Efficient SAS Programming Techniques | Kirk Paul Lafler | As SAS Software becomes increasingly more popular, guidelines for its efficient use are critical. Areas deserving special consideration include program execution, I/O, disk space, and program maintenance. A collection of techniques and sample code are presented to illustrate numerous practical techniques for gaining efficiency while using SAS Software | cpu time, proc sql, drop statement, dataset, if-then-else | source | 6 |
| 72 | Empowering Your End-Users Reporting Potential from SAS/AF Applications with SAS Enterprise Reporter | Gary L. Mason | Empower the end-user, by making SAS Institute's, Enterprise Reporter (ER), a reporting tool option in your SAS/AF application. This gives the user the opportunity to produce presentation quality reports. For ease of access to SAS ER in your SAS/AF application, add it as an additional toolbar icon. This paper will illustrate that as the icon invokes ER, the layout allows the user to create an ad-hoc report. The SAS/AF application passes the SAS dataset into the ER Design View which allows the end-user to immediately begin producing their own high quality reports |
dataset, proc step, proc report, bar chart, sas library, proc print | source | 4 |
| 73 | Enterprise Application Integration: Integration and Utilization of SAS Products | Matthew K. Hettinger | The enterprise today requires many applications (from multiple vendors) concurrently running in parallel on multiple platforms. Managing these applications and the resources these applications require sharing data and meta-data across the enterprise, and integrating these applications for cross functionality has been until recently intractable. This is due to reasons such as inherent differences in functionality, differences in program languages, lack of standard communication methods. With the advent of CORBA, JAVA and Enterprise Application Integration frameworks, these issues are beginning to be addressed with some success. This paper presents an Enterprise Application Integration framework based on an N-tiered, distributed, O-O architecture and allows for the development, testing and deployment of custom applications as well as for application integration of third party products. Five unique architectures are introduced within this framework | data cleaning, data mining | source | 6 |
| 74 | Enterprise Guide Development: Enterprise Client Software for the Windows Platform | Gail Kramer, Carol Williams Rigsbee |
SAS/GD2 Enterprise Guide/Gd4 is a point-and-click native Windows application for accessing SAS data, executing SAS code, and generating results. This true thin-client interface to the SAS System is designed specifically to run on Microsoft Windows platforms, including Windows 95 and 98, Windows NT 4.0, and Windows 2000. This state-of-the-art Windows interface offers users repeatability and provides transparent access to local and remote data (either SAS or non-SAS) and to the computation engines serviced by the SAS System residing on any Windows, UNIX, or MVS server |
sas enterprise guide, excel, proc sql | source | 3 |
| 75 | Enterprise Integration Technologies - What Is It and What Can It Do for Me? | Scott Vodicka | Today, businesses are faced with many challenges such as increased competition, acquisitions and mergers, new worldwide markets, and changing hardware and software environments. To survive under these conditions companies must integrate their applications throughout the enterprise. Enterprise Integration Technologies provides the ability to integrate your SAS applications in the diverse information systems arena. Enterprise Integration Technologies (EIT) is a new bundle of products from SAS Institute, that includes SAS/CONNECT software, SAS/INTRNET software, and SAS Integration Technologies, a new product with Version 8 of the SAS System. The products in this bundle support application integration and access to a SAS server for SAS clients, Web clients, and other thin clients. Our business intelligence, data warehousing, data mining, and decision support applications are enabled through the technologies in EIT |
business intelligence, data mining | source | 2 |
| 76 | Envisioning Kinaalda: Navaho Magic, Mystery, and Myth | Wendy B. Dickinson | This project focuses on historical data collected by Frisbie (1963) from the Navaho girls' puberty ritual, Kinaalda, which is part of the Blessingway. Frisbie conducted a comparative study of the Kinaalda ritual utilizing accounts from 19 different anthropologists. Frisbie then constructed a grid chart to compile the anthropologists and themes mentioned by each account. The purpose of this study is to conduct a secondary analysis of this historical database; then utilize cutting-edge visual information techniques to display results and communicate ideas to a new generation of scholars. This study incorporates the data collected by Frisbie, et al., with current, icon- driven graphing algorithms to produce a more efficient (and aesthetically appealing) visual data display | proc means, life table | source | 8 |
| 77 | Everybody Wants Reports in a Spreadsheet: A SAS Macro for Getting There | William C. Murphy | Have you ever worked hard to produce a good printed report, only to find out that your client wanted to rework the numbers? When I produce ad hoc reports from a medical claims database, I am constantly confronted with this problem. Everyone has ideas of appropriate number groupings and report styles. Using the dynamic data exchange ability of a Microsoft Windows NT environment, I developed a SAS macro to solve this problem. The macro transfers a SAS data set into a Microsoft EXCEL spreadsheet. This method allows the total control of your data that the SAS system offers, but provides your client with a report that they can customize. The exact construction of this macro, along with its limitations and uses, will be detailed |
dataset, proc step, excel, put statement, proc contents, macro variable, macro definition, %if-%then-%else, proc print | source | 3 |
| 78 | Fast Track to PROC REPORT Results | Meimei Ma, Sandra D. Schlotzhauer |
What tools do you use to generate reports or listings? PROC PRINT, PROC TABULATE, or DATA _NULL_? Perhaps it is time to check out the flexibility and features of PROC REPORT. An easy way to begin is to follow the "80/20" rule by using the interactive REPORT windows to get a head start on the syntax and options. After quickly creating a program for the essential parts of a report, you will have time left over to consider enhancements that may require more complex features. This beginning tutorial provides examples that you can follow to learn the steps involved in building reports interactively. The intent is to provide a starting point for making better use of PROC REPORT, not to present an |
proc report, proc step, proc means, class variable, character variable, adverse events, proc tabulate | source | 10 |
| 79 | Flexibility in Data Management Through the SAS System | Shawn P. Thomas, Brandon L. Welch, Keely P. Casey |
Researchers in education and other areas of the social science arena have a need for the ability to access, store, organize, and manipulate potentially large data sets. Useful data exist in a variety of formats and originate from a broad range of sources including the Internet, past research, and data gathering agencies. While increasing flexibility in solving problems, this variety of formats and sources also increases the level of difficulty involved in reading and controlling data. Further, once the data are accessed, stored, and organized, they frequently need to be cleaned and manipulated or reorganized to produce the necessary output or results. This paper presents a variety of methods via the SAS system which may increase the level of flexibility and control afforded investigators when faced with data management problems | sample, proc step, data governance, proc format, data science, proc import | source | 6 |
| 80 | 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 specific 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 p resented 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/GRAPH can be overcome by utilizing other SAS tools to prepare statistical data for appropriate graphical presentation |
confidence interval, proc step, odds ratio, proc gplot | source | 6 |
| 81 | From the Analysts to the Executive - Business Visualization and Enterprise Reporting with the SAS System | Joe Costanzo, Ben Zenick |
data validation rules, data profiling | source | 5 | |
| 82 | Functioning With Data Step Functions | Arthur L. Carpenter | Functions provide access to powerful tools and routines that make our everyday programming life easier. However since there are so many functions, some programmers are unaware of potentially valuable tools. To make matters worse many functions have been added to the SAS System since the Version 6 manuals were first published, and consequently many of these functions are under utilized. Additionally most of the functions that were originally only available in Screen Control Language are now, starting with the latest releases of Version 6, available in the DATA STEP. Selected functions from the categories of new, under utilized, neglected, and formerly SCL are discussed through the use of examples |
data step, proc print, proc step, macro function | source | 7 |
| 83 | Garbage In, Garbage Out. Does It Have To Be That Way? | Louise S. Hadden | As computer programming professionals, we are frequently presented with raw data that is, shall we say, less than ideal. This paper illustrates various SAS programming techniques for dealing with two separate "difficult" external files and a group of externally produced SAS data sets. These techniques, unless specifically noted, can be used with SAS under any operating system. In the process of completing the programming tasks described below, SAS version 6.12 for Windows 95/NT and SAS version 6.12 for AIX/UNIX were used | put statement, character variable | source | 5 |
| 84 | Generating Case Report Form Tabulation | David L. Wade, Shi-Tao Yeh |
This paper describes a novel and efficient algorithm for producing a Case Report Form Tabulation (CRT) listing. Where for the purposes of this paper, the authors define a CRT listing as a clinical report that interleaves a series of individual data listings (e.g., demographic characteristics, laboratory data, and vitals) by patient. The approach defined in this paper applies an efficient data integration process, and an important page consolidating post-processing algorithm. The SAS product used in this paper is SAS BASE on a UNIX platform | macro definition, txt, proc report, sample, proc step, macro call, macro variable | source | 5 |
| 85 | Generating Dates Automatically | Armando V. Fabia | This paper illustrates how we can use the date functions, particularly INTNX, and the CALL SYMPUT routine to automatically produce date values. Applications include calling data sets stamped with dates, updating dates in a DATA STEP expression, and putting dates into reports |
macro variable, call symput, datepart, date variable, sysdate9, data step | source | 3 |
| 86 | GenHTML: A Library for Converting SAS Datasets to HTML Tables | Robert A. Burnham | GenHTML is a library of macro functions that allow users to easily generate HTML tables from SAS datasets. The library is ideal for producing static pages, but is also fast enough to produce dynamic pages when called from a CGI script. The library is freely available at http://www.dartmouth.edu/~bburnham and is distributed with the hope that users will continue development of the library and share their contributions | proc step, call execute, excel | source | 2 |
| 87 | Getting Started with PROC LOGISTIC | Andrew H. Karp | logistic distribution, logistic regression, predictor variable, proc logistic, regression analysis, proc step, response variable, odds ratio, estimate, proc reg, confidence interval, data science, proc genmod | source | 5 | |
| 88 | Getting Started with Version 8 SAS/AF Software | Steven A. Wilson | This paper will be an introductory guide to the development of interactive computer systems using Frame technology in the SAS System Version 8. This paper is intended for both current applications developers as well as SAS System programmers who wish to learn how to begin developing applications using Frames in SAS/AF. In this paper we will examine the basics of Frame technology, including the Applications Development environment, SAS/AF components and their properties, and ways to add system functionality by using SCL (SAS Component Language). Finally, this paper concludes with a step-by-step exercise that walks you through building a simple SAS/AF application |
dataset, catalog | source | 10 |
| 89 | Graphs In a Minute | Harry Maxwell | Software from SAS Institute provides multiple ways of producing attractive graphics quickly using simple and intuitive user interfaces. This paper focuses on the Graph-N-Go /Ge2 application in Version 8.0 of The SAS /Ge2 System and the Graph ta sks in Enterprise Gu ide Version 1 .0. Using the point-and-click interfaces of these applications, you can visualize data quickly using a variety of chart and plot types and include your results into your documents and reports | sas enterprise guide, bar chart | source | 6 |
| 90 | Hidden Nuggets in Version 8: New Informats, Formats, and Functions | Michael D. Rhoads | Much of the interest in Versions 7 and 8 of the SAS system has been in major new features such as the Output Delivery System and long variable and table names. Hidden within the "Changes and Enhancements" documentation, however, are many other useful new items. This paper summarizes severalenhancements to SAS informats, and functions, and describes how they can make life easier for programmers who know about them | macro variable, proc format | source | 2 |
| 91 | How I Converted a Batch Application System to Client-Server and Lived to Tell About It | Curtis A. Smith | macro variable, excel, sas base, dataset, data science, txt, data warehouse, libname statement, proc print, macro definition | source | ||
| 92 | How to Customize Axes in PROC GPLOT | Izabella Peszek | This paper is intended for SAS users with at least intermediate experience using SAS/GRAPH . It presents some simple applications of SAS ANNOTATE facility to achieve custom- tailoring of the axes for the plot produced via PROC GPLOT. While PROC GPLOT does a pretty good job with auto-selection of tick marks on the axes, sometimes the built-in functionality fails. This happens when the plotted data points are irregularly spaced and you want your tick marks to correspond to data points in the graph. Another example is when PROC GPLOT is used with the ANNO option and the annotate data set has data points outside the natural data range used in PROC GPLOT. In such cases, the common solution is to determine the new range of axes and to specify the ORDER option in the AXIS statement. Sometimes, however, it is not easy to determine the optimal value of the BY step in the ORDER option. Left to SAS, the selection of the BY step can be less then ideal |
proc gplot, proc step, confidence interval, macro variable | source | 3 |
| 93 | How to Get the Online Information You Need: An Overview of "What's Where" for SAS System Help, SAS Online Doc, SAS Online Tutor, and the Web | James J. Ashton, Sean M. Gargan, Dee Stribling |
This paper describes where to look for information about the SAS | source | 5 | |
| 94 | How to Incorporate Old SAS Data into a New DATA Step, or "What is S-M-U?" | Andrew T. Kuligowski | S-M-U. Some people will see these three letters and immediately think of the abbreviation for a private university and associated football team in Texas. Others might treat them as a three-letter word, and recall a whimsical cartoon character created by Al Capp many years ago. However, in the world of the | dataset, set statement | source | 7 |
| 95 | How to Use the DATA Step Debugger | S. David Riba | All SAS programmers, no matter if they are beginners or experienced gurus, share the need to debug their programs. Many techniques have been suggested over the years to solve the problem of debugging DATA STEP logic. Until now SAS programmers have never been able to interactively watch the DATA STEP execute and debug their logic as it executes. Introduced in Release 6.11 of SAS, the DATA STEP Debugger is part of Base SAS software. It is an interactive tool that allows the SAS user the ability to watch and control DATA STEP execution. The DATA STEP Debugger can be used to: /xrhombuswatch program logic execute /xrhombusexamine variable values as they change /xrhombusrepeat program statements /xrhombusjump to other sections of the DATA STEP /xrhombusmodify DO loops interactively /xrhombustest for "dead" code /xrhombusgive commands /xrhombusobserve the results interactively The DATA STEP Debugger is a very useful tool, whether you are a Beginning SAS Programmer or a SAS veteran |
sas log, sas base, options statement, if-then-else, end, macro variable, macro definition | source | 9 |
| 96 | HTML for the SAS Programmer | Lauren E. Haworth | With more and more output being delivered via the Internet, a little knowledge of HTML can go a long way toward improving the appearance of your output. This paper introduces some simple HTML coding techniques that are useful for SAS programmers. The paper will show how your SAS output is converted into HTML, and dem- onstrate HTML tricks that you can use in your SAS code to dress up your SAS HTML output. All of the examples can be produced using either SAS version 6 or versions 7-8. /Gd8 I | ods html, sas output, footnote statement, proc print, proc step | source | 8 |
| 97 | If _n_=1 then SET | Paul D. McDonald | This paper and its accompanying poster is prepared for SAS Users and SAS Programmers of any experience level. They review basic applications of the " IF _N_=1 THEN SET dsname" feature of the SAS DATA STEP. It allows merging one record-datasets to multiple- record datasets |
source | 1 | |
| 98 | Implementing a Financial Balance Scorecard on Top of SAP R/3 Using CFO Vision as Interface | Ida R. Carapelle, Sophie M. De Baets |
decision analysis, master data management | source | ||
| 99 | Implementing Public Sector Performance Management: A Balanced Scorecard Approach | Kristin Nauta | Paralysis by analysis is very common in executive management today. Many organizations are experiencing death by details. They are measuring and tracking the right information, but have no effective way to gather, organize and easily view data and report on information that would help the corner office thinkers make decisions. The balanced scorecard approach focuses on KPIs (key performance indicators). KPI's are your organization's radar to the road ahead, acting as leading indicators to maneuver away from using last month's actuals as your forecast tool. Using past performance data (lagging indicators) to make decisions is like driving while looking in the rear view mirror. An effective balanced scorecard should have a mix of both outcome measures and performance drivers. Outcome measures without performance drivers do not communicate how the outcomes are to be achieved | proc sql, missing value | source | 4 |
| 100 | Improved Confidence Interval on the Mean Response in Simple Linearizable Regression | Mark Carpenter, Pandu P. Kulkarni |
Suppose that a response variable and its predictor variable are nonlinearly related but their relationship is linearizable through transformation, such as the log or square root transform on the response variable. In this situation, confidence intervals on the mean response at a given level of the predictor variable are traditionally done by first calculating the confidence bounds on the mean of the transformed response variable and then taking the inverse transform of these bounds. Although accurate for predication intervals, this ad hoc approach typically yields extremely biased intervals that do not produce the intended level of confidence for the mean response. In this paper, we propose an alternative approach using bootstrapped percentile intervals and bootstrap bias corrected intervals. This procedure will involve repeated application of the MACRO "jackboot.sas", provided by the SAS institute, PROC REG, and DATA STEP programming |
bootstrap, confidence interval, confidence level, regression analysis, sample, simple linear regression, prediction interval, predictor variable, proc reg, correlation, response variable, residual, proc step, macro definition | source | 6 |
| 101 | In-House SAS User's Guides: Site-Specific Information and Conversion Guides | Bruce F. Gilsen | ftp, autocall macro | source | 6 | |
| 102 | Indexing and Compressing SAS Data Sets: How, Why, and Why Not | Andrew H. Karp | dataset, character variable, where statement, numeric variable, proc step, length statement | source | 6 | |
| 103 | Information Delivery: Exploitation Strategies and Best Practices | Hugh G. McCabe | This paper presents a conceptual and technical overview of an award winning information delivery system in a medium sized managed care/health insurance company. Univera Healthcare/CNY, recipient of the 1999 Best Practices Award for Small Companies and Workgroups from The Data Warehouse Institute, has implemented an information delivery system which employs the SAS System for data access, data management and exploitation. The paper is intended to provide data warehouse/information delivery professionals and business managers with an overview of how the SAS "toolbox" can be used to develop an end to end information delivery solution. SAS System products discussed will include Base SAS | excel, sas base | source | 7 |
| 104 | Integrity Constraints and Audit Trails Working Together | Gary S. Franklin, Art Jensen |
New features in Version 7 and Version 8 of the SAS System support centralized control of updating. The integrity constraints feature defines rules to be enforced during updates, and the audit trail feature logs every update activity, with enough information to determine which updates failed, if any. When updates fail, data from the audit trail can be used to reconstruct the original updates so they can be successfully reapplied. Using these new features together can substantially reduce the amount of coding required to perform the repair operations | audit trail, dataset, constraint, key, foreign key, proc step, error message, proc sql, proc datasets, data integrity, proc contents, data cleaning | source | 6 |
| 105 | Intelligently Launching Excel from SAS Software, using SCL | Christopher A. Roper | The SAS Companion for the Microsoft Windows Environment illustrates one technique for opening Microsoft EXCEL from within SAS using DDE. This technique has several disadvantages. First, it does not check whether EXCEL is already open, it can unintentionally open multiple EXCEL sessions and this can be problematic. Second, it does not know with certainty when it has opened EXCEL, it relies on the SLEEP function to pause processing until a set amount of time has passed. Hopefully, the amount of time is sufficient for EXCEL to open successfully, but there is no guarantee. Finally, this set amount of time must be predetermined and sufficient for the worst case scenario (i.e. the slowest machine on which the code might possibly be run). This means the pause is always set higher than the minimum amount of time required for EXCEL to open, does not take advantage of the best resources available, and causes the end user to wait unnecessarily |
excel, conditional do loop, sas base | source | 4 |
| 106 | Introduction to Dynamic Web Publishing | Faith Reneé Sloan | The World Wide Web is rapidly becoming the client of choice in enterprise systems. Web applications provide universal access, easy deployment, and low maintenance costs. This paper introduces you to the technologies and tools you can use to create interactive Web pages that access databases. It will begin with an overview of HTML, SAS HTML formatting tools, Perl CGI scripts and progresses through to a discussion of a full- fledge application. Hypertext Markup Language (HTML) This section briefly introduces you to the art of creating web pages the old-fashioned way -- by hand. There are many software "tools" that allow you create web pages without touching any HTML. You have to still correct the HTML editors' assumptions so you still have to become familiar with HTML. Also, if you are serious about doing more than a simple page or two, and want to further your knowledge as well as your market value, a solid footing in the basics will greatly accelerate what you can do and command | proc contents, macro variable, proc tabulate, sample, ods html, dataset, %if-%then-%else | source | 9 |
| 107 | Introduction to Dynamic Web Publishing | Faith Reneé Sloan | The World Wide Web is rapidly becoming the client of choice in enterprise systems. Web applications provide universal access, easy deployment, and low maintenance costs. This paper introduces you to the technologies and tools you can use to create interactive Web pages that access databases. It will begin with an overview of HTML, SAS HTML formatting tools, Perl CGI scripts and progresses through to a discussion of a full- fledge application. Hypertext Markup Language (HTML) This section briefly introduces you to the art of creating web pages the old-fashioned way -- by hand. There are many software "tools" that allow you create web pages without touching any HTML. You have to still correct the HTML editors' assumptions so you still have to become familiar with HTML. Also, if you are serious about doing more than a simple page or two, and want to further your knowledge as well as your market value, a solid footing in the basics will greatly accelerate what you can do and command | proc contents, macro variable, proc tabulate, sample, ods html, dataset, %if-%then-%else | source | 9 |
| 108 | Introduction to PROC SQL | Rosalind K. Gusinow | proc sql, proc step, group by, order by | source | 11 | |
| 109 | Introduction to SAS/FSP Software in Version 8 | Terry Fain, Cyndie B. Gareleck |
SAS/FSP is a set of procedures used to perform full-screen interactive data entry, data editing, data retrieval, and data query. This tutorial provides a basic overview of SAS/FSP software under version 8 of the SAS System1. Topics include: creating a new SAS data set customizing data screens data entry data query browsing SAS data sets The focus of this tutorial is on PROC FSEDIT although other procedures such as PROC FSBROWSE and PROC FSVIEW will be briefly discussed. SAS Component Language (SCL) is considered an advanced topic and will not be covered in this tutorial |
proc step, dataset, catalog | source | 5 |
| 110 | Job Control Language and the SAS System for Beginners | Robert J. Nowosielski | SAS under IBM's MVS environment is a powerful data manipulator. But for the novice user, learning and understanding the methods for getting data into and out of the SAS environment can be frustrating. This is especially true in batch mode even though batch mode is often the best way to manipulate external data. This paper explains the relationship between the SAS environment and the MVS environment in terms of files, DD names and Job Control Language (JCL). The process of getting data into and out of the SAS environment in JCL is explained in simple but descriptive terms, using both real world examples and textbook definitions. The novice will gain a basic understanding of accessing and manipulating both SAS and external files using JCL in conjunctions with the SAS Cataloged Procedure. Keywords: JCL, DD NAME, JOB CARD, SAS Cataloged Procedure, FILENAME |
catalog, proc catalog, options statement, libname statement | source | 3 |
| 111 | Keeping Your Data in Step - Utilizing Efficiencies | Michael G. Sadof | In research and in business we typically read and manipulate large amounts of data. Analyzing and processing vast quantities of data can not only be a chore but it can be a resource hog. The SAS System provides us with the tools to turn that data into information very easily and efficiently. This paper will focus on processing large data sets and explore the ways in which we can use the DATA STEP effectively to make the best use of system resources. It will explore topics such as: Keep, Drop, and Lengthstatements Efficient Merging Faster Sorting Indexing Compressing Benchmarking of SQL, vs. Sort, vs. Merge Manipulating workspace Summarizing * Reformatting By utilizing these efficiency techniques you can m a k et h el e a pf r o man o v i c et oa ne x p e r tS A S programmer with ease |
proc step, data step, drop statement, proc sort, proc sql, length statement, numeric variable, proc contents, proc datasets, proc format, where statement, cpu time, dataset, if-then-else | source | 7 |
| 112 | LabOne's Production Reporting Environment - Post-Web | Steven D. Beakley | LabOne has recently experienced unparalleled diversification and growth of its core businesses. This fact, along with significant changes in the diversity and magnitude of informational needs of LabOne Statistical Engineering clients, both internal and external, has created a paradigm shift in how we process, present, and distribute the requested information. We will discuss the evolution of our departmental goal to provide such value-added statistical and historical information, and the process changes we implemented to make our goal a manageable, auditable reality. With the implementation of our corporate intranet came a change in our departmental strategy for delivering all this information. The following paper presents the strategy and the steps we have taken or will take in meeting these objectives since our web enablement endeavors began | out=, dataset | source | 2 |
| 113 | LabOne's Production Reporting Environment - Pre-Historic to Pre-Web | Steven D. Beakley | LabOne has recently experienced unparalleled diversification and growth of its core businesses. This fact, along with significant changes in the diversity and magnitude of informational needs of LabOne Statistical Engineering clients, both internal and external, has created a paradigm shift in how we process, present, and distribute the requested information. We will discuss the evolution of our departmental goal to provide such value-added statistical and historical information, and the process changes we implemented to make our goal a manageable, auditable reality. With the implementation of our corporate intranet came a change in our departmental strategy for delivering all this information. The following paper presents the strategy and the steps we took in meeting these objectives prior to our web enablement endeavors | batch job, macro variable | source | 6 |
| 114 | Legend Options using Multiple Plot Statements | Julie Wildman-Pepe | A graph with both left and right vertical axes is easy to construct using SAS/GRAPH /Ge2 PROC GPLOT with multiple plot statements. Producing a correct legend requires some additional coding. Options for creating the legend are provided in this paper. Using the LEGEND statement requires an extraneous plot be hidden, thus providing information for the legend. This option is useful if you can hide a symbol within a symbol (i.e., dashed line and solid line or circle and dot). Another option is to use the FOOTNOTE statement to simulate a legend. For this option to work, symbols used in the graph must be reproduced in the footnote legend |
footnote statement, proc gplot, proc step | source | 6 |
| 115 | Let Them Have It Their Way: EZFLXRPT, an Interactive Request Interface for Easy and Flexible Ad Hoc Reporting Based on the SAS System | LeRoy Bessler | No, the user does NOT have to make up her/his mind. You can, indeed, build a WRITE-ONCE / USE-MANY / DO-ANY reporting application: build a tool, not a straightjacket. It is possible to provide users at any SAS site with reporting flexibility with minimum software investment. When a professional programmer designs and builds a reporting application, there is the understandable, but nevertheless unreasonable, expectation that intended users can foresee all needs. Deadly for deadlines, estimates, and budgets is expansion in project scope once work has begun, or is believed complete. A "no-brainer", fixed-cost-certain way to provide user-definable ad hoc reporting is to buy more software, typically a fancy query or reporting tool. Well, it may come with its own limitations, and the inevitable tormenting temptation of future upgrades, to trade new limitations for old | proc print, proc step, macro facility | source | 4 |
| 116 | Let There Be Highlights: Data-driven Cell, Row and Column Highlighting in %TAB2HTM and %DS2HTM Output | Matthew J. Flynn, Ray Pass |
proc step, proc tabulate, proc sql, macro variable | source | 7 | |
| 117 | Let's Play a Game: A SAS Program for Creating a Word Search Matrix | Robert S. Matthews | This paper describes a process for inserting a list of words into a matrix of random letters. The output produces two tables. The first table is a display of the matrix after the words in the list are inserted, but before random letters are inserted into the remaining cells in the matrix. The second table is the final matrix after empty cells are filled with random letters. The program has two levels of difficulty and highlights a number of techniques for working with two-dimensional arrays. It is applicable to all versions and platforms of The SAS System | source | 4 | |
| 118 | Letting Firedrills Put Themselves Out on the Web with SAS Software | Robert M. Romero, Heather M. Tavel |
In spite of gathering requirements and developing many production reports, developers are often asked to drop everything in order to produce an ad hoc report for upper management. The continuing occurrence of these requests causes the developers to become extremely frustrated, especially if the time lines on current projects are still expected to be met. A tool that can help solve this problem is an ad hoc query tool on the Web. With the requirement by U S WEST users that applications be on the company's intranet, SAS/INTRNET is used to develop a tool that will allow many of these requests to be accomplished by the users themselves. In order for the tool to be successful, well thought-out data marts must be in place. The data marts must not only contain detail data sets, but summarized data sets that are grouped by all possible categories and combinations of categories. Date variables are also designated so that they can be used for the timeframes that the users want |
data mart, date variable, excel | source | 2 |
| 119 | Leveraging Your ERP Investment with the SAS System | Steven Sober | where statement, data warehouse, macro facility | source | ||
| 120 | Linear and Non-linear Modeling of a Dose-Response | Sofia Paul | In clinical trials r esponse variables are measured at different times and doses. This paper explores methods to determine the dose that optimizes the response based on multiple responses and doses. Linear dose-response modeling can be performed using repeated measures analysis (using PROC MIXED) for change in response (Y) using dose (X) as a continuous explanatory variable with time, dose, and time-by-dose interaction as fixed effects. The error structure to model the correlation between the repeated measures needs to be determined e.g. using the Akaike information criteria. To compare the responses at each dose, additional ana lyses using dose as a classification variable can be performed and pairwise comparisons can be obtained |
dose, predictor variable | source | 4 |
| 121 | Make Room for Me | Gregory E. Taylor | This paper is most beneficial to mainframe users who frequently use the FSVIEW and FSEDIT procedures to visualize data under a MVS/TSO environment. Working with tables in FSVIEW in a TSO mainframe environment can at times be tedious because of the limited screen width. Formatting columns to smaller widths can increase the number of columns that may be viewed at one time. Sometimes, just a brief glance at the table will allow an idea of what might be an acceptable format for better visualization. But using this approach allows for a great possibility of truncating the view of the data. A better | create table, proc sql | source | 3 |
| 122 | Making the Transition from College to Industry | Brian K. Varney | Most people who end up as SAS programmers do so coming from a statistics or computer science program. Many times neither does a good enough job at teaching the fundamentals of SAS programming. Computer science programs typically teach lower level languages such as C++ and statistics programs focus more on statistical theory and analysis. The intr oduction of SAS programming gets left up to industry. Over the past few years more and more colleges have been implementing SAS programming courses which is helping tremendously | character variable, data step | source | 3 |
| 123 | Master Your Domain: Automated Software Distribution in a Client/Server Environment | Jeffrey L. Lessenberry | proc step, proc download | source | ||
| 124 | Merges and Joins | Timothy J. Harrington | This paper discusses methods of joining SAS /Ge2 data sets. The different methods and the reasons for choosing a particular method of joining are contrasted and compared. Potential problems and limitations when joining data sets are also discussed. The need to combine data sets constantly arises during software development, as does the need to validate and test new code. There are two basic types of join, vertical, and horizontal. Vertical joining is appending one data set to another, whereas horizontal joining is using one or more key variables to combine different observations. Vertical Joining A good example of vertical joining is adding to a data set in time sequence, for example, adding February's sales data to January's sales data to give a year-to- date data set. Providing both data sets have the same variables and all the variables have the same attributes such as data type, length, and label, there is no problem | proc sql, proc step, order by, missing value, create table, data merging, right join, full join, inner join, raw data, by group processing, proc sort, where statement, coalesce function | source | 6 |
| 125 | Messaging Systems: SAS Tools for Internet-Based Communications | Gregory S. Barnes Nelson | Programmers have developed a variety of communication methods for disseminating information programmatically to a person or group of people. From the early "form-letter" days using PROC FSLETTER to current methods of personalized e-mail and Internet based communications, we have sought to create relevant content for timely information. In this paper, we will explore three different categories of messaging: store and forward, publish and subscribe and remote procedure calls. Each of these will be presented along with methods for constructing and implementing the message-based procedures in |
filename statement, sas base | source | 9 |
| 126 | Migrate to ORACLE? I Need My SAS Software! | Dianne Louise Rhodes | Recently we have heard SAS users asking, "My shop is moving to Oracle|Sybase|Informix. They tell me I can't use SAS anymore. They tell me I don't need SAS anymore. I don't know SQL and I don't want to write SQL pass through. I need my SAS! What can I do?" This paper introduces you to some basic relational database management systems (RDBMS) concepts. It discusses some design considerations used to construct RDBMS. And it answers the questions presented above. Why you still need SAS. How to use SAS with an RDBMS. Easy ways to write SQL and make the connection to Oracle; create SAS datasets from Oracle; and join SAS data and Oracle data | proc sql, relational database, normalization, dataset, create table, key, proc step | source | 5 |
| 127 | Migrating Your SAS/AF Frames to the Web | Carl LaChapelle, Tammy L. Gagliano |
As the Web continues to gain in popularity for delivering critical information and offering better customer service, more and more businesses are exploring ways to exploit this technology to give them a competitive edge. Not only are new applications being designed for Web deployment but existing applications are being considered for deployment as well. Given that, just how easy is it to move your existing SAS/AF application to the Web? Although the question may seem simple, there is no simple answer. Instead, it will take /Gb7 an understanding of what technology is available to help you accomplish this task /Gb7 a careful examination of the underlying architecture of your existing application to determine how much of that application can be reused versus rebuilt. This paper will attempt to shed some light on both of these areas. While this paper focuses on solving these problems using Java that is not meant to imply that Java is always the best choice for every Web application |
dataset, proc sql, sas output, sas base, catalog entry | source | 10 |
| 128 | Minimizing Development Risk While Maximizing Warehouse Performance on UNIX Systems | Jeff LeSueur | Like many companies, BMG Direct is coping with business challenges which put pressure on sales, profitability and overhead. While a data warehouse represented considerable long term potential in developing incremental profit, it also represented a significant and immediate expense and risk. BMG management needed an approach which assured that development would be both successful and within budget. By adopting a low risk approach with management, which emphasized cost neutrality and a "try before you buy" test effort coordinated with SAS and IBM, initial funding was easily acquired to support a bench mark test of the warehouse hardware and software. Testing would confirm the design goals could be met, and would expose any unexpected risks. Since actual performance was nearly four times better than expectations, the project was approved with a high level of confidence | sample, dataset, raw data | source | 5 |
| 129 | Mixed-Up Mixed Models: Things That Look Like They Should Work But Don't, and Things That Look Like They Shouldn't Work But Do | Robert M. Hamer, Pippa M. Simpson |
proc step, proc mixed, proc glm, repeated measures, proc genmod, covariance, covariance structure, fixed effects, correlation, compound symmetry, estimate, proc calis, least squares mean, treatment effect, degrees of freedom, null hypothesis, likelihood function, homoscedasticity | source | 8 | |
| 130 | Modeling Longitudinal Growth Data and Growth Percentiles with Polynomial Gompertz Model in SAS Software | Inna Perevozskaya, Olga M. Kuznetsova |
The analysis of most designed experiments and observational studies require mixed models. Version 4.0 of JMP Software has greatly expanded its capabilities for analyzing mixed models by including restricted maximum likelihood (REML) methods. This paper will demonstrate the process of analyzing several mixed models using the 4.0 version of JMP. Models examined include randomized complete block designs, incomplete block designs, split plot designs, strip plot designs, and designs with random covariates, where examples are drawn from engineering, medicine and agriculture. Version 4.0 of JMP can fit many of the standard mixed models and the analysis provides estimation of the variance components, estimates of the fixed effect parameters, tests of hypothesis about the fixed effects parameters, appropriate estimated standard errors, confidence intervals about variance components using REML, and least squares means and comparisons | proc mixed, proc calis, restricted maximum likelihood, least squares mean, anova, likelihood function, fixed effects, proc step, main effect | source | 6 |
| 131 | Modeling Longitudinal Growth Data and Growth Percentiles with Polynomial Gompertz Model in SAS Software | Inna Perevozskaya, Olga M. Kuznetsova |
Polynomial Gompertz growth model, that models the logarithm of the relative growth rate with a polynomial, provides a good fit to individual growth curves and growth percentiles. Since the expression of a Polynomial Gompertz growth function contains an integral, this nonlinear model cannot be fitted by SAS Procedure | macro variable, response variable, macro loop, macro call, proc gplot, %if-%then-%else, proc step, macro definition | source | 6 |
| 132 | Motorola's Engineering Data Analysis System: 10 Years of Analytical Excellence | C. Michael Whitney, Leslie Fowler |
In an effort to improve semiconductor product yields, an engineering data analysis application was developed in 1989 for engineers at Motorola's Advanced Products Research and Development Laboratory (APRDL). This application was called EDAS - the Engineering Data Analysis System. What began as a small text-based tool providing a handful of statistical reports used in one laboratory has grown to a large graphical system providing over 55 different analytical tools, used globally in Motorola's wafer fabrication plants and final manufacturing sites. The SAS system has been used as the basis of the EDAS system throughout its ten-year history. Whenever SAS Institute releases a new version of the SAS system, EDAS is upgraded to take advantage of those new features. Currently, the Analysis & Reporting Tools team is evaluating SAS version 8 to determine which new features can be utilized in the next major release of | proc means, correlation, anova, regression analysis, data science | source | 7 |
| 133 | Multidimensional Arrays in SAS/IML Software | Michael Friendly | This paper describes a data structure and a set of SAS/IML modules for handling multidimensional arrays in a flexible way. The data structure provides variable names and labels for the levels of the table for all dimensions, along with the table data. The processing modules ilustrate: Generalized transpose of a multidimensional array, as inAPL. Applying a reduction operation over specified coordinates. Printing a labeled multidimensional array. Producing L ATEX and HTML tables from n-way arrays. Transferring such data between SAS/IML and other software. The usefulness of this approach is illustrated with examples from my work on graphical methods for categorical data |
proc freq, sample, proc sort, proc step | source | 8 |
| 134 | Multiple Comparisons with a Control in GEE Models | Jean G. Orelien, Jun Zhai, Richard W. Morris |
In toxicology, it is often of interest to perform a Dunnett's test to determine whether a pesticide or toxic substance is different at various levels from a control. The problem is complicated by the fact that often a traditional analysis of variance (ANOVA) model cannot be used because of a complex variance structure. For example, it might be of interest to determine whether rats receiving different doses of a toxic substance are statistically different with respect to certain outcome measures from a control. Because of concerns that animals from the same litter might be correlated, generalized estimating equations (GEE) methods are often used in modeling these types of data. In SAS, PROC GENMOD allows GEE fitting but does not provide p-values for multiple comparisons with a control. In this paper, we discuss how the algorithm proposed by Hsu ( 1992) for performing the Dunnett's test and implemented in PROC GLM in the LSMEANS statement can be extended to GEE models |
proc step, covariance, proc genmod, correlation, proc glm, dunnett test, proc factor, dose, macro definition | source | 6 |
| 135 | Multiple Imputation for Missing Data: Concepts and New Development | Yang Yuan | Multiple imputation provides a useful strategy for dealing with data sets with missing values. Instead of filling in a single value for each missing value, Rubin's (1987) multiple imputation procedure replaces each missing value with a set of plausible values that represent the uncertainty about the right value to impute. These multiply imputed data sets are then analyzed by using standard procedures for com- plete data and combining the results from these analyses. No matter which complete-data analysis is used, the pro- cess of combining results from different imputed data sets is essentially the same. This results in valid statistical in- ferences that properly reflect the uncertainty due to missing values. This paper reviews methods for analyzing missing data, including basic concepts and applications of multiple im- putation techniques. The paper also presents new | imputation, proc step, multiple imputation, regression analysis, proc mi, proc mianalyze, covariance, missing value, estimate, propensity score, out=, proc reg, proc standard, output delivery system, sample | source | 10 |
| 136 | Multiple Users to Update the Same Dataset in the Windows Environment | Quan Ren | Windows operating system doesn't allow multiple users to update the same SAS data set in the same time, however in the real life it is very often that several users need the right to update the same SAS data set in the same time. For instance, several people enter data into the same SAS data set in the same time; everyone needs the right to update the same data set. This paper is mainly to present an idea to solve this problem and make Windows to allow multiple users to access even update the same SAS data set | dataset, network data | source | 4 |
| 137 | Multiprocessing with Version 8 of the SAS System | Cheryl A. Garner | mp connect, sas output, elapsed time, macro variable | source | 6 | |
| 138 | My Favorite Functions: Using the SAS Macro Language to Create User-Written Functions | Peter J. Lund | Just like Uncle Martin had to sometimes raise his antennae and wiggle his finger to get a job done, sometimes it is helpful to enhance your SAS toolkit with functions and utilities you've written yourself. This paper briefly discusses a number of functions I've written that have become invaluable tools. SAS is a powerful, robust language. There are functions and formats that allow you to read, write and manipulate data almost anyway you need to. However, every once in a while you come up with a situation that you need a few lines of code or a few embedded functions to handle. This is where the SAS macro facility can come to the rescue | macro definition, macro variable, macro facility, date variable | source | 3 |
| 139 | New Features in SAS/Warehouse Administrator | Ken Wright | SAS/WAREHOUSE Administrator 2.0 introduces several powerful new features to assist in your data warehousing efforts. The Process Editor has been greatly enhanced to support the creation of multiple tables from a single step, the creation of multiple tables in a single job, the scoping of code generation through the concept of a job, and to maintain metadata about dependency relationships between jobs in your warehouse. Support for OLAP reporting needs has been integrated and greatly enhanced through the addition of new OLAP summary data stores |
data step, filtering, dataset | source | 6 |
| 140 | Not on the Menu..., Visualizing Application Path Choices | Thomas A. Miron | dataset, group by | source | 9 | |
| 141 | Notes from the Outer Limits of 4GL RDBMS/SQL: The SAS System to the Rescue | Sigurd W. Hermansen | Relational schema and 4th Generation Languages such as the Structured Query Language, SQL, greatly simplify conditional subsetting and join/merges of data tables. But what do you do about unnormalized files that contain duplicates and inconsistencies? Or how do you select the nth item in a group of records? Do some database programming problems fall outside the normal scope of SQL or any other language based on relational algebra or calculus? This tutorial emphasizes the art of recognizing database programming problems with natural and efficient SQL solutions vs. misfits that really do lie outside the range of standard SQL forms. Examples show how the SAS System fills in gaps in an enterprise RDBMS | proc sql, key, data step, proc step, dataset | source | 6 |
| 142 | ODS for Dummies | Christopher R. Olinger | The Output Delivery System (ODS) in Version 7 and Version 8 of the SAS System provides a powerful feature set for customizing SAS output. This paper is primarily an introductory look at ODS for the person who is a beginner at SAS programming. Also included are some tips for more advanced SAS users based on feedback that we have received thus far |
output delivery system, sas output, ods html, file statement, data step, proc print, macro variable, raw data, ods rtf, proc step, proc template | source | 10 |
| 143 | ODS, YES! Odious, NO! - An Introduction to the SAS Output Delivery System | Lara K. Bryant, Sally M. Muller, Ray Pass |
ODS (originally pronounced 'odious', but now pronounced 'ya gotta love it') is the new SAS system facility, starting with Version 7, that you can use to format your PROC and DATA output in ways just recently only dreamed about. ODS offers greatly enhanced flexibility and ease of use for both new SAS users and experienced SAS users new to ODS. This paper will discuss the basics of ODS, emphasizing methods of converting standard PROC output to the following destinations: - Listing - default (the only way to get PROC output up to now) - HTML - HyperText Markup Language (probably the best tool available for information exchange today) - Output - SAS data sets (no more PROC PRINTTO!) And, although not covered in this paper, these destinations are also available as experimental: - RTF - Rich Text Format (for importing into MS Word) - PS/PDF/PCL - Post Script, Portable Document Format, Printer Control Language (for high fidelity printers) - LaTex - text formatter |
output delivery system, proc step, proc univariate, ods html, proc reg, run, ods output, ods listing, file statement, proc print, proc freq | source | 10 |
| 144 | Office Pooling with SAS Software | Wayne F. Woo | In April 2000, Indianapolis has the honor of hosting two big events, SUGI and the NCAA Basketball Final Four. During this time of year, countless amounts of office pools crop up to host friendly wagers among co-workers over who will win the tournament. Each pool will have an organizer who manages the pool. Many organizers will use manual and paper-based methods to run their pool. While learning SAS/AF /Ge2 hoping to pick up additional programming skills, I built an application that enables NCAA pool organizers to more easily manage their office pools. This paper describes the resulting product, its features, and how they are implemented in SAS |
txt, proc print | source | 4 |
| 145 | One Macro Does It All - Advanced Enhancement of PROC REPORT | Peng-fang Yen, Jeff Gudmundson |
PROC REPORT is the most powerful and productive tool among all Base SAS report generators. One of its most appreciated things is that there is no need to pre-figure the column position for each displayed variable and its header. However, some desired reporting-formats can not be accomplished by this procedure such as page break at a value of variable when its whole group cannot fit on a page, or wrapping up values of an ACROSS variable on the next page. And, it is inconvenient and time- consuming for coders to use other SAS report generators for these desired formats. A macro to accomplish all of these with the full use of PROC REPORT has been developed at TAP Holdings Inc.. Additionally, it handles content-dependent footnotes, places page-numbering at a fixed position at the bottom of page and allows a combined use of aligning title and footnote texts on the left, on the right and in the center of page |
proc report, proc step, macro parameter | source | 6 |
| 146 | OOP Needs OOA and OOD | Andrew B. Ratcliffe | So SAS/AF supports object-oriented programming (OOP), but does that mean that all applications developed using SAS/AF are object-oriented? Not so. This paper provides an outline of an object- oriented approach to producing true object-oriented applications. The paper emphasises a focus on objects, not processes, combined with proper object- oriented analysis (OOA) and design (OOD). Techniques and practices covered in more detail include the use of CRC (Class, Responsibility, and Collaboration) CARDS, the UML (Unified Modelling Language), software modelling, and an iterative |
by group processing, sample | source | 5 |
| 147 | Optimizing SAS Software on Windows NT: A Guide to Performance Tuning Your Applications Server | Peter Parker | Optimizing SAS software from the perspective of an applications programmer requires writing efficient and clever code. However, here I'll re-examine my computer system with a systems administrator's eye. I'll be more concerned with the speed and the efficiency of the hardware and the operating system, Microsoft Windows NT 4.0, as it runs SAS software. Optimization is making the computer system run faster by minimizing bottlenecks. Running SAS software to manipulate large data sets and to crunch vast amounts of numbers puts a significant load on a computer. Any system improvements would produce faster query and report turn-around, creating a more efficient office | length statement, elapsed time | source | 6 |
| 148 | OS/390 SAS Version 8 Web Gifs and HTML Using ODS and SAS/GRAPH Software and MXG | Neal Musitano Jr. | OS/390 mainframe computer performance data is collected using IBM System Management Facilities (SMF) and Resource Measurement Facility (RMF) data. The raw SMF/RMF data is processed with MXG and SAS software into an easily usable SAS format. This paper utilizes that performance data. The MXG Performance Database, i.e., daily, weekly or monthly contains millions of performance variable values all in SAS readable format. The intent of this paper is not to explain MXG software, which is SAS source code, but to display some user examples of OS/390 computer performance graphs and reports as WEB GIFS and HTML output utilizing SAS Version 8 and the MXG Computer Performance Database as input. The WEB GIFS displayed were produced on an OS/390 mainframe using the SAS/GRAPH GIF driver. The WEB GIFS and HTML reports are updated daily on the mainframe intranet Webserver for viewing via a WEB browser |
bar chart, ods html, proc step | source | 10 |
| 149 | Painless Graphics: The Click, Drag &Drop Approach of Graph-N-Go | Jeff Cartier | Graph-N-Go is an intuitive, easy-to-use interactive application that is integrated into Version 8 SAS Display Manager System as part of SAS/GRAPH software. You can use GNG to build and customize a wide variety of interactive charts and plots based on data from any SAS Data Set or MDDB, without any knowledge of SAS/GRAPH software. You can print your work or export it to various types of files including HTML or SAS source files. Such source files contain SAS/GRAPH procedural code that can be submitted independent of Graph-N-Go to create equivalent charts and plots |
bar chart, catalog entry | source | 3 |
| 150 | People Smarts for Career Growth | Judy Loren | It is a rare career in which success does not depend primarily on your ability to work with people. You may have to serve them, lead them, convince them, teach them, get their cooperation or at the very least sell yourself or your product to them. The more you understand about how people differ and what makes each of us tick (or in some cases, tock), the better choices you will make about career opportunities available to you, and the more productive you will be in the jobs you do undertake. This paper gives you concrete suggestions for understanding your own strengths and weaknesses and working with various types of people. Written by a career SAS programmer, it focuses in particular on situations people in SAS-related fields might encounter | excel, sas programmer | source | 10 |
| 151 | Performing Exact Logistic Regression with the SAS System | Bob Derr | Exact logistic regression has become an important analytical technique, especially in the pharmaceuti- cal industry, since the usual asymptotic methods for analyzing small, skewed, or sparse data sets are un- reliable. Inference based on enumerating the ex- act distributions of sufficient statistics for parameters of interest in a logistic regression model, conditional on the remaining parameters, is computationally in- feasible for many problems. Hirji, Mehta, and Patel (1987) developed an efficient algorithm for generat- ing the required conditional distributions, thus mak- ing these methods computationally available. This paper discusses the theory and methods for exact logistic regression and illustrates their application in V e r s i o n8o ft h eS A S | logistic distribution, estimate, likelihood function, proc logistic, logistic regression, proc step, regression analysis, null hypothesis, maximum likelihood estimation, exact test, conditional logistic regression, clinical trial, confidence interval, sample, proc phreg | source | 10 |
| 152 | Placing Dates in Your Titles: Do It Dynamically | Arthur L. Carpenter | Suppose you want your SAS output to contain a date/time stamp. By default each output procedure places this information in the upper right corner on each page, this is a good start and is often 'good enough', but it has limitations. These limitations include: /G8e no choice in date format /G8e no choice in location /G8e date/time measured from the start of the current SAS session It is not uncommon to want to overcome these limitations by placing the date (time or date/time) in the title. To be practical, we do not want to recode the TITLE statement before each execution of the program. Recoding is avoided by placing the value dynamically (the program itself determines the correct values). A dynamic title will capture and use the actual date/time at the time of execution and could even use the format of your choice | macro variable, macro function, automatic macro variable, title statement, date variable | source | 3 |
| 153 | Positioning SAS Software for Corporate Effectiveness | John M. LaBore, Thomas H. Burger |
Accelerated research and development has increased industry reliance on Information Technology (IT). Biopharmaceutical IT divisions increasingly require an infrastructure capable of providing global enterprise-wide business solutions. However, when the application of IT innovation to business solutions occurs at an insufficient rate, business needs go unfulfilled. Of particular importance to accelerating research is the implementation of application software for decision making. SAS software provides powerful tools for data warehousing, decision support and presentation, but their effectiveness is directly proportional to an understanding of business issues and how SAS can solve them. A strategy for the integration of these tools into the business streamlines and accelerates critical processes | data migration, clinical research | source | 6 |
| 154 | Power Indexing: A Guide to Using Indexes Effectively in Nashville Releases | Diane Olson | In Version 6 of the SASSystem software, there were performance problems with some index features. This paper addresses how those prob lems have been re solved in the Nashville releases (Version 7 and later releases). It also supplies guidelines to help you de cide when inde xes will benefit your application and increase the performance of your SAS programs. Questions answered in this paper include: /G71 What are indexes? /G71 How do I create an index? /G71 What are the benefits of an index and when does the SAS System use indexes to access data? /G71 What additional resources do indexes use? /G71 What are the index improvements in Nashville releases? /Gd8 Centiles /Gd8 More User Control /Gd8 APPEND Procedure /Gd8 Expanded WHERE Optimization /Gd8 MSGLEVEL=I /G71 When will an index help me the most? /G71 How can I tune my use of indexes? |
dataset, index, proc append, proc sql, proc step, by group processing, set statement | source | 5 |
| 155 | Preparing the SAS Software Programming Environment for Regulatory Submission | Sunil Kumar Gupta | For pharmaceutical companies, there is a push to prepare SAS programs for clinical study reporting and analysis. SAS programs are set up in advance of the study completion to facilitate the generation of the final study analysis, tables, listings, and graphs. Throughout the study project, SAS software provides the key elements for successful regulatory submission. This paper reviews the process of establishing a standard | proc step, data science, proc tabulate, adverse events, regulatory submission, data cleaning | source | 5 |
| 156 | Presenting Your Data Easily With Graph-N-Go | Curtis A. Smith | source | |||
| 157 | Private Detectives in a Data Warehouse: Key-Indexing, Bitmapping, and Hashing | Paul M. Dorfman | In data processing in general, and numerous aspects of Data Warehousing, in particular, searching is one of the most frequently performed operations. Base SAS offers a rich collection of built-in searching techniques. Merging and SQL joins, formats and SAS indexes - all serve the purpose of looking up relevant data. In addition, SAS Language incorporates arrays - the data structures ideal for implementing just about any searching algorithm. An array- based lookup is not a ready-to-go recipe: It has to be hand-coded and tuned. However, this "private detective" approach is more flexible and may result in programs searching much faster and using fewer resources than the "heavy artillery". In this paper, SAS arrays are viewed as a DATA STEP structure ideally suited for quick data lookup based on the idea of direct addressing |
hash table, conditional do loop, key, proc sql, sample, memory usage, array, temporary array, if-then-else, proc freq | source | 10 |
| 158 | PROC DOC: A SAS Software Prescription for Your Documentation Ills | Louise S. Hadden | The most onerous task any SAS programming professional faces is to accurately document files and processes. By setting careful standards at the outset of a programming task and using the many tools the SAS system provides to assist in the documentation process, document files and processes need not be "the dreaded D word" | proc contents, proc step, flat file, sas programmer, macro function, dataset | source | 6 |
| 159 | PROC FREQ: It's More Than Counts | Richard Severino | The FREQ procedure can be used for more than just obtaining a simple frequency distribution or a 2-way cross-tabulation. Multi- dimension tables can be analyzed using PROC FREQ. There are many options which control what statistical test is performed as well as what output is produced. Some of the tests require that the data satisfy certain conditions. Some options produce a set of results from which one must select appropriately for the situation at hand. Which of the results produced by using the CHISQ option should one use? What is the WEIGHT statement for? Why would one create an output data set with the OUT= option? This paper (beginning tutorial) will answer these questions as many of the options available in PROC FREQ are reviewed |
proc freq, proc step, odds ratio, sample, sample size, relative risk, chi-square test, confidence interval, numeric functions, cumulative frequency, exact test, null hypothesis, data step, nominal variable, frequency analysis, fisher exact test, binomial distribution, alternative hypothesis, format statement, correlation, likelihood function, regression analysis | source | 10 |
| 160 | PROC MEANS: More Than Just Your Average Procedure | Peter R. Welbrock | PROC MEANS and i ts close relati ve PROC |
proc step, class variable, proc means, output, by group processing, missing value, where statement, dataset, format statement, proc sort | source | 10 |
| 161 | PROC REPORT - Land of the Missing OBS Column | Ray Pass | proc report, proc step, proc print | source | 2 | |
| 162 | Procedures for a New SAS Release | Stephen B. Taubman | This paper describes the procedures followed at the Fed- eral Reserve Board (FRB) when a new or maintenance release of UNIX SAS is available. To decide whether to replace the production release with a newer release appears to be a trivial decision. However, this paper shows that the decision is influenced by many factors. Changing the production release is time consuming for those who install SAS and maintain SAS documentation as well as an inconvenience for SAS users. For some re- leases compatibility and data conversion issues arise. A new release usually requires extra disk space which could be difficult to obtain and require the intervention of others. This paper has two purposes. The first is to document the steps taken when a new SAS release is available. This document can then be used as a guide to handle future releases. Second, while no other SAS site is exactly like this one, the information in this paper might help other SAS sites decide how to handle a new release | filename statement, data transformation | source | 3 |
| 163 | Producing Interactive Internet Presentations in SAS Software | Izabella Peszek | The ODS in SAS v.7 and higher allows users to create HTML files with drill-down functionality. In particular, users can create graphs with "clickable" areas which link to other HTML documents. However, there seem to be some difficulty in getting this to work with PROC GPLOT. We will show how to achieve this functionality - and add more spice- without relying on ODS. The method presented here creates a series of web-capable displays. For simplicity, we concentrate on 2-level layout: the "main page" and the "child pages". The "main page" has an embedded interactive graph: when the mouse is paused over a point on the graph, a window pops-up with some information about the point. If user clicks on the point, a "child page" is displayed. This is accomplished via SAS macro, which creates an HTML document with embedded JavaScript. The "child pages" can contain graphics (created via SAS/GRAPH) or text (output from SAS procedures) |
proc gplot, proc step | source | 5 |
| 164 | Product Development and Applied Research: A Formal Approach Using SAS and JMP Software | John A. Wass | In a competitive, industrial environment it is imperative that products be brought to market with minimal expenditure of resources and maximal robustness. This may be accomplished with statistical consultation, but increasingly utilizes extensive input from the bench scientist. This paper delineates a simple, formalized | main effect, proc step, regression analysis, proc reg, estimate, proc genmod | source | 5 |
| 165 | Production-Strength Data Mining Environment for Terabyte-Class Relational Data Warehouses | Michael K. Nichols, John Zhao, John David Campbell |
sample, proc sql, model deployment, data mining, dataset, relational database, proc step | source | ||
| 166 | Providing Access to a University Data Warehouse via the Web | Phil Rhodes, Faron Kincheloe |
Providing timely and accurate information is the primary function of the Office of Institutional Research and Testing at Baylor University. With the advent of the Web, putting that information at fingertips of administrators and decision-makers is easier than ever before. Using The SAS System, a web-based Enterprise Information System was developed to allow University decision- makers to evaluate various programs and academic departments over time. This system serves as the access point into the University data warehouse, and includes graphical and tabular reports with drilldown and reachthrough capability into individual student records. The only requirement on the client side is a web browser, with Java required to view the interactive graphics | data dictionary, format statement | source | 4 |
| 167 | Pruning the SASLOG - Digging into the Roots of NOTEs, WARNINGs, and ERRORs | Andrew T. Kuligowski | "Look at your SASLOG." You hear it from instructors of c ourses related to the SAS System. You read it in papers that are published in the Proceedings of SESUG and other similar conferences. But they never seem to address the next obvious issue - "Then what?" What should you be looking for? And what should you do if you find it? This presentation will look at one message that is often found in the SASLOG: NOTE: MERGE statement has more than one data set with repeats of BY values. We will discuss - and quickly discount - a "bandage" approach that will stop the message from being displayed. More impo rtantly, we will discuss the creation of an ad-hoc routine that will help you understand why the message occurred, and how to revise your code to prevent its recurrence. MERGE Statement: Repeats of BY Values Most users of the SAS system have encountered the following message: NOTE: MERGE statement has more than one data set with repeats of BY values |
merge statement, out=, proc step, dataset, proc means | source | 5 |
| 168 | Pseudo-Random Numbers: Out of Uniform | Robert E. Johnson, Hui Liu |
Pseudo-random numbers - both uniform and non-uniform - are used in random sampling, simulation, and Monte-Carlo estimation. Base SAS software contains numerous random number, quantile, and probability functions allowing the user to generate a selection of nominal, discrete, and continuous random variates. Other variates may be generated with a DATA STEP, often making use of SAS functions. We will present an overview of pseudo-random numbers and the functions of Base SAS. Applications will include simple random sampling from a data set and estimation of probabilities. The audience should have intermediate knowledge of DATA STEP coding, SAS functions, and the fundamentals of probability and statistics |
degrees of freedom, sample, sas function, random sampling, data step | source | 3 |
| 169 | Publishing Statistical Analyses on the Web Using Version 7 of the SAS System | David J. Meade, Scott Lacey |
One of the most difficult parts of data analysis can be communicating the results to other interested parties. Today, one of the most popular and effective method of communication is the World Wide Web. Recent advances in Web based programming in SAS /Ge2 version 7, have made the process of publishing information on the Web a relatively simple process. In this paper we demonstrate how output from standard analysis procedures such as PROC ANOVA, PROC GLM, and PROC FREQ can be published on the Web using the tools available in SAS version 7 |
proc step, output delivery system, anova, proc anova, proc freq, proc glm, proc genmod, proc gplot, box plot | source | 6 |
| 170 | Qualitative and Limited Dependent Variable Models using the New QLIM Procedure | Minbo Kim | There are many applications of limited dependent variable and discrete choice models in a wide vari- ety of areas, including economics, finance, marketing, political science, and sociology, to name a few. This paper introduces multinomial discrete choice and si- multaneous equations models and presents how to estimate these models using PROC QLIM. Three data sets are used for illustration |
logistic regression, conditional logistic regression, response variable, proc step, likelihood function, binomial distribution, regression analysis, choice modeling | source | 7 |
| 171 | Removing Duplicates: PROC SQL Can Help You "See" | Vicki J. Siemers, Brian F. Nash |
Duplication of information within data sets is a common occurrence. Data files may contain duplicate account numbers, telephone numbers, names, etc. A standard/accepted solution for removing duplicates is the NODUPKEY option of PROC SORT. Unfortunately, this procedure is often used blindly. The first duplicate observation is kept in the data set while all subsequent occurrences are deleted. But what if the third occurrence should have been kept and the first and second occurrences deleted? PROC SQL, a component of Base SAS, can help SAS users investigate duplicates so that a more informed choice can be made when deleting observations. This paper is intended for users with an intermediate SAS programming skill set |
proc step, proc sql, proc sort | source | 2 |
| 172 | Replaying Graphics with PROC GREPLAY | Jeffery D. Gilbert | This is a paper that introduces the storage and retrieval of graphs in The SAS System. The audience will be shown how to store graphs in a catalog, how to retrieve the graph and print using PROC GREPLAY, and how to format the stored graph using templates. Interactive and non- interactive use of PROC GREPLAY will be covered. Libraries and Catalogs Graphs created in SAS/GRAPH will be stored in a SAS catalog. A SAS catalog is a SAS file that is used to store SAS specific objects, such as graphs, frames, macros, and formats. While a SAS library is simply a pointer to a directory or folder on the operating system, a catalog is simply one file within that library. This one file, though, can contain many different entries. Storing Graphs in a Catalog To create a SAS catalog containing a graph created in SAS/GRAPH, simply include the option GOUT=<LIBNAME>.<catname> in your PROC Gxxxx statement, where LIBNAME is the library name and catname is the catalog name. Please note the following: 1 |
proc greplay, proc step, catalog | source | 3 |
| 173 | Riding the Information Wave to Marketing Success: Web Enabled On-Line Analytical Processing from Your Data Warehouse | George Bukhbinder, Peter Babigian |
Advanced decision support systems are widely used to target the appropriate customer base and measure the results of marketing efforts. A data warehouse is the foundation of such a system. This paper addresses several factors important to the rapid and successful completion of a large-scale data warehouse and decision support system development project in the telecommunications industry. These factors include: 1. Data model design. 2. Metadata maintenance and production automation using SAS/WAREHOUSE Administrator software. 3. Dimensions and hierarchies required for building a multidimensional database. 4. Internet-enabled OLAP. 5. Customer profiling and Customer Relationship Management using data mining in conjunction with data warehousing. The presentation includes a demonstration of Internet-enabled OLAP used as an interface to a data warehouse and describes the business benefits of building a powerful decision support system for marketing |
data cleaning, proc hpsplit | source | 6 |
| 174 | Robust Effect Size Estimates and Meta-Analytic Tests of Homogeneity | Kristine Y. Hogarty, Jeffrey D. Kromrey |
This paper presents a computer program that calculates two effect size estimates (gamma and trimmed-d) that are robust to violations of the assumptions of population normality and homogeneity of variance. Because of their robustness properties, these indices are frequently more appropriate than the conventional parametric indices such as Cohen's d or Hedges' g. Additionally, a program that uses these effect size indices in robust permutation tests for between- class homogeneity (a test frequently used in meta- analysis) is introduced. The paper provides a demonstration of the SAS/IML' code and examples of the application of the code in simulation studies |
effect size, sample, randomization, permutation test | source | 6 |
| 175 | Sample Size Computations and Power Analysis with the SAS System | John M. Castelloe | Statistical power analysis characterizes the ability of a study to detect a meaningful effect size-for exam- ple, the difference between two population means. It also determines the sample size required to pro- vide a desired power for an effect of scientific interest. Proper planning reduces the use of designs that have little chance of producing significant results and de- termines the most sensitive design for the resources available. Power analysis is now integral to the health and behavioral sciences, and its use is steadily in- creasing wherever empirical studies are performed. SAS Institute is working to implement power analy- sis for common situations such as t-tests, ANOVA, comparison of binomial proportions, equivalence test- ing, survival analysis, contingency tables and linear models, and eventually for a wide range of models and designs | power analysis, sample size, sample | source | 8 |
| 176 | SAS Administration-Making Your Ship Go | Paul D. McDonald | This paper shows how to effectively manage your PC SAS Software System so that upgrades, add-ins, free software, and other such goodies are easily and rapidly distributed to everyone who uses SAS. PC SAS Users will get the most out of this paper, but everyone can learn something new | call execute, sas programmer | source | 2 |
| 177 | SAS Common Metadata and Current Industry Metadata Trends | Vernee Stevens | We all learned from data warehousing gurus and, sometimes from suffering the chaotic creations of our own, that we need to develop a metadata strategy and use it as we grow our data warehouse environments. The uses for metadata are growing and it is becoming an area of data warehousing that may be more dynamic than the data warehouse itself. The industry is seeking to develop supporting standards. Vendors are continuously adjusting to the new demands created by their own development efforts, as well as those of others that create or use new metadata. SAS Institute is developing Metadata Architecture to support flexible storage and use of metadata by SAS applications, as well as other applications needing it. These demands are increasingly diverse, requiring a robust architecture to ensure metadata integrity across this distributed environment. We also work to stay in step with industry-wide efforts toward consistent metadata standards | data warehouse, data validation rules | source | 4 |
| 178 | SAS For COBOL (and Other) Programmers: How To | Douglas Zirbel | For all its power and behind-the-scenes success, SAS software is still unknown to many programmers and I/T management. This paper provides tools you can use to solve this problem in your company or area by offering a short SAS class which gets programmers up and running quickly | proc step, data step | source | 5 |
| 179 | SAS Formats: Going Beneath the Surface | Roger Staum | Through this tutorial, I hope to acquaint the experienced SAS programmer with advanced and not-so-well-known features of creating and using formats and informats. Most of these features are supported in Version 6 of the SAS System, although a few are new to Version 8 1. They apply to base SAS software on all supported platforms. Although I emphasize concepts, I also include syntax, examples, and applications | proc format, proc step, input statement, proc tabulate, char., sysdate9, put statement, sas programmer, user-defined format, macro variable | source | 7 |
| 180 | SAS Interactive Handbook - a SAS User's Lifebelt | Yakov Guralnik, Dan Kaplanski, Helena Briskin |
The SAS Interactive Handbook, an improved version of the Israeli SUGIS'99 winner, is an easy-to-use tool that integrates several SAS Help topics into a single functional package. The purpose of the Interactive Handbook is to enable the user to rapidly retrieve the most exact and detailed answers to questions that arise during work in SAS. The Handbook is organized in such a way that it allows the user to focus on a specific issue, and locate the answer instantly. Moreover, the Handbook includes a general overview of the SAS System, details on concepts and terminology, and an add-ons section offering a programming reference, exclusive sample programs and shortcuts to useful help screens | source | 3 | |
| 181 | SAS Procedures for Use in Public School Accountability Programs | Sean W. Mulvenon, Ronna C. Turner, Barbara J. Ganley, Antoinette R. Thorn, Kristina A. Fritts Scott |
A national agenda in education currently gaining popularity is the use of accountability models to evaluate public schools. A result of this movement has been the identification of a systemic problem with management of educational data in local schools. Most accountability programs have identified several variables as important indicators of academic performance for inclusion in models designed for public schools. The use of this data has necessitated an examination of the aggregation, storage, and analysis of data maintained by schools, culminating with the identification of a plethora of data management and analysis problems. A typical obstacle in obtaining this data is the lack of a consistent management forum for the aggregation and storage of different types of educational data collected in public schools. The most common mechanisms used are packages like EXCEL or DBASE IV |
sample, data governance, excel | source | 5 |
| 182 | SAS Programs to Get the Most from X-12-ARIMA's Modeling and Seasonal Adjustment Diagnostics | Catherine C. Hood | SAS's PROC X11 is based on the Census Bureau's X-11 seasonal adjustment program written in the early 1960's. Future SAS/ETS Versions will contain PROC X12, based on the Census Bureau's new X-12-ARIMA program, a publicly-available program used worldwide for time series modeling and seasonal adjustment. Major advances in X-12-ARIMA include 1) the ability to use regARIMA models-regression models with ARIMA errors, 2) a new user interface, and 3) new modeling and seasonal adjustment diagnostics, including graphics. This paper will briefly review some of the basic issues of seasonal adjustment and advances in X-12-ARIMA over X-11. I will focus on the diagnostics available in X-12-ARIMA, particularly the graphical diagnostics including spectral graphs, forecast error history graphs, and revision graphs |
seasonal adjustment, time series analysis, residual, seasonality, proc freq, outlier, regression analysis, feature selection | source | 6 |
| 183 | SAS Software and Microsoft Visual Basic for Applications Make Beautiful Reports Together | Aileen L. Yam | In pharmaceutical research, clinical study reports contain word-processing tables that are usually retyped from SAS output. In order to rebundle the data into a tabular format or into a more refined look and to ensure accuracy, a considerable amount of manual labor in typing and verifying is involved. Whenever data values change, the process is to be repeated. On the other hand, if dedicated programs or report templates are created to output every word-processing table programmatically, there will be a substantial amount of programming development efforts as well as a long list of report designs to store. This paper describes the main points in developing a general-purpose Visual Basic for Applications program for repackaging a wide variety of output. The key is to create user-defined controls in the SAS programs | excel, variable, csr, character variable, clinical trial, dataset | source | 5 |
| 184 | SAS Software and the 80/20 Rule | Paul D. McDonald | This paper is written for SAS users and programmers who want to learn more about analyzing data using the80/20 Principle. The principle states that most of your results come from a small proportion of your efforts. This paper will show readers how to look for, identify, and interpret data trends that support application of the 80/20 principle | source | 1 | |
| 185 | SAS User Support and the Intranet: Web Pages, In-House Documentation, and Sample Library | Bruce F. Gilsen, Scott Hoenig |
sample, txt | source | 10 | |
| 186 | SAS' Best Kept Secret: Macro Windows for Applications Development | Kay L. Alden | SAS Macro Windows provide a quick solution for developing applications on the run. Time constraints or lack of SAS AF expertise on-site may necessitate the use of Macro Windows | macro variable, sas output, data validation rules, macro facility, macro definition, proc step | source | 4 |
| 187 | SAS/MDDB Server: Expanding Open Access to Your OLAP Data | Duane E. Ressler, Mary Simmons |
With the introduction of the Open OLAP Server component of SAS/MDDB Server software, SAS Institute Inc. was one of the first companies to support an industry standard interface for access to OLAP data. Continuing to expand on that work, through the use of SAS/GE2 Integration Technologies we will be providing improved access to SAS' OLAP data. This paper will discuss our continuing efforts to provide open access to OLAP data via the SAS/MDDB Server software product |
source | 4 | |
| 188 | Scaling Mount GCHART: Using a MACRO to Dynamically Reset the Scale | Nina L. Werner | If you do not set the scale yourself, PROC GCHART will automatically change the scale of the X-axis to match the unique data that happen to appear on each individual page. Conversely, if you set a scale, every page will have the same static value, regardless of the actual data values appearing in it. Neither was acceptable for this application. Using DATA STEP programming and a MACRO, I can dynamically reset the scale of a stacked bar chart's X-axis to a logicalvalue for each new department while maintaining that same scale for multiple pages within the department, producing charts with the look you want |
call symput, proc step, order by, create table, proc sql | source | 5 |
| 189 | Scrolling and Downloading Web Results | Ming C. Lee | Since the inception of the INTERNET and Web Browsers, the need for speedy information to make split second business decisions has become part of our daily lives. However, information retrieved from the Web can be overwhelming at times due to the immense size of the data, which is only the beginning of the problem. Web Browsers allow users to access information with ease; however, the number of records a user is able to browse at one time is limited to the amount of memory and processor on their computer. One of the many ways to circumvent the problem is to upgrade their computer with a faster processor and more memory, which is expensive. Therefore, it would be easier to control the number of records the user can view at any one time, and provide an option to allow them to download all of the data if required. This will eliminate the possibility of a frozen keyboard and the need to reboot the computer and would also eliminate any frustrations | macro variable, proc contents | source | 5 |
| 190 | Security on the Web Using SAS/IntrNet Software and HTML | Ming C. Lee | The increase in INTERNET usage from both companies and from the general public has caused security to become a growing concern and in turn a whole industry is being created. Each day more and more companies bring their business closer to individuals for home, personal and business usage. Business transactions are increasing daily as we approach the paperless trail society. One way to safe guard the company proprietary information from hackers and competitors is by installing security on the web. Security can limit access to the company sensitive data areas, by granting different level of access on a need to know basis. There are many ways to provide security on the web, one of the more effective ways is through the usage of SAS/INTRNET/Ge4/Ge4 in conjunction with SAS/HTMSQL/Ge4/Ge4 and HTML |
proc sql, sas base | source | 5 |
| 191 | Show Them What's Important: Solutions for a Finite Workday in an Era of Information Overload | LeRoy Bessler | proc step, sas base | source | 9 | |
| 192 | Show Them Where It's At: Data Mine the Earth's Surface for Locational Significance of What's Hidden in Your Data Warehouse | LeRoy Bessler | proc gmap, proc step | source | 6 | |
| 193 | Smokin' with UNIX Pipes | Kimberly J. LeBouton, Thomas W. Rice |
The FILENAME PIPE option can have your SAS programs "smokin" in no time. FILENAME PIPE allows you to read in the output of any UNIX operating system command into a SAS dataset. As a SAS dataset, you now have the flexibility of the SAS language, which will also cut down on the amount of UNIX script writing needed. Managing Data with ls Command Three examples will be provided to demonstrate the use of FILENAME PIPE. The first example retrieves the output from the UNIX ls command. The ls command displays a listing of dataset names. Output 1 is a partial list from the command ls -d /appl/icp/*. The -d option shows only the directories, not the individual files associated with each directory. Figure 1 shows the DATA _NULL_ step that reads in the dataset names (dsn) and then stores the names in macro variables, named in 1 to inn. The small macro program, MLIBNAME, uses these macro variables to generate the proper LIBNAME statements |
dataset, macro variable, proc sql, proc step | source | 4 |
| 194 | So Now You're Using PROC REPORT. Is it Pretty and Automated? | Daphne E. Ewing, Ray Pass |
PROC REPORT will display data. That's a given. That it is more powerful than the standard SAS /Gd2 reporting tool PROC PRINT is also becoming common knowledge. But what can PROC REPORT really do? It is certainly more than a glorified PROC PRINT, but it does take some additional work beyond mastering some of the basics of the procedure before it can be used to produce output that can rival that of a serious DATA _NULL_ step. This paper will discuss the use of several customized macros which can work together with some PROC REPORT options, and standard SAS title and footnote statements, to make your PROC REPORT output really shine. The purpose of this paper is to provide some methods, through a progressive series of examples, to enhance the output created when using PROC REPORT. It is assumed that you know how to write a basic PROC REPORT program including COLUMN, DEFINE, COMPUTE, and BREAK portions of the syntax |
proc report, proc step, macro variable, footnote statement, sample, options statement, macro definition | source | 10 |
| 195 | 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, sample, proc print, proc tabulate, proc means | source | 10 |
| 196 | Standard Reporting System for Phase I Clinical Trials | Fang Dong, Brian K. Rosson, Richard F. Synowiec, Lorraine Dunn |
The Parke-Davis Clinical Pharmacology standard reporting system, called Clin Pharm World (CP World), is a SAS based multi-platform application that runs on a Windows NT workstation and a Unix host. It makes extensive use of Base SAS, SAS/CONNECT and SAS Dynamic Data Exchange (DDE) technology. It also utilizes Visual Basic (VB) macros that run under Microsoft EXCEL. The Unix portion of the application uses SAS SQL PASSTHROUGH to extract data from an Oracle database, and performs the intensive data manipulation. The Windows NT portion of the application serves as the interface between the user and the Unix host. Additionally, Windows NT performs a data output 'step' using SAS DDE technology. The VB portion of the application is invoked with SAS DDE and allows great flexibility and customization for table formatting. The final output is stored in EXCEL and accessed, via the Parke- Davis intranet by our clients (i.e., clinical scientists, physicians and medical writers) |
excel, adverse events, clinical trial, sas base, proc sql | source | 4 |
| 197 | Style Sheets, Javascript, and SAS??? Oh, My! | Kerril S. Bauerly | There are so many features available to make your web pages look terrific and perform dynamically. However, its hard to determine how to use them when creating pages with the SAS/INTRNET Software. This paper explains a few basics on Cascading Style Sheets or CSS. CSS allows a user to set up a common Style definition so that all pages on your web site will look the same. It also covers very basic JavaScript code that will let the browser do the work instead of repeated calls to the SAS broker. It then shows how to put it all together and create great looking pages with a standard look that do some of the up front work for you |
data cleaning, proc freq | source | 10 |
| 198 | Successful Information Delivery: Integrate Your Data Warehouse and Other SAS Applications with Enterprise Reporter Software | D. Mikkelsen | The value of the efforts put into developing a data warehouse, or analytical applications, first show when the users get the information they need, presented in an understandable format. This is common sense, yet the final part - delivering the information - is often a problem area. By integrating Enterprise Reporter into your existing application or data warehouse you can produce and publish high quality standard reports in an automated way, be it on paper or through the web let users create their own ad-hoc reports on the data generated from your application in an easy to use MS-Office like environment. This paper will focus on how to make the integration seamless for the users, and how the data warehouse administrator can manage the process from the data warehouse environment, not how to design reports. It is aimed at an audience of SAS programmers with limited knowledge of Enterprise Reporter release 2.5 | sample, data warehouse, ods pdf, proc print, catalog entry, dataset | source | 10 |
| 199 | Successful Information Delivery: Integrate Your Data Warehouse and Other SAS Applications with Enterprise Reporter Software | Jens Dahl Mikkelsen | The value of the efforts put into developing a data warehouse, or analytical applications, first show when the users get the information they need, presented in an understandable format. This is common sense, yet the final part - delivering the information - is often a problem area. By integrating Enterprise Reporter into your existing application or data warehouse you can produce and publish high quality standard reports in an automated way, be it on paper or through the web let users create their own ad-hoc reports on the data generated from your application in an easy to use MS-Office like environment. This paper will focus on how to make the integration seamless for the users, and how the data warehouse administrator can manage the process from the data warehouse environment, not how to design reports. It is aimed at an audience of SAS programmers with limited knowledge of Enterprise Reporter release 2.5 | sample, data warehouse, ods pdf, proc print, catalog entry, dataset | source | 10 |
| 200 | Summarizing Impossibly Large SAS Data Sets for the Data Warehouse Server Using Horizontal Summarization | Michael A. Raithel | Data warehouse applications thrive on pre-summarized data. When a warehouse's data originates on a mainframe computer, it makes sense to take advantage of the mainframe's power to summarize the data before porting it to the warehouse server. The SAS System is the perfect tool to use to summarize data bound for a data warehouse. However, summarizing very large SAS data sets with many CLASS variables can be problematic even on a mainframe computer. This paper introduces the concept of Horizontal Summarization. Horizontal Summarization is a methodology that can be employed to summarize very large SAS data sets by every combination of a specific set of CLASS variables. Horizontal Summarization is designed to work with the mainframe operating system and avoid common out-of-memory and work-space- shortage abends. Horizontal Summarization was specifically developed and employed as the front-end summarization tool for a data warehouse application | dataset, class variable, proc means, do loop, proc step, batch job | source | 5 |
| 201 | Support System - A Web-Based SAS IntrNet Tabulator | Stephen Heacock | Do you want to develop interactive web pages using SAS macro, a language with which you probably are already familiar? This paper discusses how, utilizing SAS/INTRNET and SAS macro, the system puts much of the power of PROC TABULATE into users' hands. This web-based application is simple to learn and is tailored for the Current Population Survey (CPS) data sets. It provides a mechanism for users, with or without any programming experience, to easily generate complex, but attractive, tables. This paper illustrates the key components for the developer: the HTML code required to use SAS/INTRNET; validation of parameters provided by the user via an HTML form; joining data sets and building the tabulate code to meet the user's selected conditions. The CPS is a monthly survey of about 50,000 households conducted by the U.S. Census Bureau for the Bureau of Labor Statistics |
macro loop, %if-%then-%else, macro definition, proc tabulate, proc step, macro variable, data cleaning, numeric variable | source | 5 |
| 202 | SynCoder: A SAS/AF V7/8 Application for Implementing MedDRA Coding in Clinical Trials | Deborah A. Testa, Russell Holmes |
This paper presents SynCoder, a Version 7/8 SAS/AF/Ge2 application that implements the new MedDRA international medical terminology for coding adverse events in clinical trials. The presentation will be accompanied by a brief demonstration of three of the application's modules: batch coding using a synonyms data set and a data mart of MedDRA hierarchical terms, an efficient search engine for browsing the hierarchies, and on-line coding of terms requiring human decision making. The application demonstrates the superiority of new features (both in the user interface and in the component technology) in SAS/AF software in Version 7 and 8 over earlier versions |
data mart, clinical research | source | 2 |
| 203 | Table Lookup on the Fly Using SYMPUT and SYMGET 473 | John M. Piet | macro variable, lookup | source | 4 | |
| 204 | Taking Advantage of the SAS System on the OS/390 Platform | Dave Crow | More and more businesses are finding that the Internet provides an ideal way to access both new and legacy applications running on OS/390. This paper suggests some of the ways you can use the SAS System for OS/390 to provide Web access to information. We will also describe some of the new features of Version 8 regarding performance tuning, use of new operating system features, and use of SAS as a server. See how SAS and OS/390 can work together to provide exciting solutions to problems | source | 9 | |
| 205 | Taking Advantage of the SAS System on the Windows Platform | Gary Mehler | As the Microsoft Windows platform continues to evolve and mature, business applications can more effectively realize large-scale benefits in this relatively cost- effective environment. This paper presents a | source | 10 | |
| 206 | Taking Control and Keeping It: Creating and Using Conditionally Executable SAS Code | Justina M. Flavin, Arthur L. Carpenter |
Have you ever wanted to selectively execute chunks of program code? Do you want to leave debugging statements in your program for future debugging sessions while preventing their execution without commenting them manually? Would you like your program to automatically start at a specified time or perhaps delay the start for some period of time? Do you want to have error conditions in one step determine which, if any, of the remaining parts of the program are to be executed? These concepts and others will be discussed in the context of controlling how and when all or a portion of a program runs using conditionally executable SAS code | macro variable, data step, interim analysis, macro facility, proc step, comment, %if-%then-%else, macro function, macro definition | source | 4 |
| 207 | Teaching SAS Web Publishing in a Web Environment | Roderick A. Rose, Sally S. Muller |
Experienced SAS users can gain a better understanding of the SAS Web Formatting Tools and the Version 7 Output Delivery System (ODS) when they are taught in a classroom setting with a webpage as the primary instructional device. The authors developed a website, on which HTML, FTP, the SAS HTML Formatting Macros and the Output Delivery System are integrated into one interactive session. This website utilizes Javascript and modest client-server interaction. Links that open a new browser when selected are provided throughout the site for additional resources during the lecture or for subsequent review. Examples of programs are provided, by displaying code and output side-by-side using the entire screen rather than the conventional browser window. To avoid mundane tasks such asdata entry, data sets can be downloaded with a few simple selections |
output delivery system, sas programming | source | 3 |
| 208 | Test Development: Ten Steps to a Valid and Reliable Certification Exam | Linda Althouse | The intent of a certification program is to evaluate the knowledge and skills of practitioners seeking a credential to ensure a desired level of competence. For certification examinations to serve their intended goal, the examination must assess the performance that the scores are intended to represent. Subsequently, each item on the examination must serve to assess the performance or knowledge being measured by the examination. The purpose of this paper is to describe the steps necessary to develop a valid and reliable certification examination which would fulfill the goal of a certification program | sample, phase i | source | 8 |
| 209 | The Anatomy of a Report: A Macro Driven Approach | Diane E. Brown | This information system is a Web based GUI constructed using HTML, JAVA, and CGI. The GUI allows the user to design a report and enter data subset criteria. These parameters are passed to the SAS System for execution. SAS queries an Oracle data warehouse using a WHERE clause built from user defined subset criteria. The result of the query is then processed through the SAS application to generate custom HTML output and GIF graphics. The focus of this paper is the SAS application that generates the majority of the tabular style reports. Users can define the report layout, sort order, summarization levels for the report body and total lines, define multiple total lines, and create new variables through assignment statements | proc step, macro variable, macro loop, proc means, macro definition, where statement, %if-%then-%else, macro quoting function, sample, ods html, sas log, poisson distribution | source | 10 |
| 210 | The Autocall Macro Facility in the Microsoft Windows Environment | Karl L. Jensen, Matthew L. Greathouse |
The autocall macro facility allows users to access the same macro code from multiple SAS programs. Rather than have the same macro code in each program where the code is required, with an autocall macro, the code is in one location. This permits faster updates and better consistency across all programs. This paper will briefly discuss using the SAS autocall macro facility in the Microsoft Windows environment | autocall macro, macro facility | source | 2 |
| 211 | The INPUT Statement: Where It's @ | Ronald P. Cody | input statement, infile statement, sas log, trailing @, error message, proc print, dataset, proc step, missing value, date variable, numeric variable | source | 10 | |
| 212 | The International Studies Project: SAS Software Version 7/8 Web Tools To The Rescue | Jeffrey M. Abolafia, Lilin She |
The Output Delivery System (ODS) and PROC TEMPLATE introduced in Version 7 of the SAS System has made procedure output more flexible. This paper demonstrates how the International Studies Project has used these tools to easily produce both tabular and graphical HTML formatted output. The paper also discusses how ODS can be used to create a navigation system to organize large volumes of output and how ODS can be used to customize procedure output |
proc step, dataset, output delivery system, ods html, proc gplot | source | 10 |
| 213 | The Lost Art of Annotate | Richard O. Smith, Arthur L. Carpenter |
The ANNOTATE facility is a useful tool that adds to the capabilities of SAS/GRAPH and related procedures. We will briefly examine some of the common uses and expound on some of the more advanced uses of annotate |
histogram, proc freq | source | 5 |
| 214 | The MDDB Shell Game - Options Not Shown in SAS HELP | Blake R. Sanders, Mikhail Gruzdev |
The SAS/MDDB product makes accessing data quicker and more efficient. Creating the files that work with SAS/MDDB, however, can be far from productive if you use an already mammoth data set. If the original data set is large enough, the creation of those files will take most of your available resources. The solution is to combine the strategic segmenting of your original data set, the use of SAS indexes and subsetting. By using these to create a SAS/MDDB file "on the fly", the quick and efficient access to data will remain the same while lowering the costs of production |
if-then-else, proc step | source | 5 |
| 215 | The Power and Simplicity of the TABULATE Procedure | Daniel E. Bruns | When I first started using SAS in a university environment in 1972, I was very excited about how much SAS could help me. As I learned more and moved to the real world of the employeed I needed more flexibility in my reporting - PROC PRINT had some and PROC MEANS and FREQ had basically none. And SUMMARY needed too much DATA STEP manipulation. What I needed was a marriage of all these with the flexibility to control what I wanted where and how! Thank the Gods for PROC TABULATE!! I was able to produce reports from massive amounts of data in practically any way I needed! The power of being able to simply rearrange a few variable names and change the complete look of the report was great. But then I also found a few things that were not so simple-like percentages |
proc step, proc tabulate, sas base, label statement, proc freq | source | 7 |
| 216 | The Power of Hybrid OLAP in a Multidimensional World | Ann Weinberger, Matthias Ender |
Version 8 of the SAS System brings powerful new features for managing a Hybrid OLAP (HOLAP) or Distributed Multidimensional Data environment. The HOLAP component of the SAS/MDDB Server software enables you to include SAS Multidimensional databases (MDDB), SAS files, and relational (RDBMS) databases into a single, powerful OLAP reporting environment. Support for HOLAP data groups is fully integrated into a number of SAS Institute's OLAP solutions |
star schema, structured data | source | 5 |
| 217 | The Problem with NODUPLICATES | Jack Hamilton | The NODUPLICATES option of PROC SORT does not delete duplicate records from a SAS dataset under certain conditions. This paper explains why, and suggests workarounds. This paper applies to SAS System software version 6.12 |
proc sort, proc step, proc sql, by group processing | source | 2 |
| 218 | The SAS SUBSTR Function - A Beginner's Tutorial | Paul D. McDonald | This paper is written for SAS Users and SAS Programmers of any experience level. It reviews the syntax, basic applications, and troubleshooting of theSUBSTR DATA STEP Function |
data step, substr function | source | 2 |
| 219 | The SAS System E-mail Interface: A Case Study | Derek P. Morgan | The 1999 International Genetic Epidemiology Society meeting used software developed with the SAS System for registration and abstract management. Given the international nature of the presenters and attendees, however, conducting the routine business associated with these tasks by telephone or postal service would quickly get expensive. To reduce administrative costs, the organizers wanted to use electronic mail as the primary | put statement, set statement | source | 3 |
| 220 | The Time Series Forecasting System | Charles B. Hallahan | first difference, dataset, predictor variable, feature selection, time series analysis, unit root, sample, model training, partial autocorrelation, proc esm | source | 9 | |
| 221 | The Ultimate Match Merge: Hiring the Best SAS Programmers | Neil H. Howard | You are interviewing a candidate in a sharp navy suit, with an impressive resume and ten years of SAS experience. But, how do you tell if this ten years of experience is really ten years, or the same year over and over again? If, indeed, past behavior or past job performance is the best indicator of future performance, how is the SAS community probing for the facts? What are our assessment criteria? The author developed a survey tool administered to selected SAS programmers, analysts, trainers, human resource experts, and managers as a reality check into our performance as interviewers and our experience as interviewees. What techniques are being used to interview and assess SAS talent? This paper will explore the results of this survey, looking at the following interview techniques: identifying resume red flags, conducting useful phone interviews, structuring general face-to-face interviews, "measuring" intangibles, proficiency testing, and code walk-throughs | sas programmer, data cleaning | source | 9 |
| 222 | The Use of Kernel Density Estimators to Monitor Protocol Compliance | Patricia B. Cerrito, George R. Barnes |
proc step, sample, null hypothesis, anova, time series analysis, probability distribution, histogram | source | ||
| 223 | The Writing for Reading SAS Style Sheet: Tricks, Traps & Tips from SAS-L's Macro Maven | Ronald J. Fehd | A program is a form of communication that occurs in two distinct and vastly different events: the first event is immediate: when the program is submitted to the language processor for execution; the second event takes place at a later time: when the writer or another programmer returns to read that program for maintenance. A good style sheet can facilitate program maintenance. This is especially important when simultaneously writing in two languages: SAS and it's macro language. This paper discusses elements of a style sheet for SAS programmers. The intended audiences are intermediate SAS programmers and beginning macro programmers | macro facility, if-then-else | source | 4 |
| 224 | To Be or Not to Be? That is the Dynamic Web Page | Thomas Kunselman, Almira A. Lyst, Donald L Penix Jr. |
An important goal for Intranet applications development is quick response time. In the design stage of development, the issue of response time made us question whether to send dynamically generated Web pages directly back to the Web browser or store the web pages as temporary or permanent files. As we learned more about version 7 SAS/GE2 System components, including SAS/INTRNET/Ge2 application dispatcher version 2.0, SAS/GRAPH/Ge2, SAS/QC/Ge2 and SAS/STAT/Ge2 and the Output Delivery System (ODS), we concluded that the Web pages we were dynamically generating would have to travel several paths to reach the browser. This paper describes four examples of how our Web application's dynamically generated HTML pages arrive at the browser and discusses the factors involved in our choice of methods |
data step, structured data, dataset, filename statement, proc gchart, sas batch, oracle, cpu time, output delivery system, proc step | source | 8 |
| 225 | Transferring Your Mainframe SAS Programs to Your PC in Three Easy Steps | Michael A. Raithel | You have built up quite a collection of useful SAS programs in your many years of using the SAS System on mainframe computers under MVS. Now that you find yourself doing more and more work in PC SAS, it seems a shame to write new programs entirely from scratch. Wouldn't it be more helpful to port your mainframe Partitioned Data Set (PDS) of SAS programs to a file on your PC? Then, you could reuse your mature SAS code on the desktop by making simple modifications to suit it to its new environment and to the particular task at hand. This paper illustrates an easy way to transfer a PDS of SAS programs from the mainframe to the PC in three easy steps | flat file, proc step, macro definition | source | 3 |
| 226 | Transforming SAS Data Sets Using Arrays | Ronald P. Cody | do loop, missing value, dataset, array, proc step | source | 6 | |
| 227 | Tuning the SAS System for UNIX and Tuning UNIX for the SAS System | Clarke Thacher | This paper will present tips and techniques for getting the best performance out of the SAS System on the UNIX operating systems. We will address changes that can be made to the SAS System as well as operating system parameters | cpu time, memory usage | source | 3 |
| 228 | Uncorking SAS/AF Software Bottlenecks with the SCL Dynamic Performance Analyzer | Jeffrey L. Lessenberry | This paper will discuss a relatively unknown but extremely useful SAS/AF tool: SCL Dynamic Performance Analyzer. This tool allows you to find the unseen gremlins slowing your SAS/AF or S A S / E I Sc o d ea n de l i m i n a t et h e m .T h eS C L Dynamic Performance Analyzer allows the program to run normally in a local or client/server environment while keeping detailed runtime information. When the SCL Dynamic Performance Analyzer is disengaged, it creates an interactive report, which shows a break down of each statement that ran during the application. This paper will discuss the usage of the SCL Dynamic Performance Analyzer and give examples of problem applications optimized using this tool |
source | 5 | |
| 229 | Use of SPEDIS Function in Finding Specific Values | Yefim Gershteyn | One of the new functions in Base SAS released in Version 6.12 is SPEDIS, which returns a measure of how a word is close to another word in spelling - an asymmetric spelling distance between the two words. The function can be efficiently used for such tasks as finding specific values of character variables in a data set, merging data sets, or subsetting data using a character variable when there is a possibility of different spellings or misspellings of its value. In many cases, the SPEDIS function works better for these tasks than other SAS functions - INDEX, SCAN. It is especially useful as an addition to other functions to refine the search for specific values. The challenge is to set up a certain spelling distance, which allows the user to select the relevant values of the character variable | character variable, index, adverse events | source | 3 |
| 230 | Using %WINDOW to Gather User Criteria | 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. Several examples will demonstrate gathering single and multiple choices per parameter and conditionally gathering criteria |
macro variable, %if-%then-%else, macro facility, macro definition | source | 5 |
| 231 | Using a Fuzzy Merge to Combine Customer Performance Information Across Accounts | Helen-Jean Talbott | One of our primary goals for credit policy is to establish criteria which select applicants that have the highest probability of repaying their loans to our company. These criteria rely on models developed using information from loan applications (such as income and homeownership) and from our experience with them as customers (whether they paid as agreed). One of the first steps in the model development process involves samplingrelevant data and classifying the accounts based on performance (payment history). Customers frequently renew and refinance loans within the sample period and it is important to track the performance of these customers from one loan to the next. Matching the old loan with the subsequent loan becomes difficult because the closing of one loan and the opening of the next loan can occur several days apart and the customer may have additional loans open with the company | sample, proc freq | source | 3 |
| 232 | Using a SAS/IntrNet Data Browsing Application to Generate SAS Code for Stand-alone Reports | Paul M. Gilbert | At DataCeutics, Inc., we have developed a SAS/INTRNET-based tool for browsing SAS data and generating listings, summary tables and figures that assist in reviewing clinical trial data. This tool's primary user base is the non-technical clinical scientist. However, we saw an opportunity for the tool's use to be extended to technical users such as statisticians and clinical programmers. To do this we needed the ability to generate the underlying SAS code that created the output and then save the code to a file where the statisticians and clinical programmers could further modify it and execute it in a batch environment. For this to work, we developed a self-contained code generation 'button' that could be easily added to the dynamic SAS/INTRNET-generated HTML report generation pages. This paper describes the application, how the code generation functionality was designed and how the code generation button was implemented |
macro variable, dataset, macro definition | source | 4 |
| 233 | Using Batch MVS SAS Software to Send Email Via a UNIX Email Server | Stephen M. Englert | Frequently, there are customers, internal or external to a business, that require timely email notification regarding the successful completion of certain important MVS jobs. Or, perhaps they wish to receive via email the various reports generated by these jobs. In any case, MVS is not inherently email-friendly, and, more often than not, programmers must download reports to a PC, set up a list of email recipients, scribble a quick explanatory note in the body of the email, attach the saved reports documents, and finally, press SEND. This works fine for one-off, ad hoc jobs | proc freq, sas programmer, cdisc | source | 5 |
| 234 | Using Enterprise Miner to Explore and Exploit Drug Discovery Data | Michael S. Lajiness | One of the biggest challenges in modern pharmaceutical drug discovery is the effective management and exploitation of research data. How can one find those relatively small nuggets of knowledge buried in the great morass of data being generated by High Throughput Screening systems? One potential answer is by using Enterprise Miner software! This talk will describe how it can be used to find structural features of potential drug molecules that appear to effect interesting (and useful) biological activity. It will be shown how one can use Enterprise Miner even at a very basic level to uncover potentially useful relationships that can be exploited to more rapidly find new therapeutic candidates. Special issues with respect to how to mathematically describe chemical structures will also be addressed. This talk is geared towards SAS users at the beginning to intermediate skill level | data mining, neural network, in=, regression analysis, data cleaning, test set, proc hpsplit, network optimization, response variable, training set, score code | source | 8 |
| 235 | Using KEY= to Perform Table Look-up | Sandra Lynn Aker | proc step, automatic variable, modify statement, lookup, proc print, put statement | source | 4 | |
| 236 | Using Macro Functions | Arthur L. Carpenter | Many macro functions are very analogous to those of the DATA STEP. The differences are in how they are used and applied. While DATA STEP functions are applied to values on the Program Data Vector, PDV, macro functions are used to create, modify, and work with text strings. Initially this may seem like a minor difference, but because macro functions deal with text, they can be used to build SAS code. This becomes the powerful advantage of the macro language. The use of various macro functions will be presented. Some of these functions return quoted results, and macro quoting functions will be introduced. Examples will include functions like %SYSEVALF and %SYSFUNC, which are new to V6.11 and V6.12, as well as, various Autocall macros. Several of the examples are adapted from "Carpenter's Complete Guide to the SAS Macro Language" |
macro function, macro variable, macro facility, macro put, macro quoting function, proc print, automatic macro variable, proc step, character functions, macro call, macro definition, %if-%then-%else, autocall macro | source | 7 |
| 237 | Using Macros as a Data Table Generation Tool | Daphne E. Ewing | Displaying a variety of data in a consistent manner can be tedious and frustrating. Making adjustments to these displays, such as adding/removing columns, can be time consuming and just as frustrating. This paper will show the user how to set up macros which work together to make data table generation consistent, easy to follow, and easy to modify. I will define several SAS macros, show how they interact with each other and the data, and give examples of input and output. Given these macros, I will also show how to modify displays easily | macro variable, put statement, %if-%then-%else, macro definition, adverse events | source | 7 |
| 238 | Using Metadata for Data Driven Programming | Brian K. Varney | Creating dynamic, data driven programs is a very powerful tool. Often we can use the metadata or the project data itself to help write our programs. This paper will introduce some of the con cepts related to writing SAS programs which will generate pieces of SAS code in a data driven manner. Parts of the SAS language used in this discussion include the following: 1. macro call routines (call execute, call symput) | proc sql, proc step, macro loop | source | 4 |
| 239 | Using Propensity Scores to Adjust for Group Differences: Examples Comparing Alternative Surgical Methods | David J. Pasta | Comparing the effectiveness of two treatments on nonrandomized groups is difficult because there are almost always baseline differences between the groups. Propensity scores (Rosenbaum and Rubin, Biometrika 1983) are a valuable but underutilized approach for adjusting for group differences. When two groups are being compared, the propensity score can be calculated as the predicted probability of group membership from a logistic regression. It represents the 'propensity' for an observation to be in one group or the other. By adjusting for the value of the propensity score in a linear model, one effectively adjusts for any group differences attributable to the variables used to create the propensity score. In addition, the values of the propensity scores can serve as a diagnostic tool to evaluate the comparability of the groups in a quantitative way. In this paper, three practical examples are presented | propensity score, regression analysis, logistic distribution, sample, proc step, logistic regression, poisson regression, treatment effect, proc genmod, poisson distribution, sample size | source | 7 |
| 240 | Using SAS and DDE to Execute VBA Macros in Excel | Christopher A. Roper | Visual Basic for Applications (VBA) is the programming language Microsoft uses for all their desktop products, including Microsoft EXCEL. VBA allows programmatic control for virtually all the functionality of EXCEL. Because of the popularity of EXCEL as an end-user tool and the power and flexibility of the SAS System to deliver information, integration of these two resources is inevitable. One of the most popular and powerful protocols for integrating SAS and EXCEL is Dynamic Data Exchange (DDE). However, SAS can not send VBA commands to EXCEL using DDE. This paper will present a technique for circumventing this limitation. A VBA macro can be recorded in an EXCEL workbook, and then that macro can be executed by a SAS application using DDE and a command from the EXCEL 4.0 macro language |
excel, data step, xls | source | 4 |
| 241 | Using SAS Macro to Explore the Contents of a Data Set | Kinwah Fung | The CONTENTS procedure prints the descriptions of the contents of a SAS data set and one of the variables given in the output data set is FORMAT. This paper presents a SAS Macro which lists the original values and the formatted values of variables in addition to the information given by PROC CONTENTS. This can help us in identifying the distinct values of the variables before we proceed to any data management procedures, and verifying the validity of the data while listing the contents of the data set |
macro definition, macro loop, proc sql, %if-%then-%else | source | 4 |
| 242 | Using SAS Software and Visual Basic for Applications to Automate Tasks in Microsoft Word: An Alternative to Dynamic Data Exchange | Mark T. Stetz | Using Dynamic Data Exchange (DDE) to drive Microsoft Office applications such as Word and EXCEL has long been a technique utilized by SAS programmers. While alternatives exist (e.g., generating RTF code, OLE Automation), the use of DDE in conjunction with the native scripting languages of these applications has been appealing since implementation is simple and the macro recording capabilities of Office applications make script generation nearly automatic. Harris (SUGI 24 Proceedings, 1999) described a particularly elegant design for using the SAS System and DDE to populate Microsoft Word documents. Now that the more sophisticated Visual Basic for Applications (VBA) is the common development environment among all Office applications, however, DDE only works with Office application legacy macro languages. Employing Harris' design, this paper describes a technique to simulate the ease of use of the DDE methodology while taking full advantage of VBA to automate Microsoft Word |
macro definition, txt, macro parameter, excel | source | 6 |
| 243 | Using SAS Software for Exception Analysis of Sybase Performance | Joseph M. Mirabal, Zhengyu Wang |
Analyzing data that accounts for system behaviors is often required to define the technical limits, tuning parameters and resource capacity of database applications in an enterprise client-server computing environment. In a distributed environment exception analysis becomes a key instrument to determine corporate system resource management strategy. The approach presented in this paper is an information delivery of the dynamic corporate system requirements as they evolve. Sybase performance exception analysis is used as an experimental subject for data analysis and problem resolution of common concerns in business processing needs. The system lends itself to simple parametric analysis of any information base. We use three primary SAS products, Base SAS, SAS/STAT and SAS/GRAPH with the Access to Sybase and the Web publishing tools to build this application |
proc univariate, proc step, memory usage, sql server, proc sql, flat file | source | 6 |
| 244 | Using SAS Software to Perform a Case-Control Match on Propensity Score in an Observational Study | Lori S. Parsons | In large observational studies there are often significant differences between characteristics of a treatment group and a no treatment group. Such differences should not exist in a randomized trial. These differences must be adjusted for in order to reduce treatment selection bias and determine treatment effect. There are several methods to reduce the bias of these differences and make the two groups more similar. One method is to perform analyses after matching cases (members of the treatment group) to controls (members of the no treatment group) based on a number of individual characteristics. A refinement of this method is to create a propensity score to represent the relationship between multiple characteristics and an outcome as a single score, and then match on that single score. This paper will show SAS users how to create a propensity score using the LOGISTIC procedure and then match cases to controls based on this score with a user-written SAS macro program |
propensity score, do loop, response variable, logistic distribution, proc logistic, predictor variable, regression analysis, logistic regression, macro definition, proc step | source | 6 |
| 245 | Using SAS Tabulate HTML Formatter - Web Publishing Tool By Examples | Shi-Tao Yeh | SAS/GE2 Web Publishing Tools are SAS macros which enable you to convert your data files or output files to HTML format and display it on your Web browsers. This paper discusses one of SAS Formatters, known as Tab Formatter and how to invoke this macro with provided examples. The examples illustrate how to enhance your tabulation output on the Web browsers. The SAS product utilized this paper is SAS BASE /Ge2, with SAS Formatters installed on Unix platform |
dataset, sas base | source | 7 |
| 246 | Using SAS Under OpenVMS at First Health | Jack Hamilton | This paper discusses how SAS Software is used by the Metrics Department of First Health. Some basic OpenVMS concepts are discussed. This paper is for aimed to beginning and intermediate level users of SAS and OpenVMS | proc step, libname statement | source | 5 |
| 247 | Using SAS/IntrNet Software to Support Distributed Data Entry | Kathryn M. Trinkaus, Paul A. Thompson, J. Philip Miller |
The advent of SAS/INTRNET has had significant impact on use of the SAS System to support management of multi-center clinical trials. Using a combination of static and dynamically-generated HTML forms, JavaScript for data validation and user support, and the SAS System for form generation, data transfer and data management, a great flexibility can be obtained for data entry, output dissemination and communication with remote sites. Web-based data entry provides rapid, accurate and secure transfer of information, facilitates communication with dispersed clinical centers, and allows significant savings in equipment, training and support costs. Provided that the challenges of development time, fast, reliable access and secure data handling are surmounted, the capabilities of SAS/INTRNET are expected to become essential tools for management of large-scale, multi- center clinical trials |
macro variable, data cleaning, sample, macro definition | source | 6 |
| 248 | Using SAS/IntrNet to Teach PROC GCHART Coding | Wing K. Chan, David C. Steven |
Teaching information technology poses a challenge for both university professors and corporate trainers. Time and/or resource constraints can impede learningopportunities for students. Through web-based learning, students can work independently outside the classroom, yet maintain a relatively high degree of interaction or feedback. In this paper, we present a web-based interactive learning application employing SAS/INTRNET to enable students to learn PROC GCHART fundamentals using just a web browser on a networked machine. A student using this program is able to experiment with sophisticated SAS codes simply by "pointing and clicking." |
macro definition, horizontal bar chart | source | 6 |
| 249 | Using the Magical Keyword 'INTO:' in PROC SQL | Thiru Satchi | "INTO:" host-variable in PROC SQL is a powerful tool. It simplifies programming code while minimizing the risk of typographical errors. SQL INTO: creates one or more macro variables, based on the results of a SELECT statement. This macro variable(s) reflects a list of values that can then be used to manipulate data in both DATA and PROC steps. The usefulness of SQL INTO: will be demonstrated by analyzing a large medical claims database. Keywords: INTO:, host-variable, macro, SQL |
proc sql, proc step, macro variable, insurance claims, macro put, sample | source | 8 |
| 250 | Using the SAS System to Visualize Inter-Rater Agreement for Continuous Measurements in Medical Studies | Barbara G. Schneider | In this presentation a graphical technique to check agreement visually is discussed. Emphasis is laid on how this statistical method can be performed within the SAS System. Data from clinical trials are presented. SAS code is reported using the following tools: Base SAS Software, PROC GPLOT and the Macro Language |
sas base, normal distribution | source | 3 |
| 251 | Utilization of SAS Programs in the Business Environment | Sunil Kumar Gupta, Charles E. Shipp |
Business can take advantage of all the features of the SAS System. By taking a task-oriented approach to address business issues, SAS programs can be written to support the functional requirements of business operations. The objective of many companies is to establish a data warehouse structure that incorporates total customer involvement with standards and documentation. The four main areas that will be reviewed include data access, data management, data analysis and data presentation. Critical business decisions will benefit from these structured approaches | excel, proc step, data cleaning, proc sql, proc rank | source | 5 |
| 252 | Variable and Format Consistency - A Macro Approach for Reading in Flat Files | Kevin P. Kowitz | Many companies face obstacles in reading flat files due to discrepancies in naming and formatting conventions. In this scenario, changing a record length and/or a variable length or format requires global changes to all programs. This task is difficult in a non-production environment where every program may differ in variable names and formats. To simplify this process at Prime Therapeutics, Inc; a SAS Macro was implemented for reading in flat file data. This Poster describes the SAS table and Macro used for this process | flat file, cpu time | source | 3 |
| 253 | Version 8 Base SAS Performance: How Does It Stack Up? | Robert S. Ray | This paper presents the results of a study conducted at SAS Institute Inc to compare the time-domain performance of several key parts of the Base SAS/GE2 system at Version 8 and Version 6. The performance of the DATA STEP, the SORT procedure, the |
proc step, proc means, proc sql, proc sort, proc tabulate, put statement, outlier, sas base, box plot | source | 7 |
| 254 | Visualizing Categorical Data: Data, Stories, and Pictures | Michael Friendly | Categorical data-frequency data, and discrete data-are most of- ten presented in tables, and analyses using loglinear models and logistic regression are most often presented in terms of parame- ter estimates. Over the past decade, I and others have developed novel visualization methods for categorical data, designed to pro- vide exploratory and confirmatory graphic displays analogous to those used readily and easily for quantitative data. These graphical methods are described in Visualizing Categorical Data. The book also provides a large collection of macros designed to make these methods readily and easily used. This paper provides an overview of these graphical methods and macros, as told through data, their stories, and associated graphical displays | proc freq, binomial distribution, regression analysis, logistic regression, logistic distribution | source | 9 |
| 255 | Want Quick Results? An Introduction to SAS/GRAPH Software | Arthur L. Carpenter | SAS/GRAPH software contains the tools and flexibility to produce high-resolution presentation quality graphs. With this flexibility comes a complexity that often discourages a new user from taking the plunge and learning SAS/GRAPH. Learning and using SAS/GRAPH does not need to be difficult. Nor are the more complex aspects of SAS/GRAPH always needed to produce graphic output that is just what your boss wants. This workshop will introduce three of the primary procedures used by SAS/GRAPH, and introduce some of the options and statements that make them special. We will start with TITLEs and FOOTNOTEs. PROC GPLOT will be used to create a scatterplot which will be enhanced with SYMBOL statements and a number of options. A couple of variations of GCHART will be demonstrated and the creation of title slides using GSLIDE will be discussed briefly. Options specific to SAS/GRAPH and how and when they should be used will be handled with an introduction to the GOPTIONS statement |
proc step, proc gplot, proc gchart, histogram, options statement | source | 6 |
| 256 | Warehousing, Metadata, and Object-Based Analysis | Thomas H. Burger, Philip M. Pochon |
Warehouse technology amasses teradata as the basis for Decision Support Systems (DSS). Key to knowledge formation is the organization and representation of such data. Identification of data structures enables the selection of decision support models. Use of object-classes with warehouse metadata allows creation of analytic frameworks. We discuss the production application of object-based SAS analyses driven by warehouse metadata | main effect, anova, macro variable, quality assurance, data science, macro definition, %if-%then-%else | source | 5 |
| 257 | Web Based DSS Development | Jeff LeSueur | excel, proc step | source | ||
| 258 | Web Interfacing: Merging Statistical Processing | William J. Montelpare, Moira N. McPherson |
The purpose of this project was to develop a system to enter, store, retrieve, analyze and report data entirely over the Internet. The selected approach merged the Netscape Enterprise Server's capability to create "applications" using client-side and server-side JavaScript with the statistical processing features of SAS through the web-based software: SAS IntrNet . The application was designed to collect measures of physical health for a cohort of undergraduate students. The measures were first processed on "the client-side" to provide personal feedback. A request link enabled the client to send their measures to the "server" using "server-side" JavaScript write commands. The data were appended to a storage data set comprised of responses from visitors that agreed to submit their data. SAS programs were written to provide descriptive statistics and tests of inference for the data set. A menu of available SAS programs was posted on the homepage web-site | proc sort, sas batch | source | 3 |
| 259 | Web Publishing with SAS Software | Dana Rafiee | proc step, proc tabulate | source | 8 | |
| 260 | What Fiscal Year Is This and When Does It Start and End? | Wayne B. Finley | Until SAS version6.07, I usually wrote several code lines to compute what was a date's fiscal year start and end dates. If a SAS date was in a current Year first six months the State of California's fiscal year started in the prior year's July 1st and ended in the current year June 30th. When the date is the last 6 months, then the fiscal year started in the current year's July 1st and ended the nextyear onJune 30th. The resultantcode, besides being hard to read, in several places we found it created Y2K errors. This paper demonstrates the INTNX function's new features to shift the interval starting point from normal start point to another starting point. Specifically the paper shows shifting the year start point from Jan 1st to July 1st (the state's fiscal year start) | macro variable, data step | source | 2 |
| 261 | What We Really Need is a %BY Statement - V2 | Ray Pass | proc step, macro variable, proc sql, macro definition | source | 2 | |
| 262 | Why We Need an R-Square Measure of Fit (and Not Only One) In PROC LOGISTIC and PROC GENMOD | Ernest S. Shtatland, Sara L. Moore, Mary B. Barton |
We propose to use two seemingly different R2 measures of fit in PROC LOGISTIC and PROC GENMOD (SAS/STAT), and we show that they are closely related to each other in terms of the amount of information gained when including predictors, in comparison with the "null" model. We suggest working with these R 2 measures simultaneously rather than separately because they can be seen as two faces of the same coin - information, and using them in parallel is similar to the binocular vision. The intended audience: SAS users of all levels who work with SAS/STAT |
proc step, likelihood function, regression analysis, logistic distribution, proc genmod, proc logistic, logistic regression | source | 6 |
| 263 | Work-Arounds for SASWare Ballot Items | Jack Hamilton | As part of its effort to insure that SAS Software is useful to its users, SAS Institute collects suggestions for changes and enhancements and asks users to rank them in importance. This paper presents workarounds for several SASWare Ballot items | data step, where statement, proc step, proc sql | source | 5 |
| 264 | Working Efficiently in a Global Environment: Client/Server Processing with SAS/CONNECT Software | Robert W. Graebner | Working efficiently in a global environment requires the ability to process data from a variety of locations and platforms. SAS/SCONNECT provides three ways to accomplish this, data transfer services, remote library services and compute services. This paper illustrates how compute services can be used to efficiently process data in a global client/server environment. This paper is intended for users with a basic knowledge of SAS |
traffic data, proc step | source | 3 |
| 265 | XML and SAS Software: An Advanced Tutorial | Gregory S. Barnes Nelson | One of the goals for SAS applications developers has been to develop three-tier and n-tier applications where the application logic (business rules) is separate from the data, which, in turn, is isolated from the user interface. In a previous paper (Barnes Nelson, 1999) 1 we discussed how to implement this logic separation using the SAS Component Language. This paper extends that line of thinking by introducing SAS developers to XML. eXtensible Markup Language, or XML, is a protocol of sorts that can be described as a technique for separating data from its presentation. In this paper, we will discuss XML in the context of SAS applications and how it can be used in the preparation and presentation of data. We will explore some of the features of XML that makes it a good partner for SAS-based applications | sas programmer, output delivery system | source | 10 |
| 266 | You CAN Get There from Here (and Back Again): Adding Hot-link Drill-down Capabilities to %DS2HTM and %TAB2HTM Output | Ray Pass | The SAS Web Publishing Tools (%TAB2HTM, %DS2HTM and %OUT2HTM) can be used to create HTML pages for publishing on the Internet or an Intranet. Right out of the box (and the box is FREE too!), they can be used to create basically one page per PROC TABULATE output, or one page per SAS data set (tabularized display). ( %OUT2HTM can be used to add titling and other information to any SAS procedure output, but the basic procedure output is not really enhanced.) By using simple SAS MACRO processing combined with the manipulation of TITLE statements, basic data set variable values and values of variables used as CLASS variables in TABULATE procedures, you can create whole systems of hot-linked pages with almost full drill-down capabilities |
proc tabulate, dataset | source | 10 |
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