SGF 2008 Papers - Index
278 papers. Source: SAS Global Forum conference proceedings.
| # | Title× | Authors× | Abstract× | Keywords× | Extras | Pages |
|---|---|---|---|---|---|---|
| 1 | %HASHMERGE - A Macro to Hash When It Can, Merge When It Can't | Gregg P. Snell | As documented in several previous papers[1], within certain limitations there is nothing faster than using the DATA STEP Component Objects, or "hashing", to merge two SAS tables. However, many programmers would like the speed improvement hashing offers but haven't taken the time to learn the new dot-notation syntax. Or, perhaps there is concern the program will run out of memory after spending extra time writing more complicated code. The old sort-n-merge may be slow, but it always works. What if there was a macro that could programmatically decide if hashing would work and generate the appropriate code either way? %HASHMERGE was written with the SAS 9 Macro Language Facility and DATA STEP Component Object Interface, or hashing. This macro programmatically ascertains if the data to merge could be completed with hashing in the current SAS session. If so, it generates the appropriate hashing code and if not, it generates the old-fashioned sort-n-merge code. The intended audience for this paper is any SAS programmer familiar with macros that has written more than a few DATA merges and is interested in learning and exploiting the new hashing methods. %HASHMERGE is (almost) operating system independent and only requires the Base SAS 9 System. |
cpu time, hash table, hashmerge, proc means, proc sql, colon modifier | source | 12 |
| 2 | A "SAS Programmer's" Guide to SAS Enterprise Guide | Marje Fecht, Rupinder Dhillon |
You have been programming in SAS for a while….. You hav e been told "we are moving to Enterprise Guide" and removing Display Manager". You say …… I can program everything just fine myself, thank - you! OR What am I supposed to do with all these windows? This presentation will demonstrate how SAS programmers can use SAS Enterprise Guide as their primary interface to the SAS system while maintaining the flexibility of writing their own customized code. We will look at how to navigate the views and menus how SAS Enterprise Guide can be used as your primary SAS Editor * how you can leverage the more complex built-in capabilit ies available in SAS Enterprise Guide to further enhance the information you deliver. Enterprise Guide version 4.1 will be used | sas enterprise guide, bar chart, sas programmer, macro variable, sas log | source | 18 |
| 3 | A Framework for Using the SAS Metadata Server from SAS Foundation | Ole-Martin Hafslund | The Customer wants to use the Metadata Server to enable single signon when running sas programs from SAS Foundation. Either the system is running batch jobs, running interactive sas programs from Citrix Metaframe or when using scripts. Single signon means that no passwords are stored in the running code. Using the Metadata Server option in SAS Foundation enables this. This framework shows how it is accomplished in the current SAS Platform environment at The Customer and through the UNISAS project. | batch job, sas enterprise guide | source | 12 |
| 4 | A Macro for Getting More out of Your ROC Curve | Jennifer Lambert, Ilya Lipkovich |
As a part of clinical decision making, a continuous measure reflective of a patient's condition (e.g. laboratory test result) is often dichotomized (or "cut") into two groups (e.g., abnormal and normal) for predictive or screening purposes. The decision of where to select the cut-off point is often governed by a reasonable trade-off between sensitivity and specificity for a particular test. A common method to help find this balance is to plot sensitivity versus (1-specificity) as a "ROC" (Receiver Operator Characteristic) curve. Although a useful tool, the ROC curve rarely displays the individual cut-off values. Because of this limitation, the user cannot visualize the impact of varying sensitivity and specificity against the cut-off values of the prediction variable | type i error, roc curve, type ii error, sample size, sample, correlation, macro call | source | 11 |
| 5 | A Macro Function to Parse Any Variable Lists | Jimmy Zou | How to make a user-defined macro work with multiple variables is often a difficult task. In many cases, in order to work with any variable lists just as SAS procedures do, your macro needs to 'recognize' or parse the variable lists. Unfortunately there is no macro or function available to deal with variable lists efficiently. This paper introduces a macro function %Parse(dsn, varlist) that can parse any variable list (varlist) for a given data set (dsn). The variable list can be a conventional SAS variable list (like those used in SAS procedures and DATA steps) or a Perl regular expression. The function returns a complete list of variable names corresponding to the variable list. With additional Perl regular expressions, this function can parse variable lists or patterns far beyond the conventional ones used in SAS procedures and DATA steps. This macro function provides a useful tool for user- defined macros to handle variable lists | variable list, macro function, proc step, name range list, variable, macro variable | source | 9 |
| 6 | A SAS Text Mining Approach to Predicting the Resolvability of Disputes between eBays Sellers and Buyers | Kevin S. Henning, Zhangxi Lin |
A well functioning reputation and feedback system is foundational in consumer-to-consumer electronic commerce, an example of which is the electronic auction. Our interest in this paper is the analysis of the predictive power of both buyer and seller comments in determining the resolvability of transaction disputes in online auctions. Using data gathered from the eBay, Inc. reputation system, we analyze buyer and seller comments using the versatile SAS Enterprise Miner software Text Miner node. In our analysis we employ a binary target variable "Resolvable" to indicate whether an auction dispute has the possibility of being resolved to the satisfaction of buyer and seller. The results suggest that textual analysis of seller comments is consistently more predictive than either content analysis based on human coding of feedback text or textual analysis of buyer feedback alone | regression analysis, data mining, predictor variable, response variable | source | 12 |
| 7 | A Step-by-Step Introduction to PROC REPORT | David R. Lewandowski | Have you read the description of PROC REPORT in the SAS manual and been left scratching your head wondering where to start? Then, here's a step by step introduction. It walks through the basics, one feature at a time, so you can see each one's impact on the report. When you're finished, you will already know how to create ninety percent of the reports you need. And more importantly, you will have a context so you can go back to the manual and learn the advanced features |
proc report, proc step | source | 6 |
| 8 | A Tiptoe Through the Tagset Field | Michael J. Molter | The flexibility that the markup destination has added to ODS is comparable to the benefits ODS originally brought to SAS output, but it comes at a price known as the tagset. With ODS, we could display results in web pages without HTML knowledge; in Word without RTF knowledge. Deve lopers soon realized though that having ODS do all the work wasn't always ideal; that on oc casion, users could benefit from having some control over how markup was generated. Just as templates instruct ODS on display custom ization, TAGSETS instruct ODS on markup customization. The advantages are clear - even more flexibility in the generat ion of output. The price is similar to that paid for display flexibility - more TEMPLATE procedure syntax, and an understanding of how ODS constructs files from these instructions. Great accomplishments often come from modest beginnings. This paper is your modest beginning |
proc step, put statement, sas output, proc freq, proc print, title statement, output delivery system, proc report, standard deviation, proc template | source | 23 |
| 9 | A Whole New World: What's New in SAS Data Integration Studio 4.2 | Eric Hunley, Gary Mehler, Nancy A. Rausch |
SAS Data Integration Studio 4.2 provides many new enhancements to help both data warehouse developers and data integration specialists carry out data-oriented processes more efficiently and with greater control and flexibility. A major focus of this release is to deliver new visualization features that incorporate support for debugging. Improvements have been made to nearly every transformation. Performance analysis and optimization capabilities have been enhanced through the use of integration with system monitoring facilities. Increased integration across the platform is another focus area that provides a better integrated user experience across the SAS suite of products. Customers will find many reasons to upgrade to SAS Data Integration Studio 4.2 | data integration, staging area, data warehouse | source | 20 |
| 10 | Academic Business Intelligence System Development Using SAS Tools | Azman B. Taa | Managing an organization requires access to information in order to monitor the organization activities and assess its performance. Indeed, the increasing demand for information plus the growing data volumes and customer populations can pose problems to the organization. A way to tackle these issues can be found in Business Intelligence (BI) solutions, which provide organizations with timely and integrated information that is crucial to the understanding of the business environment and customer needs. These solutions, usually in the form of BI systems allow the organizations to gather, store, access and analyze corporate data sources for business planning and decision-making. Academic institutions, an example of these organizations, require information too for planning their academic resources and achieving academic excellence | dimension table, fact table, surrogate key, sas enterprise guide, key, staging area, proc sql | source | 13 |
| 11 | Adapting your SAS Programs into the SAS9 Paradigm | Cynthia L. Zender | Do you want to convert existing SAS programs into SAS Stored Processes? Would you like to learn how to convert and adapt your existing SAS programs so that they can be executed from selected SAS Business Intelligence client applications? Topics in this paper include basic SAS program conversion to a SAS stored process, conversion of SAS/GRAPH programs, use of macro variables in program conversion, streaming versus transient package output from stored processes, and permanent result packages |
macro variable, sas enterprise guide, macro definition, proc step, ods html, proc gchart, proc report, symbol table, global symbol table, business intelligence, libname statement, macro call, sas administrator, %if-%then-%else, spk file, if-then-else, sas 9, macro facility | source | 21 |
| 12 | Add SAS Macros to Your Programming Skills: Achieve More, Write Less Code | Peter Crawford | SAS macros allow your program to do things you cannot achieve in other ways. Without needing the substantial leap to SAS/AF, SAS macros empower the programmer's program. SAS macros will raise the functionality of your programming to a higher level. This tutorial provides a practical introduction to the concepts with examples and fun. What you will need to bring: 1 confidence that you really want this extra level of programming 2 awareness of the non-macro solution needed for your first macro 3 determination, because there is much to learn 4 open-mindedness, because the learning will surprise you |
macro facility, macro variable, macro definition, sas base, macro loop, macro function, %if-%then-%else, macro quoting function | source | 6 |
| 13 | Administration Tips for Your Information Maps | Keith Myers | SAS Information Maps are consumed by many of the SAS Business Intelligence clients such as SAS Web Report Studio, SAS Enterprise Guide, SAS Add-In for Microsoft Office, and the SAS Information Delivery Portal. Information maps often need to be updated, modified, or moved in order to meet changing business needs. This paper explores the best ways to perform these tasks and others such as the following: changing existing table and library names adding new columns to existing maps determining map and report dependencies using the SAS BI Lineage Plug-in deleting columns from a map * moving information maps | sas management console, spk file | source | 13 |
| 14 | Advanced Features of User-Defined Formats and Informats | Ronald P. Cody | User-defined formats can do much more than make output from SAS procedures more readable. You will see how to use formats to create new variables and to perform table-lookups. You can even create your own informats to alter data values as they are being read into a SAS data set. Finally, certain SAS procedures support multi-label formats-that is, the ability to have a single value correspond to more than one format range. | proc step, proc format, dataset, input statement, proc tabulate, put statement, missing value, select, inputn, character variable, error message, format statement | source | 21 |
| 15 | Advanced Statistical and Graphical features of SAS PHREG | Lida Gharibvand, George C. J. Fernandez |
Survival analysis involves the modeling of time-to-event data whereby death or failure is considered an "event". The graphic presentation of Cox proportional hazards model using SAS PHREG is a significant tool which facilitates effective data exploration in survival analysis. The SAS PROC PHREG can generate some of the useful survival analysis plots using the ODS graphics option in version 9.1.3. In this paper, we will demonstrate the advanced features of PHREG for investigating the cumulative martingale residual plots and for selecting best candidate models in model selection. In clinical trials, potential outlier individuals who 'died far too early' or 'lived far too long' are identified and compared to what the fitted model predicts. The cumulative residuals from PROC PHREG are used to investigate the model specification error of covariate and validate the proportion hazard function |
proc step, survival analysis, proc phreg, outlier, regression analysis, proc gplot, hazard function, proportional hazards assumption, stepwise selection, best subsets, predictor variable, feature selection, likelihood function | source | 12 |
| 16 | Adventures in ODS: Producing Customized Reports Using Output from Multiple SAS Procedures | Stuart D. Long, Jeffrey M. Abolafia, Lawrence Park |
SAS ODS, combined with the Macro Facility, provides the seasoned programmer with t he tools to customiz e the content of output that is available to gener ate summarized reports of procedur al or multi-procedural listings. One of the shortcomings of statistical analysis in SAS is the amount of output that is generated from SAS procedures and dumped to the SAS Listing. This often voluminous amount of output combined with statistics extraneous to the needs of reviewers can be problematic. SAS ODS allows the programmer to extract only the desired statistics from a procedure, storing them in a single summary data set. Numerous ODS Output data sets can be merged together and used to generate concise reports summarizing the results from the multiple SAS procedures. The aut omation of the creation of these summary data sets allows for iteration to propagate the analysis over hundreds or thousands of data points |
proc step, predictor variable, response variable, proc glm, proc logistic, logistic distribution, proc genmod, proc calis, proc means, macro facility, proc freq, macro variable, macro definition, estimate, ods output, call execute, output, proc append, macro function, dataset, %if-%then-%else, regression analysis, logistic regression, sas log, interval variable, standard deviation, data cleaning | source | 23 |
| 17 | ALPHA_CI: A SAS Macro for Computing Confidence Intervals for Coefficient Alpha | Jeffrey D. Kromrey, Jeanine L. Romano, Susan Hibbard |
Coefficient alpha is a commonly used index of measur ement reliability in the social and behavioral sciences. Although point estimates of coefficient alpha are read ily computed (and are provided by the PROC CORR procedure in SAS), a variety of methods for constructing interval estimates have been suggested in the literature. This paper presents a SAS macro that calculates eight interval estimates of coefficient alpha. The macro computes coefficient alpha from a matrix of item score s provided as input, and outputs the point estimate and interval estimates in a simple tabl e. The paper provides a demonstration of the SAS /IML code, sample output, and examples of applications in simulation studies |
confidence interval, sample, sample size, confidence level, dataset, correlation | source | 12 |
| 18 | An Added Dimension: Exploring SAS OLAP Cubes with SAS Enterprise Guide | Rupinder Dhillon | The amount of data that is captured electronically is increasing at an exponential rate. While advances in scalable storage solutions allow companies to house this data, those tasked with analyzing and summarizing it now find themselves faced with the following questions: How do we turn raw data into useful information? How do we surface this information in a meaningful way? * How do we provide access to all facets of the information that people may need to see? To tackle these and other dilemmas, more and more organizations are turning to OLAP Cubes. OLAP, or Online Analytical Processing, provides a multi-dimensional view of aggregated data. It provides quick and easy access to facts, figures and statistics and gives the user the flexibility to change the view of the data to hone in on the aspects that are most pertinent to them. With the latest incarnation of SAS Enterprise Guide, SAS Programmers can also take advantage of the benefits of storing data in OLAP cubes | sas enterprise guide, proc step, proc sql, dataset, sql server | source | 16 |
| 19 | An Interpretation of Sparkline Graphs and Their Creation with SAS Software | Paul OldenKamp | Edward Tufte has defined 'sparkline' as a "small, high resolution graphics embedded in a context of words, numbers, and images"[1]. They allow for very high density graphics information to be integrated with the text that discusses the information being presented and have been implemented in SAS infrequently. This paper discusses a variety of sparkline styles and how sparklines can provide more information in a given space when designed with good graphical presentation principles. The basic three styles to be discussed in detail are: 1) the line graph of continuous time series data; 2) a win/loss/tie sparkline for binary results; and 3) a table of column sparklines. The interpretation of this later column table will be used to demonstrate how high dimensional graphical presentations enhance information content. As with most SAS Software programming there are several ways to accomplish the same task | time series analysis, proc step, adverse events | source | 7 |
| 20 | An Introduction to SAS/CONNECT | James C. Stokes | Most of us today are required to process data on more than one computer platform (e.g. Mainframe, UNIX, Windows, etc.). The term "distributed processing" might be used to describe this scenario. Wouldn't it be great if there was a way to easily move SAS datasets between computer platforms? Wouldn't it be great to submit SAS jobs from a local platform to run on a remote platform? Wouldn't it be great to be able to have local access to a SAS dataset stored on a remote platform? If you've answered yes to any or all of these questions, then SAS/CONNECT is something you really need. SAS/CONNECT will allow you to greatly simplify some of the more challenging aspects related to distributed processing. This paper will define what SAS/CONNECT is, what you need to get started, and explore the three main features of SAS/CONNECT namely: Data Transfer Services, Remote Compute Services, and Remote Library Services |
dataset, proc step, distributed processing, proc download | source | 4 |
| 21 | Analysis of Breast Cancer Using SAS | Beatrice Ugiliweneza | This research project focused on breast cancer. Two treatment processes were examined using statistical methods, namely, two surgical procedures, lumpectomy and mastectomy. Data were used from the Medical Expenditure Panel Survey (MEPS) and also from the National Inpatient Sample (NIS). These data are incomplete in themselves. The MEPS data are incomplete on procedures and it is not possible to determine whether the procedure was lumpectomy or mastectomy because of the HIPAA required de- identification of information. The NIS data have no information as to follow up treatment after the surgical procedure, but have complete information on procedures. The initial research was to apply statistical methods to these two datasets in order to obtain a complete dataset that can be used for analysis. To examine differences in procedures, therefore, we first gather elements from the NIS data concerning type of surgical procedure and cost, and use predictive modeling on the surgical procedure | sas enterprise guide, logistic regression, logistic distribution, proc step, regression analysis | source | 8 |
| 22 | Another Look at Low-Order Autoregressive Models in Early Detection of Epidemic Outbreaks and Explosive Behaviors in Economic and Financial Time Series | Ernest S. Shtatland | In our SUGI 2006 presentation, we suggested using low-order autoregressive models, AR(1) and AR(2), in biosurveillance and outbreak detection (PROC ARIMA, SAS/ETS). Our suggestion was based on empirical data. In the NESUG 2007 paper, we proposed strong theoretical grounds for this. Here we provide further development of our approach. Based on a classic susceptible- infectious-recovered (SIR) model, we arrive at AR(1) models of epidemics where we need to estimate only one parameter, the first-order autoregressive coefficient. Its least squares estimate has a very simple epidemiological meaning. In the vast majority of applications, AR and ARMA are used as purely empirical, stationary models, with no specific substance matter meaning for coefficients. The value of our first-order autoregressive coefficient less than one corresponds to a stationary, no-epidemic regime. If the parameter is greater than one, we have an explosive case (an outbreak of epidemic) |
confidence interval, time series analysis, unit root, autoregressive model, outlier, normal distribution, hypothesis testing, significance level, ar(1), regression analysis, proc freq | source | 12 |
| 23 | Any WAY you Want it: Getting the Right TYPEs of Observations Out of PROC SUMMARY or MEANS | Christianna S. Williams | Have you used PROC MEANS or PROC SUMMARY and wished there was something intermediate between the NWAY option (which produces output only at the highest value of _TYPE_ -- the lowest level of summarization) and the default of getting all existing levels of combinations of the CLASS variables? Well, somebody at SAS thought of this too, and brought us t he TYPES and WAYS statements. This paper will explain how to use these two statements to customize what goes into your OUT= data set more efficiently than another PROC MEANS (or SUMMARY), a DATA STEP or even using a WHERE clause on the OUTPUT statement. Using these statements alone or together you can get exactly the combinations you need for further processing or reporting |
class variable, proc step, proc means, output, where statement, missing value, response variable, sample | source | 8 |
| 24 | Applying SAS Mixed-Model Procedures to Educational-Assessment Data | Brian Patterson | Nested data structures that are most appropriately modeled using multi-level modeling techniques are common in educational research and just as commonl y, the variable(s) of interest cann ot be assumed normal a priori. The following study illustrates how a series of SAS procedur es may be used to investigat e and evaluate each of these characteristics-normality of data and reaso nableness of multi-level model. In this paper, this is managed by building a hierarchical generalized linear model (HGLM). The end goa l of this research is to compare the within and across- group variance in exam performance for a national hi gh school assessment program to inform possible educational intervention strategies. SAS PROC KDE, 10-fold cross-validation and various tests of normality will be used to evaluate the distribution of the data and to inform the selection of the level-1 distribution and link functions in the HGLM setting |
proc step, covariance, normal distribution, response variable, correlation, binomial distribution, proc glimmix, proc mixed, data cleaning, covariance structure, proc glmselect, poisson distribution | source | 8 |
| 25 | Architecting a Finely Tuned SAS Grid Solution | Sandra Moulton | SAS Grid Computing is a scale-out SAS solution that enables SAS applications to better utilize computing resources. When architecting a SAS Grid Computing solution it is important to understand the components required to ensure a scalable and high optimized solution. This paper details some of the components necessary to architect and tune a SAS Grid Computing solution | sas grid, grid computing, proc step | source | 7 |
| 26 | Are Your SAS Programs Running You? | Marje Fecht, Larry Stewart |
Most programs are written on a tight schedule, using the most accessible knowledge of the programmer. Often the programmer mistakenly assumes that the program will never be used again; five years later the spaghetti code is still in use. While the tasks are accomplished and the results are accurate, the program may not be as efficient as possible and subsequent submissions may require tedious and time-consuming input and modifications. This presentation looks at typical SAS Code, and then suggests changes to improve the efficiency and maintenance of the programs. If you are a programmer who has inherited code that was written "many SAS versions ago", you will benefit from examples of "updating your code to the current decade" | proc step, macro variable, proc sort, proc sql | source | 7 |
| 27 | Assigning ROTC Cadets into Air Force Specialty Codes Using SAS ORs PROC LP Procedure | Anthony Lawrence | proc step, proc sql, dataset, create table, linear programming, math functions | source | 10 | |
| 28 | At the Controls: An Approach to Security via SAS Management Console | Lisa Frank | access control, sas enterprise guide, sas management console | source | 10 | |
| 29 | Automated Bulk Loading of Documentum Using XML Control Files Created with Base SAS | Terek J. Peterson, John J. Booterbaugh, Kate Wilber |
This presentation addresses the use of Base SAS to write XML code to aut omate bulk file loading into Documentum, a document management system (DMS). Documentum with FirstDoc manages document attributes and has features such as check-in, check-out, version control, ownership, and access control. Even when using the bulk loading utility of Documentum with Fi rstDoc, the user must manually enter ample document me tadata which can be monotonous and time consuming. Automating repetitive manual tasks are best handled with programming languages like SAS to eliminate tedious tasks. Benefits to the business include substantia l timesaving and error reduction. Documentum with FirstDoc allows the use of XML c ontrol files to bulk load document objects. Base SAS can effectively be used to generate code in other languages like XML, espec ially when the other language has a consistent structure | sas base, macro variable | source | 9 |
| 30 | Automated Unit Testing for SAS Applications | David A. Scocca | As your software application grows larger and more complex, so do your testing requirements. Unfortunately the complexity of that testing grows even more rapidly than the scope of your application. Incorporating low-level unit testing into the development process can help ease your pain. A system of automated unit testing and test-driven development allows you to continually test new code as you write it, to easily check interactions between new or modified code and the rest of your application, and to produce a robust and well-tested product for your customer. SCLUnit is a SAS/AF implementation of the JUnit testing framework for Java development which supports the development and automation of unit tests for a SAS application developed using the SAS Component Object Model (SCOM) |
audit trail, sas library, data cleaning | source | 12 |
| 31 | Balancing the Load: SAS Server Technologies for Scalability | Cheryl Doninger, Jason Spruill |
This paper will address a variety of SAS servers and how they can be used to balance workload and work together to provide scalability in a SAS Enterprise deployment. We will discuss a variety of servers including stored process servers, workspace servers, DATA STEP batch servers, and grid servers. We also will discuss the options for using these servers to balance load and provide solutions that can leverage a scale-out architecture |
sas grid, sas management console, sas enterprise guide, data mining, resource allocation, batch job, sas base | source | 13 |
| 32 | BFF: Binary Flags Forever (Or, Boole's Paradise) | David J. Pasta, Eric P. Elkin |
Binary flags, also called indicator variables or dummy variables, take on only the values 0 and 1. Manipulating these variables with arithmetic operations and calculating descriptive statistics on them can be a very efficient way to summarize data in different ways. Some arithmetic operations correspond to logical operations (Boolean algebra). For example, the product of two binary flags corresponds to AND, the maximum corresponds to OR, the sum of binary flags gives the count of values that are 1, and the mean of binary flags gives the proportion of values that are 1. One common use of binary flags is to indicate which inclusion and exclusion criteria an observation satisfies. This allows construction of a "subject flow chart" from the original sample to the final analysis sample that can be changed easily to apply the criteria in a different order | proc freq, missing value, proc step, frequency analysis, binary variable, sample, proc means, flag variable | source | 9 |
| 33 | Branching Out with the Tree View Control in SAS/AF Software | Lynn Curley, Scott Jackson |
Harness the power of the Tree View Control in SAS/AF software to present hierarchical data like the Microsoft Windows Explorer folder list. The Tree View Control was previously experimental, but has been promoted to production status in SAS 9.2 thanks to customer feedback. Through examples, this paper introduces you to both the Tree View and Tree Node classes and details the attributes and methods that help make the Tree View a customizable, multi-purpose object |
histogram, scatter plot | source | 14 |
| 34 | Building Mathematics-Achievement Models for Developed and Developing Countries: An Application of SAS to Large-Scale, Secondary Data Management and Analysis | Ha Phan | Using TIMSS 2003, a large-scale international achievement assessment database, this study aims to demonstrate (1) how to use SAS for managing, manipulating, and analyzing complex large-scale secondary data and (2) how to apply multilevel models through SAS PROC MIXED to build models that investigate correlates of math achievement in developed and developing countries. Specifically, by construc ting separate multilvel models for individual countries, this study provides strong evidence that the same statistical models worked differently across developed and developing countries. In this respect, this study highlight s the importance that policy makers and educators from developing countries should not base their educational decisi ons and educational reform projects solely on research findings of developed countries. Rather, they need to use t heir country-specific findings to support their educational decisions |
proc mixed, proc step, fixed effects, excel, covariance, sample, regression analysis, sample weight | source | 12 |
| 35 | Building OLAP Cubes with SAS 9: A Hands on Workshop | Gregory S. Barnes Nelson | libname statement, slowly changing dimension | source | 27 | |
| 36 | Business Process Intelligence: How to Manage Data Integration and Measure ETL Successes | Danny Grasse | The more 'Enterprise' you want in your Enterprise Business Intelligence initiative, the more confidence you should have in your integrated data. Given a heterogeneous collection of data sources, it should be a given that the owners of a BI system 1) discover data problems as soon as they occur upstream, and 2) notify the right resources about those issues when they occur, then 3) restart the data integration process after corrective action has been taken. This paper expects to show how SAS' Data Integration Studio (DI Studio) can be used both natively, and with custom transforms around a macro library, to help a development team manage a data integration process rigorously - one that will give accurate results at best, and avoid propagation of spurious errors at worst. We will also explore the utility of saving the information of each event in a database warehouse of tracked issues | sas data integration studio, fact table | source | 12 |
| 37 | Butterflies, Heat Maps, and More: Explore the New Power of SAS/GRAPH | Susan L. Schwartz | In SAS 9.2, SAS/GRAPH introduces the statistical graphics (SG) procedures. The SG procedures provide an easy way to produce commonly used analytical graphs. This presentation will demonstrate how to use these new tools to create butterfly plots, heat maps, risk maps, stacked plots, and other unique charts. Sample code will be presented so you can start building your own library of new charts. You will learn how to create paneled plots to compare results across multiple classification variables and overlay multiple plots onto one chart |
proc sgpanel, proc sgplot, bar chart, user-defined format | source | 19 |
| 38 | CDISC: Pains and Pitfalls of Data Set Creation | Steven L. Michaelson, Janet E. Stuelpner |
Standardization is a great thing. Although it causes great pain at the beginning, the rewards are well worth the effort in the end. That being said, creatin g datasets in the CDISC SDTM format is difficult and leads to a great deal of interpretation by the spons or. There are areas that are very specific and others that are vague and general. This paper will try to de-mystify the process and show you how to create files in CDISC format that satisfy the data management and regulatory staff at your company | time variable, char., raw data, adverse events, cdisc | source | 5 |
| 39 | Check Out These Pipes: Using Microsoft Windows Commands from SAS | Brian K. Varney | Utilizing pipes from Windows programs opens up new possibilities and functionalities. This paper will introduce and show examples of some common and not so common uses of pipes in a Windows environment. Pipes can also be a very powerful tool in other operating systems such as UNIX but that is outside the scope of this paper | filename statement, error message | source | 8 |
| 40 | Chickens, Eggs, and SAS BI: An Evolutionary Approach | Donald R. Atkinson | Business Intelligence wisdom stresses the need for careful planning before deploying "Your BI Solution," but successful BI deployments present a chicken/egg dilemma: it's difficult to know what you need to know until you've gained usage and deployment experience. It's hard to know if you'll get it right the first time because BI is multifaceted and each deployment is sensitive to local conditions and contexts. Our approach was to build a small prototype and use that to discover what we did not know. We also needed to better understand likely avenues of BI usage that would let us play to our strengths. We faced severe constraints in terms of budget, staff and specific knowledge. With this in mind we chose Solaris 10 Containers for our BI install as the best way to gain knowledge and prove concept. Chief among the things to be demonstrated was that achieving some of the returns promised by BI need not be as daunting, and strictly major-league, as they may initially seem | business intelligence, sas enterprise guide | source | 9 |
| 41 | Clinical-Data Acceptance Testing Procedure | Sunil Kumar Gupta | In the pharmaceutical industry, there is a regulatory responsibility, 21 CFR Part 11, to analyze only the clinical data that has passed data acceptance testing or is considered 'clean data' after a database lock. Clinical data acceptance testing procedure involves confirming the validity of critical data variables. These critical data variables might need to be non-missing, consist only of valid values, be within a range, or be consistent with other variables. If incorrect clinical data is analyzed, then invalid study conclusions can be drawn about the drug's safety and efficacy. In 2001, the Data Warehousing Institute conducted a survey of over 600 business professionals. Across all industries, the survey results estimate that data quality problems cost U.S. corporations more than $ 600 billion per year | data validation rules, clinical data, macro call, data cleaning, clinical trial, crf, adverse events, raw data, proc step, macro parameter, statistical programmer, proc freq, database lock, proc compare, where statement, macro definition | source | 15 |
| 42 | ColdFusion and SAS: No Pain Meds Required | Carol A. Martell | This paper describes a method of integrating dynamic SAS output into an Adobe ColdFusion application. The SAS/INTRNET Application Dispatcher responds to a request from the ColdFusion server, and the results are displayed in a ColdFusion page having the .cfm extension. The advantages to using this approach include isolating the SAS programmer from the design aspects of Web development. The technique requires that SAS/INTRNET Application Dispatcher be available with the accompanying SAS/INTRNET Application Server, and that you have access to a ColdFusion Server. The paper does not address setting up or configuring either Application Dispatcher or ColdFusion Server. The intended audience is Web application developers with experience using Application Dispatcher and with the desire to stop using PUT statements for enhancing Web design |
proc print, sas output, proc step, put statement, ods html, sas programmer | source | 12 |
| 43 | Collaborate with SAS Users Around the World with sasCommunity.org | Kirk Paul Lafler, Charles E. Shipp |
sasCommunity.org is an exciting and new collaborative online community for SAS users worldwide. This presentation explores a few of the exciting features found in this virtual community. Topics include a Wiki -based web site where anyone can add or change content on any page on the web site, the exchange of ideas on the Blogger's Corner, viewing scheduled and unscheduled events, using the built -in sea rch facility to locate all wiki - content, reading and responding to speci fic forum topics, and much more | source | 10 | |
| 44 | Coming to a Theater Near You! Sentiment Classification Techniques Using SAS Text Miner | Jake Bartlett, Russell Albright |
Many Web sites, including blogs, online stores, and some database Web sites, give users the ability to state their opinions about the products they buy and use. This is a serious concern for many companies because of the potential damage of reputation. Companies want to monitor and gauge customers' opinions, but they do not have the time or resources to manually gather statistics on this ever-expanding content source. Can companies reliably predict whether a customer comment is positive or negative without actually reading each posted comment? In this paper, we demonstrate how different techniques for classifying movie reviews can be implemented in SAS Enterprise Miner and SAS Text Miner. Movie reviews are classified not by category, but by sentiment | training set, data cleaning, proc step | source | 9 |
| 45 | Computational Algorithm for Estimation of Panel Data Models with Two Fixed Effects | Alan Ricardo da Silva, Patrick F. Alves |
The panel data models are becoming more common in relation to cross-section and time-series models for innumerable presented advantages, in addition to the computational advance that facilitated theirs utilization. This work aimed at presenting a computational algorithm for estimation of panel data models with two fixed effects, since they demand much more resources than panel data models with one effect (fixed or random). The majority of commercial softwares have such implemented routines, however, in order to reduce the processing time, they estimate the models including dummy variables to the "time" effect. Such action produces a bias in the intercept of the model, over or underestimating the true value, by incorporating the influence of the year taken as base. The algorithm presented in this work showed itself very efficient for being able to work with a large data base, when compared to other algorithms, where the estimation with the same data base wasn't possible | predictor variable, binary variable, fixed effects, proc mixed, cpu time, response variable, time series analysis | source | 10 |
| 46 | Concatenating Inputs Using SAS on the PC | Jim Noe | Sometimes it is necessary to read a large number of flat files with as little coding as possible. If the files all contain the same kind of information in the same format then the job can be greatly simplified by placing the files in a common folder with names that are similar. We refer to this folder in Base SAS using the FILENAME statement to define the path to the folder. Then in the DATASTEP we use the INFILE statement with a wildcard character such as an asterisk. This paper will show how to do this with the minimum amount of effort |
infile statement, filename statement, sas base | source | 2 |
| 47 | Connecting to the Mainframe with SAS Enterprise Guide | Cindy B. Matthews | SAS Enterprise Guide provides a point-and-click, intuitive interface to analyze your data no matter what system that data is stored on. But there are some system dependencies that you cannot completely ignore. In particular, z/OS (also known as "the mainframe") has some unique characteristics that can trip up the unwary SAS Enterprise Guide user. This paper will discuss the challenges of z/OS f ile systems, memory management, communication methods, and database access when used in conjunction with SAS Enterpri se Guide. The topics were chosen from the most commonly asked questions to SAS Technical Support; for example: How do I increase the size of my WORK library space? How do I save my project in a z/OS PDS? How do I get more memory for the workspace server? How do I define a SAS Workspace Server to Workload Manager? | sas enterprise guide, sas library, work library, sas enterprise guide project, sas log, macro variable | source | 12 |
| 48 | Convergence Failures in Logistic Regression | Paul D. Allison | A frequent problem in estimating logistic regression models is a failure of the likelihood maximization algorithm to converge. In most cases, this failure is a consequence of data patterns known as complete or quasi-complete separation. For these patterns, the maximum likelihood estimates simply do not exist. In this paper, I examine how and why complete or quasi-complete separation occur, and the effects they produce in output from SAS procedures. I then describe and evaluate several possible solutions | likelihood function, maximum likelihood estimation, logistic distribution, logistic regression, regression analysis, response variable, proc calis, sample, binary variable, estimate, proc logistic, proc step, predictor variable, null hypothesis, prior probability, proc freq | source | 11 |
| 49 | Cool New Features in SAS Enterprise Miner 5.3 | David R. Duling, Sascha Schubert, Wayne Thompson |
SAS released Enterprise Miner 5.3 in late 2007 with a veritable plethora of cool new features for data miners everywhere. Nearly every module of the software has been updated. New interactive data preparation tools make it easier to manipulate data and construct a sample for mining. For data exploration, Enterprise Miner now supports hierarchical market baskets to isolate interesting rules at different product category levels, multivariate graphical data exploration that persists a user's interactive selections, a new scalable variable clustering node for dimension reduction, and more interactive user control over feature selection. Variable creation has been enhanced with a new interactive binning tool, an interactive rule building tool, and new transformation options | data mining | source | 12 |
| 50 | Count Data Models in SAS | Wensui Liu, Jimmy Cela |
Poisson regression has been widely used to model count da ta. However, it is often criticized for its restricti ve assumption of equi-dispersion, meaning equality between the variance and the mean. In real-life applications, count data often exhibits over-dispersion and excess zeroes. Wh ile Negative binomial regression is able to model count data with over-dispersion, both Hurdle (Mullahy, 1986) and Zero-inflated (Lambert, 1992) regressions address t he issue of excess zeroes in their own rights. Different modeling strategies for count data and various statistical tests for model evaluation are illustrated through an example of healthcare utilization. The purpose of this paper is to provide by far the most complete survey of count data modeling strategy in SAS for the user group | regression analysis, poisson distribution, poisson regression, negative binomial regression, binomial distribution, likelihood function, predictor variable, response variable, estimate, proc freq | source | 12 |
| 51 | Creating a Custom Table of Contents in RTF Documents | Lori S. Parsons | The SAS Output Delivery System (ODS) allows output to be pr inted directly to a Rich Text Format (RTF) file. RTF files can be viewed by Microsoft Word and other word -processing packages. A table of contents (TOC) can greatly enhance an RTF file and make it more user-friendl y. Headers and footers, as well as custom footnotes, can also greatly enhance an RTF file. This paper will des cribe a method to imbed "invisible" RTF control words into a file for the purpose of creating a custom TOC. The example presented will also include document headers, footers, and custom footnotes. The example code was run with SAS Vers ion 9.1.2 on Windows XP Professional. The RTF file is viewed with Microsoft Office Word 2003 |
ods rtf, output delivery system | source | 10 |
| 52 | Creating a Stored Macro Facility in Ten Minutes | Erik S. Larsen | Every SAS macro developer from time to time has spent countless hours writing, testing and perfecting code so that it can be used over and over by different users on different platforms. There are certain situations where one needs to enhance the speed of the processing of SAS code, such as in a production environment or if there is a need to process large volumes of data. A SAS Stored Macro Facility consists of a library of SAS macros which are already compiled, that are available to users or processes at any time. These pre-compiled macros run immediately when called and do not use valuable CPU time while waiting for compilation. Some examples of where a stored macro facility would be useful are in production environments, where jobs may be scheduled to run on a certain day of the day, week, or month. Another would be a standard report which is being used for an FDA submission and needs to be in an exact format | stored macro, macro facility, autocall macro, libname statement, cpu time, macro definition | source | 3 |
| 53 | Creating Complex Reports | Cynthia L. Zender | Are you confused about whether you need a detail report or a summary report? Do you wonder whether you are using the right reporting procedure for your report? Have you ever spent a lot of time going down the road with one procedure, only to discover that you need to switch to a different procedure to get what you want or closer to what you want? This paper is for intermediate SAS programmers who want to see a gallery of complex reports and review the code that produced them. It covers the pros and cons of PROC REPORT, PROC TABULATE, and DATA _NULL_ for each report. All report output is produced using ODS (rather than LISTING) output. Get out your wrenches and tool belts and fasten your seat belt for the ride, this is going to be a real nuts and bolts paper presentation |
proc step, proc report, proc tabulate, proc print, proc sql, excel | source | 18 |
| 54 | Creating Flowcharts Using the Annotate Facility | Priya Lakshmi Saradha, Gurubaran Veeravel |
With mounting significance to the graphical presentation of data in different forms in the pharmaceutical industry, as well as in other industries, the need to create non-traditional graphs (flowcharts, super-imposing different types of graphs, etc.,) has increased in recent times. Th is paper will lay a strong foundation for the creation of flowcharts with the help of the ANNOTATE facility by discussing the newly developed macro, FLOWAN. FLOWAN can create a highly-customized flowchart with multiple levels using ANNOTATE macros and functions. Using a dataset as input, FLOWAN can represent various populations in a study or any other type of data in the form of a flowchart. This macro uses very few parameters like, t he number of tiers (levels), the number of boxes in each level, the variables to display and the link or predecess or for each of the boxes. The output from this macro will present the data in an innovative way | in=, disposition table, bar chart, line chart, adverse events | source | 6 |
| 55 | Creating Interactive Web-based Reports with SAS | Chun Fan, Alexander Ushveridze |
In this paper we discussed two methods of using SAS for creating simple web-based intera ctive reports which would allow technically non-experienced people to easily interact with them and instantly get answe rs to their specific high- level questions. One of the key feat ures of these reports is their co mplete independence of any external data processing applications and platforms. These reports are standalone html document s which could be placed anywhere on the web or on local PC and do not need anythi ng to be executed except a browser (like Internet Explorer). The goal can be achieved by embedding JavaSc ript file inside HTML using SAS. We compared two different ways of creating such interactive reports | ods html, proc step, proc report, dataset, correlation, txt, proc format, macro definition | source | 11 |
| 56 | Creating Journal-Style Tables in an Easy Way (with PROC TABULATE, PROC TEMPLATE, PROC FORMAT, and ODS RTF) | Janet M. Grubber, Maren Olsen, Hayden Bosworth |
When you are creating "Table 1 - Demographics" type tables for journal articles or presentations, do you find it tedious to manually type or cut and paste output from SAS PROC FREQ or PROC UNIVARIATE into Microsoft Word documents? Do you find yourself spending a lot of time double-checking to make sure you didn't make any typos during that process? Do you feel like you're wasting precious time when you have to go back and manually redo a table because you discover that you should have presented your data stratified by an additional variable (such as race) rather than just your overall data? Fear not…there is a way to cut down on your effort and the need to check for typos with a little bit of up-front effort in SAS. This paper describes methods for automating the production of demographic-type tables by using PROC TEMPLATE, PROC FORMAT, PROC TABULATE, LABEL statements, and ODS RTF in SAS |
proc step, proc tabulate, proc format, proc template, proc freq | source | 14 |
| 57 | Creating That Perfect Data Grid Using the SAS Output Delivery System | Chevell T. Parker | Using the SAS Output Delivery System (ODS), you can create that perfect data grid with functionality that resembles .NET files or Microsoft EXCEL applications. Using ODS tagset options or dialog boxes, the data grid dynamically sorts, filters, freezes rows and columns, creates tables and panels, hides columns, applies styles, applies alternating row and columns barriers, and saves data to various formats. Microsoft Office applications also include other functionality such as sending tables from a Web page to individual sheets within a Microsoft EXCEL workbook, modifying column widths, modifying orientation, adding headers and footers, rotating headers, adding graphics, updating existing worksheets with tables, saving table as nat ive EXCEL files, creating pivot tables, applying EXCEL formats, and creating Microsoft PowerPoint slides with tables |
excel, output delivery system, proc step, proc report, sas base, proc template, sas output, sample | source | 31 |
| 58 | Creating Web Services using SAS Analytics | Bradley W. Klenz, Daniel Jahn |
Many companies are deploying applications using a Service Oriented Architecture (SOA). This architecture allows applications and components that are developed independently to interoperate. Deploying analytic capabilities within this architecture as a service is particularly beneficial for these reasons: Analytic services are usually developed independent ly from the applications that use them. Analytic services might be developed by a s eparate team from the applications developers. Many applications might need the same analytic servic e, and this architecture permits them to do so. The use of analytics must be cons istent between applications to yield consistent results, and this architecture promotes consistency. SAS 9.2 has excellent capabilities to create Web services which surface SAS analytics. Using Web Services standards ensures that these services are open for use to all applications in an SOA | web service, sas management console, output delivery system, correlation, dataset, confidence interval, macro variable, libname statement, proc step, libname engine, macro definition, ods output | source | 30 |
| 59 | Crossing the Border: Steps to Writing SAS Stored Processes | Peter W. Eberhardt | Writing a SAS Stored Process requires more that a thorough understanding of the business problem you are trying to solve; it requires a basic understanding of the SAS BI Architecture. This paper will provide a simple introduction to the SAS BI Architecture, and then dive into the workings of the SAS IOM servers to help you tune your code and return the appropriate results to your client. You will learn the nuances of parameter handling at the top of your program, through to discovering the identity of the user submitting the code, and down to the various options to controlling the output you will return. As with all SAS programming, you have many ways you can develop your SAS Stored process; this paper will help you to understand the implications of some of your decisions | macro variable, macro function, sas enterprise guide, business intelligence, sas administrator | source | 14 |
| 60 | CSI-Piemonte and SAS: A Successful Partnership | Paola Leproni | Since 1977, CSI -Piemonte has promoted innovation in local public administration through the use of the most modern information technology and In ternet tools. Thanks to its contributions, the Piedmont Region operates on the Italian and international scene as an integrated administrative system equipped with the necessary technological infrastructure. With nine offices operating in the region and 54 consortium members, CSI is one of the largest Italian ICT operators in the public sector. This presence on the territory simplifies the communications with organizations, citizens and enterprises and enables it to offer simple, efficient services contribu ting to re -launch the regional economy. In 2003, CSI -Piemonte decided to implement a Business Intelligence Competency Centre in SAS 9 | business intelligence, operational data store | source | 8 |
| 61 | CSI: San Antonio - Common SAS Issues in Our Programs and Tips for Better Investigation of Your SAS Code | Rachel Brown, Jennifer K. Fulton |
Good documentation of the issues discovered when SA S programs are developed and validated can provide a wealth of information to help improve programming over time. In 2004 , o u r S A S p r o g r a m m i n g d e p a r t m e n t implemented a new documentation process, whereby we record program tracking information that includes e v e r y change request made for each program. This change control documentation has resulted in an extensive database providing valuable information to help improve the way we write and check programs. The authors defined 10 categories to summarize the variety of comments in the change requests. Over 3,000 records from 14 projects were then categorized to compile a "top ten" -style list of the most common issues found during the development and validation of our SAS programs | data cleaning, sas log, clinical trial, sas programming, macro call, data science, proc step, proc sql, if-then-else | source | 9 |
| 62 | Data Integration in a Grid-Enabled Environment | Cheryl Doninger, Gary Mehler, Nancy A. Rausch |
SAS Data Integration Studio and SAS Grid Manager add capabilities to the SAS product suite to distribute workloads across a grid of computers and thereby allow large processes to complete more quickly than previously possible. SAS Grid Manager has been incorporated into SAS Data Integration Studio to facilitate using grid resources for any long-running task that can be processed in parallel to another task. This paper discusses typical data integration workloads, how to scale them on typical grid computing hardware, and the new capability to load balance multiple data integration tasks across grid resources | sas grid, grid computing, unstructured data, data integration, txt, sample | source | 11 |
| 63 | Data Integration with SAS Intelligence Storage: How a business Division in a Fortune 50 Company Uses SAS Scalable Performance Data Server to Make Better Decisions | Stephen C. Scott, Brian Herzog, Justin Eisenzimmer |
Our business division integrates our data sources with SAS into one of the world's largest SAS Intelligence Storage systems. Our largest component is SAS SPD Server data libraries with 25 TB (terabytes) of storage where we have analytical control of our data. We also have SAS OLAP Server cubes at 500 GB and SAS data sets with 600 GB plus a 2-terabyte area for Working Storage. The corporate SAS platform is a 100+ CPU UNIX system dedicated to SAS processing of which our business group's domain is 24 CPUs. The corporate SAS physical storage is in a dedicated SAN of 100+ TB, and our portion is | sas enterprise guide, business intelligence, proc append, data mining, excel, sas data integration studio | source | 23 |
| 64 | Data Mining Application of Non-Linear Mixed Modeling in Water Quality Analysis | Anpalaki J. Ragavan | In regression analysis, non-linearity in fixed and random effects can adversely affect efficiency of regression parameter estimates. Successful non-linear time series modeling would improve regression parameter estimates and produce a richer notion of water quality than linear time series models allow. In addition multiple independent variables make each point in space a finite dimensional vector, non-linear in two dimensions jointly. The SAS/STAT procedure, NLMIXED fits non-linearity successfully in any time series using maximum likelihood-based methods |
time series analysis, proc mixed, proc step, predictor variable, covariance, missing value, estimate, time series data, outlier, regression analysis, covariance structure, first difference, likelihood function, box plot, unit root, proc nlmixed, imputation, histogram, response variable, maximum likelihood estimation, multiple imputation, moving average, proc mi, proc calis, acf plot, cross-sectional data, scatter plot, correlation, sample | source | 14 |
| 65 | Data Mining to Predict the Occurrence of Resistant Infection | Patricia B. Cerrito | In order to demonstrate the use of predictive modeling in SAS Enterprise Miner, We will examine the problem of resistant infection in the hospital using data from the National Inpatient Sample. The National Inpatient Sample contains approximately 8 million records and represents 37 states. A sample of 800,000 inpatient events or about 10% of the records will be used to investigate the problem. Of 800,000 events, 6000 or 0.75% of the records had a diagnosis of resistant infection. Using data visualization techniques and predictive modeling as well as SAS Text Miner, we found the infection treated with an infusion of antibiotics in only 197 patients, with an infusion of linezolid in 95 patients, indicating the use of antibiotics is under-reported, or under-utilized. Since there are thousands of codes used to define patient condition and treatment procedures, in order to use predictive modeling, these codes must be reduced to a manageable number | sample, %if-%then-%else, proc hpsplit | source | 20 |
| 66 | Developing a Dashboard to Aid in Effective Project Management | M. Paige Borden, Ali Y. Yorkos, Maureen Murray |
Accurately tracking programming support activities as a team manager can be a comp lex task. The overall coordination of the programming re sources, testing support and producti on moves was hampered by the crude reporting functionality available in the change management system. This m anagement challenge was solved by the development of the CMS IR Technical Support Dashboard utilizing SAS Enterprise Guide, SAS/GRAPH and SAS BI Dashboard 3.1 functionality. Worki ng together with the m anagement team, the dashboard was created to provide quick access in an easy to read graphical display of numerous key performance indicators. There is also functionality providing multiple alerts as defined by the management team (e.g. an application that stays in "user test" for more than 72 hours). The CMS IR Technical Support Dashboard has provided an improved management tool to effectively and efficiently coordinate the multiple projects and constituencies |
proc greplay, proc step, data visualization, sas enterprise guide, data warehouse | source | 13 |
| 67 | DocItOut: Publishing SAS Code Documentation on the Web | Choon-Chern Lim | Documenting your SAS code is almost as important as writing the code. As software developers, we are gifted with great imaginations to solve complex problems. Since there are usually several possible ways to achieve the same end results, it is crucial to document our thoughts clearly in plain language to assist other developers (and ourselves) to better understand the implementations in the future. However, the biggest challenge is that we take a great deal of time to document our code, yet nobody seems to be able to find them. Most of us find it annoying to traverse directory after directory just to search for the documentation that is embedded deep in the code. This paper introduces DocItOut, a free open source tool, which is specifically developed to traverse these messy directories and generate properly formatted web documentation in HTML format based on the comments and statements in the SAS code | sas programmer, filename statement | source | 13 |
| 68 | Dynamic Decimal Precision and Alignment in Clinical Trial Laboratory Summary Tables and Patient Data Listings | Stephen Hunt, Brian P. Fairfield-Carter |
When presenting descriptive statistics for laboratory parameters in clinical trial reporting, the experienced SAS programmer frequently laments the disparity of numeric precision between varying parameters contained within the same dataset. Not only does this present an annoyance in summary tables, occasionally, supporting listings will require a 'vertical' structure in which the results from multiple parameters are stacked within the same column of the report. When faced with such a task, many programmers typically resort to a solution based almost entirely on an extended set of 'if/then' statements for assigning a particular presentation to a specific analyte(s) based on observational knowledge of the data at hand. In contrast, this paper demonstrates a simple yet effective method for dynamically presenting mixed laboratory results in both summary tables and vertical listings while preserving consistent decimal alignment as well as appropriate numeric precision | character variable, clinical trial, macro variable | source | 8 |
| 69 | Easy as Pie Charts (Any Way You Slice Em) | Jonah P. Turner | Businesses are increasingly exploring, examining, and exploiting data for quick decision-making and long-term planning. For this reason, it is essential that informa tion can be analyzed efficien tly across the enterprise and communicated effectively to different audiences. SAS/GRAPH is a flexible and powerful tool that facilitates data analysis with a wide range of statistical methods and pr ovides visualization capabilities to produce a variety of eye- catching charts, plots, and maps. With the use of such accurate, high-impact graphics, business analysts can uncover relationships more easily and present their findings in ways decision-makers may better understand. Perhaps the most ubiquitous visual for displaying summarized information is the pie. This kind of chart is practical for comparing a set of categorical data using the size of each slice to graphically represent a value as a percentage of the whole |
proc gchart, data science, catalog entry, structured data, sample | source | 12 |
| 70 | Easy Rolling Statistics with PROC EXPAND | Premal P. Vora | When analyzing a time series of data, a researcher frequently desires to output and analyze moving or rolling statistics such as moving averages, moving standard deviations, and rolling correlations. While it is possible to implement this in the DATA STEP, SAS provides some powerful features in PROC EXPAND (which is a component of SAS/ETS) that allow the researcher to output a variety of moving statistics with minimal effort. In this presentation, which is intended for basic to intermediate level SAS users, I will provide two examples of DATA STEP code that outputs the desired moving statistics and the equivalent code in PROC EXPAND and compare both to demonstrate the power of PROC EXPAND |
proc step, time series analysis, moving average, correlation, lag function, missing value | source | 6 |
| 71 | Effective Graphics Made Simple Using SAS/GRAPH SG Procedures | Dan Heath | There are many types of graphics displays that you might need to create on a daily basis. In SAS 9.2, SAS/ GRAPH introduced a family of new procedures that enable you to create graphs quickly and efficiently. With very little coding effort, you can create effective and attractive graphics that can be as simple as scatter plots and bar charts, or as complex as multi-page classification panels. The new statistical graphics (SG) family of procedures includes SGPLOT, SGPANEL, and SGSCATTER. The SGPLOT procedure creates single-celled graphs that can be constructed with a variety of plot and chart types. The SGPANEL procedure creates paneled graphs in which the paneling is driven by classification variables. The SGSCATTER procedure creates paneled scatter plots and matrices that have support for fitted lines, confidence bands, and computed ellipses. These three procedures are designed with a syntax that is powerful yet concise |
proc sgpanel, scatter plot, proc sgplot, by group processing, box plot, proc step, regression analysis, bar chart | source | 18 |
| 72 | Effective Presentations for SAS Training and More | Christopher J. Bost | This paper describes a five-step process for effective presentations: 1) assessing needs; 2) identifying key concepts and skills; 3) preparing materials; 4) practicing the presentation; and 5) delivering the presentation. This process is useful for people who develop SAS training classes and who make technical presentations | source | 7 | |
| 73 | Employing SAS Text Miner Methodology to Become a Customer Genius in Customer Churn Prediction and Complaint E-mail Management | Kristof Coussement | Nowadays due to ever increasing internet penetration rate, people are sending more and more emails to companies as a substitute for traditional communication channels like telephone calls or letters. This highly unstructured information contains a lot of valuable information for marketing analysts. However, this textual information is often neglected because no in-house knowledge or ready-to-use framework is available to convert these e-mails into a form which is more suitable for subsequent processing. This project clarifies the text mining methodology as used in the SAS Text Miner, while two illustrations on real-life data show the beneficial effect of taking into account the textual information sent by customers. It is shown that more profound marketing decisions can be made when one integrates different types of available information. Customer IntelligenceSAS Global Forum 2008 2 | churn prediction, proc freq, logistic regression, churn, logistic distribution, regression analysis, validation set, data cleaning | source | 12 |
| 74 | Enterprise Risk Management Solutions | Austin Trippensee | This paper will discuss the challenges banks face integrating market, credit, and operational risk measures. This paper will cover the design of a data model for the front-end of your analytics, and will cover how a robustly designed repository for your output supports a robust business intelligence infrastructure. In the middle, users might want to configure proprietary measures. This paper will also address key issues around flexibility, auditability, and scalability | enterprise risk, economic capital, operational risk, correlation | source | 6 |
| 75 | ETL and Data Quality: Which Comes First? | Emilio J. Power, Gregory S. Barnes Nelson |
Usually, an early task in any data warehousing proj ect is a detailed examination of the source systems , including an audit of data quality. Data quality issues could i nclude inconsistent data representation, missing da ta and difficulty around understanding relationships between the vari ous source systems. As ETL and Data Quality technologies converge, it's important to use the right tools at the right time to fully take advantage of the strength of each individual tool. Within SAS Data Integration Server, there are several opportunities to address data quality issues - this paper will go over the development of an ETL proce ss with an emphasis on data quality. A course of action will b e established with suggested roles of stakeholders that can have an input on the ETL process outside of the direct d evelopment team | data cleaning, type i error, type ii error, raw data, proc step, proc sql | source | 10 |
| 76 | Evaluating Predictive Models: Computing and Interpreting the c Statistic | Sigurd W. Hermansen | Automation of predictive model selection has become the alchemy of today's Business Intelligence (BI), with BI practitioners hoping to transform jargon and acronyms into gold. While statistical modeling experts disparage 'black-box' methods, business analysts tend to ignore theory and traditional model diagnostics, and rely on 'lift' or 'gain' charts; that is, evidence of improved accuracy of predictions of outcomes for groups, often represented graphically by Area Under Curve (AUC) of signal detection Receiver Operating Characteristic (ROC) plots. Even where interest in competitive advantage overrides concern for meaningful model parameter estimates, a concordance c statistic offers a simpler and more intuitive measure of accuracy of model predictions. SAS/STAT PROCs LOGISTIC and SURVEYLOGISTIC generate a c statistic. GENMOD and others do not, but a straightforward SAS/BASE PROC SQL program computes c efficiently for at least a few thousand predictors and outcomes |
sample, proc step, proc sql, bootstrap, hash table, likelihood function, group by, macro definition | source | 9 |
| 77 | Evaluating Sample Code for an Interview | Stephanie R. Thompson | Requesting sample SAS code from job candidates before an interview is a good way to gauge their level of experience, ability, and style. Once you have reviewed the code, prepare your questions for the candidate. You want to make sure that they 1) wrote the code themselves, 2) understand what they wrote, and 3) are familiar enough with it to explain why things were done the way they were. This paper will provide you with some guidelines on how to get answers to these questions in an interview. Code samples that I have received over the last few years and the questions that arose will be used as examples. This is also a good time to ask if the candidate can think of another way to accomplish the same task using a different approach. Evaluating work samples can be a way to gain invaluable insight into your candidate's skills and this paper will help you get the most out of it that you can | sample, proc step, if-then-else, cpu time, proc sql, macro facility | source | 6 |
| 78 | Existential Moments in Database Programming: SAS PROC SQL EXISTS and NOT EXISTS Quantifiers, and More | Sigurd W. Hermansen, Stanley E. Legum |
Existential and universal quantifiers have a key role in SAS/BASE Version 9.1.3 PROC SQL programs-- especially UPDATE's-yet, tend to baffle even experienced database programmers. The IN, EXISTS, and ALL operators put complex table look-up operations in the basic framework of WHERE clause logical conditions. Difficult problems for SAS DATA STEP programmers, such as searches for data patterns in related tables or in different rows within the same table, become easier for those who understand these operators. (Even a caveman can learn to use of these logical quantifiers.) Carefully chosen examples illustrate both the need for existential quantifiers in database programming and methods for implementing them in SAS programs |
proc sql, proc step, missing value, update statement, where statement, macro variable | source | 6 |
| 79 | Experiences in Testing Host-Dependent Software in a Portable Fashion | Richard D. Langston | This paper describes my experiences with testing MODULE, which invokes executable images on each SAS host. There were challenges in developing a testing harness being that the creating of these images varies greatly per host. Using innovative techniques, I was able to create portable tests that would produce consistent benchmarks for simplified verification. This paper will describe the testing harness with its various interesting attributes | proc step, data step | source | 7 |
| 80 | Experimenting with the ODS DATA Step Object (Part II) | Richard Koopmann Jr. | With ODS DATA STEP Object, SAS programmers can turn raw data into production quality reports ready for distribution. The ODS DATA STEP Object is a powerful Base SAS feature (available in preproduction for 9.1.3) that is able to generate production-quality PDF reports directly since it provides SAS programmers simultaneous control over report content, layout, and formatting. This paper tracks the re-creation of a legacy report to a completely automated and scalable SAS report using the ODS DATA STEP Object. Macros are used throughout the code to reduce code volume and complexity making code maintanence and modification more palatable. The code discussed in this paper was developed with SAS 9.1.3-SP4 running under Windows XP Professional-SP2 and was developed specifically for the PDF destination, you may experience some nuances when applying these techniques to other destinations under different systems. Keywords: ODS DATA STEP Object, DATA STEP Component Interface (DSCI), macro, DATA NULL |
proc step, proc tabulate, proc report | source | 11 |
| 81 | Exploit SAS Enterprise BI Server to Manage Your Batch Scheduling Needs | Troy B. Wolfe | As someone responsible for maintaining over 40 nightly batch processes created in SAS Data Integration, the author has taken control and created a batch scheduler that utilizes basic SAS coding and the operating system's scheduler to manage the task. This paper will show how to implement such a scheduler that can be used in any SAS environment. The main purpose is to show how one c an exploit the EBI architecture in SAS to manage a batch process scheduler through the SAS Information Delivery Portal. Some of the advantages the author has found using this includes: - Complete control over scheduling including dependence on other processes - Ability to maintain and calculate many different statistics of interest including when and how long a process usually runs - Ease of use through incorporation into the SAS Portal - Complete integration into the SAS Metadata Repository including security - Flexible reporting with estimated time remain ing to run a particular process based on history | macro variable, sas enterprise guide, batch job | source | 13 |
| 82 | Exploiting OLAP Cubes with SAS 9: A Hands on Workshop | Gregory S. Barnes Nelson | In a related hands-on workshop (Nelson, 2008 - Building OLAP Cubes with SAS 9: A Hands on Workshop), we demonstrated how to use OLAP Cube Studio to build and manage an OLAP cube. In this workshop, we will take those cubes and learn how we can view them in a variety of SAS tools which might include: SAS Enterprise Guide, Microsoft EXCEL with the SAS OLAP Data Provider, and the SAS Information Delivery Portal. Finally, we will discuss best practices related to delivering cubes to your end users and we will learn how you can build web interfaces to exploit your OLAP cubes. In addition, we will discuss how you can secure your OLAP cubes so that you can restrict what data users/ group can see. Keywords: Data warehouse, DI Studio, OLAP Cube Studio, star schema, MDDB, MDX, SAS Add-in for Microsoft Office, SAS Information Delivery Portal |
sas enterprise guide, excel | source | 13 |
| 83 | Exploring the Undocumented PROC SQL _METHOD Option | Kirk Paul Lafler | The SQL Procedure contains many powerful and elegant language features for SQL users to take advantage of. This paper explores the _METHOD option as an applications development and tuning tool. Attendees will learn how to use this undocumented and powerful option to better understand and control how a query processes |
proc sql, proc step, data merging | source | 2 |
| 84 | Exploring Treasuries with SAS | Taras Zlupko | Treasuries represent an important par t of the financial securities universe and are indispensable in academic and industry research and in day-to-day fi nancial decision making. Empirical Treasury data is therefore used in a variety of ways impacting rese arch results and real-life actions. Completeness and integrity of data, conveni ence of access and opportunity to deploy re levant analytics are some of the vital components when working with Treasury securities catering to reliability and timeliness of achieving relevant goals. These components come together when using the US Treasury database avai lable from the Center for Research in Security Prices (CRSP) in the SAS environment. Overview of the US Treasury database available form CRSP is provided in the paper. Particulars and usage of some CRSP calculated data items are highlighted in the context of accessing and processing the data with SAS | correlation, proc step | source | 10 |
| 85 | Exporting SAS Data Sets to DDI 3 XML files: Data, Metadata, and More Metadata | Larry Hoyle, Joachim Wackerow |
The Data Documentation Initiative (DDI) is an international effort to establish an XML-based standard for representing lifecycle information about social science research and similar data. DDI facilitates the automation of documentation and production systems for the delivery of social science data as well as for preservation and exchange. DDI 3 files also have the capacity to contain both metadata, and the data being described. For some SAS users there will be a need to document existing SAS datasets via system-independent DDI files. This paper describes approaches to tools that can extract metadata and or data from an existing SAS dataset and add other metadata such as title, creator, funding agency etc. to create a DDI file. Two working implementations are compared, one uses PROC SQL and DATA steps, and the other uses a user-defined ODS tagset |
dataset, proc step, proc sql, create table, user-defined format, order by, proc contents, foreign key, output delivery system, constraint, macro variable, sas output, sample, macro definition | source | 12 |
| 86 | Factor Analysis of Caregiver-Strain Questionnaire in Clinical Research | Hui Liu, David Shen, Louie Huang |
Caregiver Strain Questionnaire (CGSQ) is expected to have multiple dimensions. It was the aim of this study to investigate and confirm the dimensional structure of CGSQ measured from subjects. We used rotated principal- components analysis as EPA to explore the dimensional structure of CGSQ. The first principal component explained 86% of the variance in the data. Cumulative variance for 3 factors is 99.3%. Three dimensions (objective caregiver strain, internalized subjective caregiver strain and externalized subjective caregiver strain) were found. Reliability of the latent constructs was measured with Cronbach's alpha (0.943, 0.876, 0.877). Finally, CPA demonstrated the relationship between the observed CGSQ and their underlying latent dimensions. SAS procedures such as PROC CORR, PROC CALIS, PROC FACTOR were used for this study. KEY WORDS Caregiver Strain Questionnaire, Factor Analysis, EPA, CPA |
factor analysis, proc princomp, correlation, proc step, covariance, confidence interval, proc calis, proc corr, factor loading, scree plot | source | 8 |
| 87 | Fast and Efficient Updates to Project Deliverables: The UNIX and GNU Make Facility as a Cross-Platform Batch Controller for SAS | Brian P. Fairfield-Carter, Stephen Hunt |
Concurrent development of interdependent parts is a common feature of complex programming projects. In clinical reporting, statistical summaries rely on derived datasets (which in turn rely on raw data), and are generated by programs often developed simultaneously with derivation programs. This concurrent development pushes components out of sync: programs must be re-run in sequence before updates to raw data and revisions to analysis datasets are reflected in statistical output. As projects grow in scope and complexity, the need to manage file dependencies increases. Lack of synchronization hampers validation and QC activities, imposes redundancy on the production of output, and threatens project timelines. The Unix 'Make' facility (and its cross-platform analogue, the GNU 'Make' facility) is a generalized 'build system' designed to manage dependencies in coding projects | adam dataset, dataset, macro variable, raw data, proc step, data cleaning, proc sql | source | 12 |
| 88 | Fitting Generalized Additive Models with the GAM Procedure in SAS 9.2 | Weijie Cai | Generalized additive models are useful in finding predictor-response relationships in many kinds of data without using a specific model. They combine the ability to explore many nonparametric relationships simultaneously with the dis- tributional flexibility of generalized linear models. The approach often brings to light nonlinear dependency structures in your data. This paper discusses an example of fitting generalized additive models with the GAM procedure, which provides multiple types of smoothers with automatic selection of smoothing parameters. This paper uses the ODS Statistical Graphics to produce plots of integrated additive and smoothing components |
proc gam, proc step, estimate, regression analysis, response variable, binomial distribution, proc genmod, data cleaning, logistic distribution | source | 14 |
| 89 | From Soup to Nuts: Practices in Data Management for Analytical Performance | David R. Duling, Howard Plemmons Jr., Nancy A. Rausch |
Many customers face the issue of working with SAS9 advanced analytics tools using data that comes from many different operational systems. The challenge presented to the customer is to extract, transform, and load the data into the analytical data structures with efficiency and scalability. This paper presents a case study describing practices to address the entire lifecycle of data access, aggregation, analysis, and deployment. A foundation discussion of how to interact with the Teradata database using SAS will be reviewed, followed by design and integration techniques available in SAS Data Integration Studio to deliver data structures appropriate for analytical purposes. Finally, a presentation of how to leverage the data using SAS Enterprise Miner will be presented, including a discussion of techniques for managing algorithms that require large memory storage or multiple passes of the data | proc sql, data mining, proc step, missing value, put statement, where statement, sas function, teradata, sample, feature selection, create table, macro variable, model deployment, sysdate9, data wrangling, dataset, format statement | source | 24 |
| 90 | From Tiers to Intelligence: The SAS Enterprise Intelligence Platform and What Its All About | Sandra M. Sayers | Have you ever wondered what a servlet container is and why it's required to run SAS Web Report Studio? Or maybe wondered what the Object Spawner is and exactly what it does? Or even wondered what a repository is and how it relates to the SAS Metadata Server? And by the way, what is a SAS Metadata Server? This paper is aimed at those of us whose answer to any of the above is 'yes'. It seeks to summarise and clarify the terminology associated with the SAS9 Business Intelligence offering. The paper will contain a general overview of what the SAS Enterprise Intelligence Platform is. It will discuss the SAS9 multi-tiered environment and give an overview of the various SAS9 applications, including SAS Management Console, SAS Data Integration Studio and SAS Web Report Studio. It is, in short, a summary of the SAS Enterprise Intelligence Platform, and what it's all about | business intelligence, sas management console, sas enterprise guide, data warehouse, proc step, proc sql, sas data integration studio | source | 10 |
| 91 | Generalized McNemar's Test for Homogeneity of Marginal Distributions | Xuezheng Sun, Zhao Yang |
In the matched-pairs data, McNemar's test (McNemar, 1947) can be applied only to the case in which there are two possible categories for the outcome. In practice, however, it is possible that the outcomes are classified into multiple categories. Under this situation, the test statistic proposed by Stuart (1955) and Maxwell (1970) is useful, it is actually the generalization of the McNemar's test, commonly referred to as generalized McNemar's or Stuart-Maxwell test. There is no public available SAS program to calculate this statistic, the author has developed a SAS macro (the code is detailed in appendix) to perform this test and briefly describes how to use the macro. Examples using the developed SAS macro are also included. | degrees of freedom, proc freq, sample, proc step, covariance, macro definition | source | 10 |
| 92 | Generalizing Google's PageRank to Rank National Football League Teams | Anjela Govan, Carl Meyer, Russell Albright |
The ranking of sports teams is of significant importance to those who are involved with or interested in the various professional and amateur leagues that exist around the world. We present a ranking algorithm that is simple to imple- ment in SAS code and which gives results that are consistent with some of the best and most well-known computer methods for ranking sports teams. Whether you are trying to get an edge up on the office pool or to rank the teams for your daughter's soccer league tournament, the techniques presented here will allow you to accomplish this easily . Our method, inspired by the Google's PageRank algorithm, uses ideas from the PageRank algorithm to rank teams based on their schedule results. We include SAS/IML code implementation of each of the algorithms at the end of the relevant section |
probability distribution, markov chain | source | 11 |
| 93 | Get Your Hands Dirty Cleaning Your Data with SAS Data Quality Server | Faron Kincheloe | The SAS Data Quality Server module brings the power of DataFlux into the SAS platform. This can be extremely beneficial for those who are already using SAS to manipulate and cleanse data. During this hands-on workshop, attendees will use SAS Data Quality Server to parse the elements of a name, identify duplicate names and addresses in dirty data, estimate gender, and standardize organization names. We will cover the syntax and parameters used for creating matches and standardization schemes. We will experiment with these parameters to show how they affect the data cleansing process. A real-world example will be presented to show the impact data quality has on decision making | proc sql, group by, order by, proc step, create table, adam dataset, excel | source | 17 |
| 94 | Get Your Hands Dirty Using the FORMAT Procedure | Marge Scerbo | SAS programming avails coders multiple ways to achieve a goal. Many programmers have learned to use DATA STEP statements to add labels to values and/or to group values. While this code works fine, it is often cumbersome, time consuming to construct, and hard to maintain. The same goals may be obtained by using PROC FORMAT. This procedure can often add a great deal of efficiency to your programming, but it may be difficult to get started. Join this hands on workshop to use your hands to learn the basics of the FORMAT procedure. The best way to learn is to use. Once the basics have been covered, we may try our 'hand' at other uses for the procedure |
proc step, proc format, char., if-then-else, missing value, proc freq, label statement | source | 13 |
| 95 | Getting SAS to Play Nice with Others: Connecting SAS to a Microsoft SQL Server with an ODBC Connection | Candice Riley | Getting SAS to interact with other databases is often vital to the success of a project, but this can be a problem when SAS and the databases being used are on different platforms. This paper discusses connecting SAS to a Microsoft SQL Server from both PC and Linux environments using SAS/ACCESS and the odbc engine. The paper also discusses the role the LIBNAME Statement and the Pass Through Facility play in this connection. PROC SQL, macro variables, and some basic SQL settings and syntax will be discussed to demonstrate the power of this connection. Finally, UnixODBC and FreeTDS are discussed as third-party tools in getting the Linux environment set up |
proc sql, sql server, libname statement, proc step, dataset, odbc connection, inner join, connection string, create table, macro variable, stored procedure, temporary dataset | source | 6 |
| 96 | Getting Started with ODS Statistical Graphics in SAS 9.2 | Robert N. Rodriguez | ODS Statistical Graphics (or ODS Graphics for short) is major new functionality for creating statistical graphics that is available in a number of SAS software products, including SAS/ST A T , SAS/ETS , SAS/QC , and SAS/GRAPH . With the production release of ODS Graphics in SAS 9.2, over sixty statistical procedures have been modified to use this functionality , and they now produce graphs as automatically as they produce tables. In addition, new procedures in SAS/GRAPH use this functionality to produce plots for exploratory data analysis and for customized statistical displays. SAS/GRAPH is required for ODS Graphics functionality in SAS 9.2. This paper presents the essential information you need to get started with ODS Graphics in SAS 9.2. ODS Graphics is an extension of ODS (the Output Delivery System), which manages procedure output and lets you display it in a variety of destinations, such as HTML and RTF |
ods graphics, data science | source | 21 |
| 97 | Getting Started with SAS/IntrNet - A Quick and Dirty Tutorial | Gabe Cano | Suppose you are required to deliver a report system that is accessible to users. Through some research, you have decided that the optimal way to make this happen is using SAS/INTRNET. Theoretically, everything should work out nicely once the system is in place, i.e., installed and functional. But in reality, things frequently turn out otherwise. Getting started with SAS/INTRNET requires a fair understanding of the operating system you are working with, as well as the general work structure of the SAS/INTRNET environment. Programmers need to work with administrators to insure that the configuration is functional. System integrity can be tested quickly with some simple programs. This presentation will briefly demonstrate how SAS/INTRNET works, what types of issues might be encountered during configuration and how SAS programmers can be an effective part of creating a successful system. An example of a system will be shown along with setting up htmSQL and SAS programs |
dataset, ods html, sas programmer, libname statement, proc sql, proc step | source | 11 |
| 98 | Getting Started with the ESRI Map Component in a UNIX Environment for 2010 Census Planning | Robert M. Anderson, Annette Quinlan Davis |
The basic steps in setting up the ESRI Map Component for geospatial display of data on a SAS BI platform are well documented. As we followed these steps at the Bureau of the Census to get from ESRI map development on Windows to map-displayed OLAP Cube data on our Unix-based BI Platform, we encountered several unexpected roadblocks. This paper reviews how our project evolved, highlighting in detail those experiences and solutions at critical points in the process | sas management console, business intelligence | source | 16 |
| 99 | Going Beyond Simple Information Maps to Improve Access to Data Sources | Jerry High | SAS Information Maps provide users with easy access to rather simply-defined data sources. Although they can be directed to external relational databases, performance can be an issue due to the way in which queries are built and passed via the LIBNAME engine within the SAS/ACCESS products. In addition, sometimes it is necessary to perform nested queries to databases in order to provide more meaningful information in reports. This paper will explore options to assure performance and go beyond simple table joins to provide easier access to end users |
proc sql, libname engine, proc step, stored procedure, dataset, view, sas library, data step, data merging, group by | source | 8 |
| 100 | Graphing Using SAS | Wendi L. Wright | This paper starts with a look at basic plotting using PROC PLOT. A dataset with the daily number of hits on three websites is used. The presentation continues with examples of how to create more informative and professional looking plots by adding titles, footnotes, and refe rence lines and changing the symbols, legends and axes. This i s done in a step by step a pproach with examples of how the plot changes at each step. A look at PROC GPLOT is next using the same Web example. The final plot created using PROC PLOT is co mpared with the sam e pro gram ru n in the PR OC GPL OT procedure. Further imp rovements are made in the same step by step fashion using various SAS Graph statements. The first change is to the titles and tootnotes. Then, one at a ti me, changes are made to the symbols (SYMBOL statement), the legend (LEGEND statement), and the axes (AXIS statement) |
proc step, proc gplot, title statement | source | 22 |
| 101 | Guidelines for Organizing SAS Project Files | Nathaniel Derby | For a beginning SAS R⃝ user, there are several resources available for learning how to write efficient programs, but few for how to organize program files, data sets, and related files. This is very important for many reasons such as: knowing where to find everything, avoiding duplicating efforts, and maintaining version controls. This paper presents ideas for organizing these files, along with some short but useful pieces of code. Keywords: Macros, code, organize. This paper is an excerpt 1 from Derby (2007a), which may be updated and can be downloaded for more information | macro call, libname statement | source | 4 |
| 102 | Hash Crash and Beyond | Paul M. Dorfman, Lessia S. Shajenko, Koen Vyverman |
In SAS Version 9.1, the hash table - the very first object introduced via the DATA STEP Component Interface in Version 9.0 - has finally become robust and syntactically stable. The philosophy and application style of the hash objects is quite different from any other structure ever used in the DATA STEP before. The most notable departure from the tradition is their run-time nature. Hash objects are instantiated, deleted, allocate memory, and get updated all at the run-time. Intuitively, it is clear that such traits should make for very inventive and flexible programming unseen in the DATA STEP of yore. Still better, Version 9.2 has added new methods, attributes, and parameters. This paper includes both hash propaedeutics and material intended for programmers already familiar with SAS hashigana at basic to very advanced levels |
hash table, hash iterator, composite key, length statement | source | 24 |
| 103 | Headings and Super-Headings: Using ACROSS Variables in PROC REPORT | Jillian E. Campell | Programmers are commonly requested to produce tables that include variable values as column headings. The use of an ACROSS variable in PROC REPORT can easily accommodate this request. In some cases the tables must include multiple variables as column headings. In these cases, two ACROSS variables can be used in PROC REPORT. This technique allows a SAS programmer to include variables as column headings and super-headings with little to no additional programming |
proc report, proc step, in=, class variable, dataset, character variable | source | 5 |
| 104 | Hidden Tools You Didnt Know You Had: Code-Generating Windows | Janet E. Stuelpner | Many SAS tools help you generate code. They can make codi ng easier and less tedious. This generated code can be a starting point that you can emb ellish or enhance. The Reports Window is an interactive application used to produce simple o r complex reports online quickly. With minimal effort, you can manipulate the variables and columns, and then capture the code to create the DEFINE statements and set up the environm ent. The SQL Query Window is an interactive interface that enables you to build, save, and run queries without knowing SQL or using PROC SQL. The query that you build in the SQL Q uery Window is passed to PROC SQL for processing when you run the query. The Import/Expo rt Wizards transfer data between external data sources and SAS data sets. The wizards present simple windows that guide you through the process, making a complex or infrequent tas k simpler to perform |
proc sql, proc step, dataset | source | 6 |
| 105 | Horizon Estimation Using SAS Software | Gary A. Foster, Charles Goldsmith |
When planning a clinical trial, or when collecting information to include in a meta-analysis, an investigator typically searches the available literature to get the most up-to-date bibliographic information available. Such a literature search, or systematic review, is usually performed by searching databases, but it may also involve a search of books, journals, and websites. Common database searches for medical researchers are the Cochrane Library, Medline, EMBASE, PsycINFO, and CINAHL, to name a few. Typically the goal of the review is to find as many relevant articles as possible, but such a review need not be limited to articles. Here we present an example where the search is for relevant journals rather than articles. It is quite likely that a review will miss some, if not many, articles or journals. Some journals could be missed because the review was limited; in its key words, to one or a small number of languages, to a particular time frame, or to a small number of databases | interaction effect, main effect, degrees of freedom, poisson regression, poisson distribution, regression analysis | source | 9 |
| 106 | How Do I Love Hash Tables? Let Me Count The Ways! | Judy Loren | I love hash tables. You will, too, after you see what they can do. This paper will start with the classic 2 table join. Nothing new, you say? But this version does it in one step without sorting. And, it's the fastest method around. Next, you will see the use of hash tables to join multiple datasets on different keys in one pass, again with no sorting. How about unlimited recursive chained lookups (like when you need to update an ID through as many incarnations as it may have had)? Hash tables solve that one, too. And before you catch your breath, you'll see how to create n datasets from one (or more), where n is determined (at runtime) by the number of values encountered in a variable. No muss, no fuss. One step (well, OK, this one does require a prior sort) and you're done. We'll wind up with an outer join, just to show that hash tables can do that, too. Take a look at what they can deliver, and you'll be counting the ways you love hash tables before the year is out | hash table, conditional do loop, hash iterator, pdv, do loop, dataset, out=, proc means, key | source | 14 |
| 107 | How SAS 9 Allows the Delivery of the Power of Predictive Analytics and Forecasting to the Masses | David Pope | The SAS9 architecture has made it easier than ever to share the true power of SAS software throughout an organization. Businesses can benefit greatly from using SAS Enterprise Business Intelligence as the perfect delivery mechanism for sharing predictive analytics from SAS Enterprise Miner and forecasting from SAS Forecast Server throughout their enterprise. Furthermore, SAS Enterprise Data Integration Server streamlines the process of cleaning and preparing data for analysis and reporting as well as providing a mechanism for easily creating web services | business intelligence, data mining, web service, sas enterprise guide, predictive analytics, sas 9, excel | source | 10 |
| 108 | How to Avoid Overwriting Work Data Sets and Work Formats - An Essential Macro Design Topic | Zizhong (James) Fan | How to keep interim datasets or formats generated in macro programs from unexpectedly overwriting work data sets or work formats th at are outside of the macro calls is a topic sometimes being overlooked. It can create confusions and sometimes lead to misleading results. This is an important macro design issue when developing public use or utility macro applications. This paper introduces an efficient technique that can be utilized to avoid conflicts between local macro data sets or formats and non-macro data sets or formats | macro call, work library, macro variable, sample | source | 7 |
| 109 | How To Generate 2-, 3-, and 4-Way Venn Diagrams with Drill-Down Functionality within Four Minutes! | Kriss Harris | Drill Down, Drilling Down, Graphs, HTML, Plots, Venn, Venn Diagram | macro variable, proc sql, proc step, macro definition | source | 10 |
| 110 | How to Get Phase Portraits Animated with SAS | Kristan A. Schneider, Barbara Schneider |
In this video-poster we exemplify how to create animated phase portraits of systems of difference or differential equations, by using the SAS GIF Animator. More precisely, we consider a system of difference or differential equations and want to illustrate how a change in one or more parameters changes the phase portrait. This is of great value e.g. when studying bifurcations. We exemplify this by solving a difference equation that has applications in biomathematics and game theory. First, we implement and solve the system of difference or equations for different initial conditions and different values for one of the model parameters using SAS/IML. Next, we create phase portraits from this data by using SAS/GRAPH for each parameter value. Then we use the GIF Animator to concatenate the plots in order to obtain an animated GIF file that shows how the phase portrait changes if one varies the regarded parameter |
by group processing, proc freq | source | 9 |
| 111 | How to Get Promoted: Planning for Career Growth | Sandra Minjoe | Are you stuck in what feels like a dead-end job? Did someone else get the promotion that you felt you deserved? Are you plagued with boring tasks and looking for something more challenging? Is your current management seemingly unaware of skills that you have that could contribute to the department? If you answered "yes" to any of these questions, read on for some tips that might help you grow in your career. As we spend more time in the field of SAS programming, we move from performing straightforward tasks under direct supervision of others, to working alone on a big chunk of work, to tackling more complex tasks, to supervising other programmers, and so on. As we gain experience and skills, we expect to be promoted up the line, accepting more responsibility in exchange for higher pay and a loftier title. But promotions are usually not given as a reward for doing things well, or for sticking around a long time. Instead, promotions are a way of filling a particular need of the company | source | 9 | |
| 112 | How to Use SAS to Fit Multiple Logistic Regression Models | Anpalaki J. Ragavan | When response outcomes are continuous error terms in models are normally distributed and a standard normal distribution function is adequate. The logistic distribution function which is very similar to the normal distribution function is required when the response variable is binary. Parameters of a logistic response function are often estimated using the method of maximum likelihood (ML). One of the problems with ML estimation is that, no closed-form solution exists for the values of the parameters that maximize the log- likelihood function. Hence sophisticated computer-intensive numerical search procedures (i.e: Newton Raphson) are required to find ML estimates of parameters. This paper is a step by step guide to develop a multiple logistic regression model for data sets with binary response variable using PROC LOGISTIC in SAS |
logistic distribution, logistic regression, predictor variable, proc logistic, regression analysis, likelihood function, proc step, maximum likelihood estimation, response variable, class variable, estimate, missing value, goodness of fit, probability distribution, odds ratio, proc freq, outlier, feature selection, best subsets, influential observation, roc curve, confidence interval, proc means, type ii error, type i error, normal distribution, proc genmod, histogram, residual | source | 13 |
| 113 | I Can Do That with PROC FORMAT | Jonas V. Bilenas | In this tutorial we illustrate how to create your o wn user-defined FORMATS, INFORMATS, and PICTURE FORMAS. We describe the many applications of user- defined FORMATS including extracting data, assignin g values to variables, reporting, table look-ups, and extracting data based on keys without sorting data . We also point out the quirks of the FORMAT procedure, such as why you need to watch your fuzz factor, how to g enerate FORMATS from CNTLIN data sets, watching out when us ing the w.d INFORMATS on formatted variables withou t decimal points, and how to use the MULT and ROUND o ptions in creating PICTURE FORMATS. After this tutorial, you too will say, "I can do that with PROC FORMAT." |
proc format, proc step, lookup, dataset, proc freq, char., missing value, proc tabulate, proc print, format statement | source | 12 |
| 114 | I Shall RETURN Key Feedback in SAS/AF | Greg J. McLean | Often within our SAS/AF applications, there is a requirement for the user to enter text. However, as a default, the user must hit the "Return" or "Enter" key to execute the object's SCL (Source Component Language) code. Although this is the default behavior, it may be beneficial to trigger some other action or piece of SCL code based on each keystroke that the user types. The use of "Key Feedback" in SAS/AF will improve the professional appearance as well as increase the productivity, acceptability and ease of use of a given SAS/AF Graphical User Interface. This paper will illustrate how Key Feedback can be used in conjunction with several SAS/AF visual Objects within your GUI applications. The intended audience for this paper is SAS developers with a medium to advanced knowledge of SAS/AF and SCL software |
source | 8 | |
| 115 | Identifying Potential Default Loan Applicants: A Case Study of Consumer Credit Decision for Chinese Commercial Bank | Zhangxi Lin, Qiwei Gan, Binjie Luo |
Consumer credit is a lucrative but risky business. In order to control ri sk and maximize profits, commercial banks around the world have made great efforts to develop vari ous analytic models to identify potential default loan applicants. This is also critically im portant to China, as the non-performing individual loans of Chinese commercial banks have been fast growing because of the myopic business attitude and the overheated economic growth. To prevent the US sub-prime ki nd of crisis in China, Chinese commerc ial banks are adopting advanced analytic means to help make loan decisions. This paper reports a data mi ning application in the analys is of default loan applicants using a real dataset cons isting of 641,988 observations obtained from a Chinese commercial bank, located in the southwest of China. An exploratory st udy of the dataset led to a number of interesting st atistic figures that may characterize the applicants in the western region of China | missing value, data mining, proc hpsplit, response variable, consumer loan, regression analysis | source | 12 |
| 116 | If You Don't Ask, The Answer's Always No...What I've Learned as an Independent SAS Software Consultant | Andrew H. Karp | sas consultant, calendar year | source | 11 | |
| 117 | Implementing a Customer Retention, Cross-Sell, Up-Sell, and Payment Risk Solution Using SAS Telecommunications Intelligence Solutions for Orange Dominicana | Carmelina Collado, Daniel Demonchy, Marcos Arancibia, Al Cordoba |
Telecommunications operators are faced with serious global competition in their mobile telephony market. Understanding, managing, growing and retaining its customers are some of the key initiatives critical for their success in the coming years. Orange in the Dominican Republic (ODo) developed a solution framework to address customer retention, sales, and payment risk issues, enhance their customer experience and create loyalty. ODo understood that process improvements were necessary to meet its growth expectations and achieve its marketing and revenue goals in its competitive environment. At the heart of the Solution defined by ODo, the SAS Telecommunications Intelligence Solutions provided a structure that allowed for the flexibility required to utilize the data from the Data Warehouse, and at the same time provided the Analytical power to generate the Intelligence for the CRM System | customer retention, data mart, data validation rules, business intelligence, data cleaning | source | 9 |
| 118 | In Search for a Golden Algorithm | Tamara S. Slipchenko, Candice Bowman, Catherine Sugar, Allen L. Gifford |
This paper describes an application of data mining methods for development of an HIV- casefinding algorithm with SAS Enterprise Miner (EM) 5.2. Access to HIV care depends on accurate identification of all infected persons. The Veterans Health Administration (VHA) provides care to ~20,000 HIV-infected veterans. The current algorithm for patient identification into the Registry is based only on HIV-specific diagnostic codes. We built logistic regression (LR), decision tree (DT), and neural network (NN) models to predict a binary outcome variable HIV status. We applied these models to the VHA population to identify patients with high predicted probability of disease. In addition to the diagnostic codes we were using demographic, geographic, laboratory, pharmacy and service utilization variables. False Negative (FN) rates and Area Under the Curve (AUC) indices were used for model comparisons | sample, data mining, type ii error, response variable, auc, data cleaning, regression analysis, proc hpsplit, logistic regression, logistic distribution, adam dataset, neural network, confusion matrix, feature selection, validation set | source | 9 |
| 119 | Increased Team Effectiveness through Information Visualization Using ActiveX Drill-Down Graphs Created via SAS/GRAPH | Terek J. Peterson, Robert Gordon |
Significant research has proven that teams will produce better results then individuals in most situations. Put simply, in the words of Ken Blanchard and Sheldon Bowles, "None of us is as smart as all of us." (Blanchard [1], pg. 60) However, the main vehicle for team interaction is meetings where predefined agendas and presentations prevail. It is increasingly more important to examine data collectively in order to communicate the team's decision. Pictures are worth a thousand words. Giving the power to drill-down into the data graphically without disturbing the integrity of the original data gives the team an efficient way to commun icate the decision made during data analysis. The ability to work interactively with the data during presentations or meetings only enhances the analysis. This session introduces the user to the programming techniques used to create drill-down graphs and how to use the advanced capabilities of the free SAS/GRAPH ActiveX plug-in provided by SAS |
proc step, adverse events, proc template, data visualization, output delivery system, ods html | source | 19 |
| 120 | Increasing Your Marketing ROI with SAS Marketing Optimization | Dwight J. Mouton | This paper provides information for marketing organizations that are in the evaluation stage of making an investment in marketing optimization. Many marketing analysis departments have known for years that one of the best ways to improve a company's direct marketing performance is to apply optimization techniques to related marketing activities. This was once the domain of only the most sophisticated marketing organizations, but advances in software products have made optimization practical for a much broader group of marketers. As with all new investments today, obtaining executive management approval for the funding of these projects requires solid business justification | integer programming, propensity score | source | 8 |
| 121 | Integrating Consumer Demand to Improve Shipment Forecasts | Charles Chase | Integrating consumer demand to improve shipment forecasts has become a high priority in the Consumer Packaged Goods (CPG) industry over the past several years. Until recently, many factors, such as data collection and storage constraints, poor data synchronization capabilities, technology limitations, and limited internal analytical expertise have made it impossible to either "integrate with consumer demand", or "link to shipment forecasts". With improve- ments in technology, data collection, and storage, along with improved analytical knowledge, CPG companies are now looking to integrate consumer demand with their shipment forecasts to capture the impact of marketing activities on shipments. As a result, a technique called Multi-tiered Causal Analysis (MTCA) is receiving renewed interest | causal inference, predictor variable, marketing mix, regression analysis, sample, time series analysis, multiple regression, proc reg | source | 10 |
| 122 | Introducing the SAS Code Analyzer | Richard D. Langston, Eric Thies |
This paper introduces the PROC SCAPROC procedure, the SAS Code Analyzer that is new in Release 9.2 of Base SAS Software. We will examine the advantages of using the procedure, its syntax and phases of execution, and the output that the procedure can produce |
proc step, proc means | source | 4 |
| 123 | Introduction to Correlation and Regression Analysis | Ian Stockwell | SAS has many tools that can be used for data analysis. From Freqs and Means to Tabulates and Univariates, SAS can present a synopsis of data values relatively easily. However, there is a difference between what the data are, and what the data mean. In order to take this next step, I would like to go beyond the basics and introduce correlation and hypothesis testing using regression models. A brief statistical background will be included, along with coding examples for correlation and linear regression | correlation, regression analysis, numeric variable, response variable, predictor variable, null hypothesis, estimate, anova, proc step, pearson correlation, proc corr, proc reg, standard deviation | source | 8 |
| 124 | Introduction to PROC TABULATE | Thomas J. Winn Jr. | PROC TABULATE is used to build tabular reports containing descriptive statistical information, including hierarchical relationships among variables. The code that is used to invoke PROC TABULATE is complicated, and much of it looks quite different from other SAS procedures. Nevertheless, it is well worth the necessary investment of time and effort for learning the intricacies and subtleties of its syntax. This paper provides a simplified, step-by-step approach for coding PROC TABULATE |
proc tabulate, proc step, class variable, proc freq, missing value, proc means | source | 17 |
| 125 | It's 9:00 AM: Do You Know Where Your Critical Talent Is? Retention Analytics for Human Capital Management | Lynn Creecy, Bradley W. Klenz |
Employee retention is an increasingly serious issue in many business sectors. Understanding which factors cause employees to leave and which actions retain them is an important Business Intelligence application. This paper demonstrates analytic methods to address this problem. Data mining and predictive modeling can be used to improve retention of critical employees. The predictive modeling approach yields two valuable outputs that can be used to gain insight into this problem: 1) A retention score for each employee, which measures the probability that an employee will leave over a given time period (for example, in the next year). 2) A statistical model that quantifies the relationship of the input data to the probability of retention. Examples of input data include an employee's job-action history, the length of time in a position, and salary history | likelihood function, data mining, response variable, proc hpsplit, training set, data transformation, regression analysis, data cleaning | source | 11 |
| 126 | It's a Bird, It's a Plane, It's SQL Transpose! | Ted Conway | Ever wish you could easily transpose and summarize monthly data using just PROC SQL? Regardless of whether the data is stored in a SAS dataset or other relational databases? Even if scores of variables for dozen of months are involved? This paper tackles the task of data denormalization with a simple macro that uses PROC SQL to take a "vertical" table with multiple rows per subject and transform it into a "horizontal" table containing one row per subject with aggregated monthly values |
sample, proc sql, proc step, relational database, dataset | source | 5 |
| 127 | Joining Data: Data Step Merge or SQL? | Faisal Dosani, Harry Droogendyk |
This paper explores the joining of datasets / tables using both the DATA STEP MERGE and PROC SQL. Similarities between the two methods are identified and occasions when one method might be preferred over the other are discussed. Specific issues relating to INNER, OUTER and FULL joins are covered, as are the vagaries of the SQL ON vs. WHERE clauses. An array of examples will illustrate exactly how joins are accomplished in both DATA STEP and SQL environments. Included in the presentation is a method of displaying SQL's inner workings providing hints for query optimization |
proc sql, proc step, data step, inner join, where statement, normalization, create table, index, transaction data, full join, data merging, macro variable, right join | source | 19 |
| 128 | Labor-Saving SQL Constructs | Brian P. Fairfield-Carter, David W. Carr |
Simplicity is one of the most difficult things to achieve. This statement may seem counter-intuitive, but consider that the fundamental purpose underlying the development and adoption of SAS language elements is really to reduce the number of program steps required to complete a task, or in other words, to simplify SAS code. Adopting new language elements and exploring new techniques takes work, but the reward can be code that is simpler and easier to understand, and which is therefore more transportable and maintainable. In general, 'simplified' SAS code minimizes · DATA, PROC, MERGE and transposition steps · Replication of WORK datasets · 'Macrotization' and fragmentation of tasks While PROC SQL can offer new approaches to common data manipulation problems, it is essentially a language unto itself, and for this reason its use is often resisted |
proc sql, adverse events, proc step, create table, group by, dose, preferred term, temporary dataset, missing value, macro variable, proc freq, cross join, unique key, adverse event summary, proc univariate, left join, record count, union all, macro loop | source | 10 |
| 129 | Learning PROC REPORT by Comparison | Keith Cranford | You can use what you already know to learn PROC REPORT. This paper compares PROC REPORT to PROC PRINT, PROC TABULATE and PROC MEANS. Through the use of examples that produce similar reports, the syntax and features of PROC REPORT are illustrated |
proc step, proc report, proc print, proc tabulate, proc freq | source | 15 |
| 130 | Leveraging SAS Enterprise BI Server for an Operational Reporting Workflow | Paul Christenson, Chad Flentje |
Blue Cross Blue Shield of Minnesota sends out 2.5 million first class mailings of reports, forms, checks and letters to customers on a monthly basis. The print streams that create these mailings can be thousands of pages long, with different layouts on separate pages. For example, each user can have a different number of pages, one of the pages may require a different kind of paper, and all the pages need to be automatically inserted in an envelope. In addition, all mailed content must be archived for 7 years. This type of high detail, high volume operational reporting is standard in most customer-service oriented companies. The desire to minimize the number of systems used in an organization is also a standard desire of enterprise architecture. This paper will explore some of the opportunities and pitfalls of integrating SAS 9.1.3 (SP4) Enterprise BI Server, Xythos WebDAV v2.2 and Platform Scheduler v3.0 into an enterprise operational reporting framework | proc report, batch job, staging area, proc step, sas base | source | 11 |
| 131 | Life Cycle of a SAS Intelligence Platform Project | Gaurav K. Agrawal | This paper provides an overview of the SAS 9 Intelligence Platform and the steps to be followed from setting up of this platform to the implementation in the production. This paper will be a help for the project manager from the planning perspective and SAS architect in implementing this platform. This paper facilitates as an introduction to SAS Data Integration (DI) and Business Intelligence (BI) server and its functionality | source | 11 | |
| 132 | Lithium Battery Analysis: Probability of Failure Assessment Using Logistic Regression | Travis A. Moebes | Fourteen-hundred rows by 53 columns of vendor cell acceptance data [1] were processed though Logistic Regression using SAS Enterprise Miner (EM) to find any significant correlation between 52 test output parameters (independent variables) and the pass/fail outcome for each of the 1,400 battery cells tested. The goal was to find helpful predictors for detecting "good" or "bad" cells in the form of a best Logistic Regression model. Data from five cells selected by Johnson Space Center's (JSC's) Energy Systems Division (ESD) were processed through three model options (Option1, Option2, and Option3) to determine the best model and to indicate a known cell that failed. The output from the best model s howed good acceptability statistics and indicated the failed cell was less acceptable than the other cells | regression analysis, logistic regression, logistic distribution, data mining, predictor variable, likelihood function, response variable, null hypothesis, anova, binomial distribution, excel | source | 9 |
| 133 | Local Measures of Global Warming | Jun Lu | Global warming is currently a focus of attention. This paper provides how to use SAS to create effective approaches for local measures of global warming. Based on analysis of a large data set, almost 100 years' daily temperatures in a local weather station, it gives the detail procedures for testing the equality of variance and mean, and finding the trend of time plot using "loess smoother" technique. The results suggest that global warming really exists in the local place, and they also provide evidences that may support global warming | proc means, null hypothesis | source | 7 |
| 134 | Ludicrously Large Numbers: Using Arbitrary Precision Arithmetic in SAS Applications | Patrick Tan, Koen Vyverman |
The SAS language knows but a single numeric data type, with a maximum length of 8 bytes. This imposes a limit on the maximum precision that a number can have in SAS. Sometimes, more precision is needed to correctly store and handle very large or very tiny numbers, in which case you typically need to resort to seriously arcane coding. In this paper we propose to take some of the tedium out of this, by using the Java arbitrary-precision libraries and calling these via the DATA STEP Component Interface for Java Objects |
proc step, proc sql | source | 10 |
| 135 | Making Sense of Multi-Core Processor Technology for the SAS Environment | Carl E. Ralston | The computer industry has been rapidly transitioning from CPUs (chips) with a single processing core to CPUs with dual-, quad- and multi-core configurations. This has changed traditional thinking of SMP servers and has propagated to both desktop and laptop systems. Multiple concurrent jobs and multi -threaded applications are techniques to utilize this change. This paper/presentation will introduce and explain this direction and it's relevance to the SAS environment. Scalability will be discussed by using examples such as Enterprise Miner scoring, Forecast Server workload , random number parallelization and the inclusion of Intel's Math Kernel Library in SAS 9.2. Recommendations on how to configure the CPUs, memory and input/ output subsystems of your system for optimal SAS software performance will be included | time series analysis, data mining | source | 9 |
| 136 | Managing The Change And Growth Of A Metadata-Based System | Jeffrey M. Abolafia, Frank C. DiIorio |
Regulations governing the pharmaceutical industry require extensive metadata to support datasets and displays when submitting a New Drug Application (NDA) to the US Food and Drug Administration (FDA). In two previous pa- pers we outlined the metadata architecture needed to support a large and complex project as well as how the meta- data is used throughout the life cycle of a project. We also demonstrated how well-designed and easily-accessible metadata improves work flow, efficiency, and project management throughout the life cycle of a project. This paper builds on the previous two papers and discusses lessons we have learned as the scope, user base, and complexity of our metadata systems have increased. Topics include: metadata design; user interface; developing tools to access the metadata; repurposing metadata throughout the life cycle of a project; and software development and maintenance issues | excel, macro variable, adam dataset, stage 2, dataset, stage 3, proc tabulate, data cleaning, cdisc | source | 11 |
| 137 | Many-to-Many Merges in the DATA Step | Edward Heaton | When we want to join two tables on a many-to-many merge, we need a crosswalk table. The crosswalk table contains the keys for the two tables that we want to join. Once we have the crosswalk, we can use a nested join in PROC SQL to create an SQL View. But sometimes we want a data view that utilizes features of the SAS DATA STEP that cannot be easily duplicated in PROC SQL. We can perform this merge in a DATA STEP with the hash object. This paper will use an example where we join a data table about papers with a data table about authors. Some authors submitted more than one paper for consideration, and some papers were written by more than one author. We will create a DATA STEP view that joins the two tables with a SET statement and two hash objects. This merge runs in half the time of the SQL join. Furthermore, it opens the door to DATA STEP processing in the merge |
hash table, proc sql, proc step, character variable, set statement, cpu time, dataset, data merging, merge statement | source | 9 |
| 138 | Mapping without GMAP: An Innovative Use of the SAS/GRAPH Annotate Facility | Peter J. Lund | When you hear "annotate data set" you probably thin k of putting a reference line on a graph of adding some explanatory text to a plot. These are the most common uses of annotate and the SAS/GRAPH Annotate facility allows you enhance your graphic output in a variety of ways. This paper takes Annotate one step further. Rather than using SAS/GRAPH and PROC GMAP to create a choropleth map and an Annotate data set to enhance it, we'll do it all with the Annotate facility. An existing map image file (e.g., gif or png) is loaded, using Annotate, and pie and bar charts, also created with Annotate, are added to it. This technique allows for mapping information specific to a particular point on a map, rather than shading or highlighting an area of the map. Also, a "familiar" map can be used - one containing roads, labels, legends, and other features that are difficult to reproduce using PROC GMAP |
bar chart, sample, proc step, data step, macro call | source | 11 |
| 139 | Metadata for Everyone: A Simple, Low-Cost Methodology | Timothy D. Brown | In the context of Base SAS programming, this paper uses "hardcoded" values as an introduction to "metadata" and the reasons for using it. It then describes a low cost and simple methodology for maintaining any kind of metadata | macro variable, excel, txt, dataset, format statement, proc step | source | 8 |
| 140 | Metadata for SAS 9 Programmers | Elena Muriel, Paul Simkin |
Metadata is a fundamental part of SAS9. Each component from data through to delivery is registered in a SAS9 repository and forms a rich source of information just waiting to be exploited. The good news is that this resource is available to any avid SAS programmer. This paper introduces the fundamental concepts of metadata. These concepts include details on metadata location, structure and how to query and exploit it. The investigation will deliver an overview of key concepts and also provide a basis for further exploration of this important SAS9 resource. Three different methods will be considered to illustrate how to query the metadata server. Information will be obtained regarding SAS tables registered in a library, column names and primary keys defined within a SAS data set. The first method will use the front end interface provided by SAS Management Console, which provides an interactive entry point to our metadata | dataset, sas management console, proc step, sas data integration studio, key, libname engine, data step | source | 11 |
| 141 | Migrating Information in the Amisys Data-Warehouse: Current to Advanced | Anthony E. DeGance | In the course of migrating tables from a current system to an advanced system, the migrated information must be verified. Inevitably this comes down to verifying corresponding information table by table, record by record, field by field. We used SAS's PROC COMPARE with the Out option to carry out the verification process. We report on some generic SAS query code used to do the table by table compare and on the DOS .bat syntax to launch the SAS query code batch-wise. And while the details of SAS query code may not be portable, the structure and various pieces of code developed for the process are. We wrote and debugged queries for eighty tables over a period of six weeks to eight weeks. Evidently, making the comparison output manageable and presentable is essential to the analyst's effort. We managed the output by a combination SAS and DOS and directory structure. The eighty queries were launched by a peculiar DOS .bat syntax in batches of about a dozen or so |
sample, proc compare, proc step, sample size, record count, proc sql | source | 10 |
| 142 | Mobile Operator Customer Classification in Churn Analysis | Piotr S. Sulikowski | Customer churn is a grave problem for all mobile operators. Early identification of customers from the risk group could help retain them in the operator's network. This paper introduces a set of potential churn factors on which data can be relatively easily extracted from the operator's databases and analyzed using the SAS Enterprise Guide. A multi-stage research procedure utilizing such real-world data is proposed. It allows the identification of significant churn factors, the segmentation of customers, and finally the establishing of a rule model of the phenomenon for each customer segment. The method outlined in the paper is based on rough set theory and takes into account both qualitative and quantitative data. The new approach proposed in the paper relies upon data from the current period and also knowledge from the past | churn, service provider | source | 5 |
| 143 | Modeling Zero-Inflated Count Data with Underdispersion and Overdispersion | Adrienne Tin | A common problem in modeling count data is underdispersion or overdispersion. This paper discusses the distinction between overdispersion due to excess zeros and overdispersion due to values that are greater than 0. It shows how to use exploratory data analysis to determine the dispersion patterns and that the dispersion patterns can change depending on the predictors and the subpopulation that are included in the analysis. Further, the paper discusses how to fit zero-inflated models using PROC NLMIXED and compares the model fit. The data is from the National Health and Nutrition Examination Survey (NHANES 2003-2004) |
poisson distribution, binomial distribution, zero-inflated poisson, negative binomial regression, likelihood function, zero-inflated negative binomial, poisson regression, negative binomial distribution, data standard, numeric functions, estimate, proc step | source | 11 |
| 144 | Multiple Graphs on One Page Using SAS/GRAPH V9 | Hany Aboutaleb | This paper will reveal that like good writing, producing an effective graphical display requires an understanding of the data you want emphasize. SAS/GRAPH V9 can be used in combination with the Output Delivery System (ODS) to produce high-resolution multiple graphs on one page. Achieving multiple graphs on one page effect can be challenging. However, like almost every SAS solution there are multiple ways you can achieve this goal with SAS/GRAPH V9. This paper will compare and contrast three different methods for achieving this result |
proc step, proc greplay | source | 9 |
| 145 | New Architecture and Speed with a Netezza Data Warehouse Appliance | Dana Rafiee | One of the biggest challenges organizations have is how they store and retrieve for analysis large amounts of data. This problem has plagued industries for years. As data sizes grow into Terabytes and Petabytes, organizations continue to face these challenges as users want to analyze and report on 'the whole data'. SAS has partnered with Netezza, a Data Warehouse Appliance vendor. This vendor is a pioneer of the self-contained warehouse appliance, which contains a database, storage and SQL processing. Each appliance contains 108 computers and storage disks to offer intelligent, massive parallel processing with load rates of 500GB per hour, all at an economical price in comparison to Teradata. The largest worldwide data customers such as Google, Yahoo, AOL and the NYSE had no other choices but to look to new, innovative technology to allow them to not only store enormous amounts of data, but to also reduce their query times from 24 hours down to 4 minutes | business intelligence, proof of concept | source | 4 |
| 146 | New in SAS 9.2: It's the Little Things that Count | Diane Olson | It is easy getting the word out about the new big things that are added to a release, but the little things often go unsung. These additions to Platform SAS can make your coding life easier. This paper talks about some of those additions, including cross-host migration with PROC MIGRATE, a new statement for indexes, two new additions to the DATA STEP and linguistic sort additions to the utility procedures |
constraint, proc step, options statement, data integrity, set statement, proc contents, proc copy, sas library, data cleaning, proc sort | source | 7 |
| 147 | New Strategies for Identifying Customer Usage Patterns | Barry deVille | Hardware devices that are used for communications possess a wide variety of programmable hardware components, called slots. You can configure slots in multiple ways to deliver a variety of communications services such as file transfer, remote computer access, internet page access, and voice-over-internet capabilities. It is extremely difficult to create high level, summary descriptions of a collection of hardware devices. Any given hardware device could have one or more programmable hardware slots, and each slot can be any one of multiple family types. Because of the many possible configurations, it is hard to identify common combinations that could be particularly useful in a given application area. Alternatively, it is difficult to identify common configurations that generate an inordinate number of faults, for example | proc hpsplit, cluster analysis | source | 9 |
| 148 | ODS and Output Data Sets: What You Need to Know | Myra A. Oltsik | Most programmers use ODS to make pretty reports. I don't. I use ODS to collect data from a PROC using the ODS OUTPUT statement. The SAS Help documentation for using ODS OUTPUT is quite light, and information about table names - needed to create dat a sets - and their descriptions are spread out among the documentation. And while the documentation may say that an ODS OUTPUT table is available, that doesn't mean it's necessarily "usable", or that it looks like you might expect it to look1. This paper attempts to put most everything you need to know in one place. There are over 90 SAS procedures for which ODS OUTPUT tables are available, over 75% of which are either SAS/STAT or SAS/ETS procedures. I am not a statistician, but there are enough Base SAS PROCs with ODS OUTPUT tables to make this paper of interest to all |
proc step, sas base, proc freq, ods output, proc reg, sas output, output, proc glm, proc sql, label statement, output delivery system, file statement, estimate, proc genmod, logistic distribution | source | 13 |
| 149 | ODS for the Professional Statistician | Steven M. LaLonde | ODS, or the Output Delivery System, is used to control the output from various SAS procedures. Being a statistician first, and SAS programmer a very distant second, I wasn't very interested in ODS when I first heard about it. I figured ODS was for people concerned more with appearance than substance. However, after playing a bit, I'm convinced that there are some really useful features there, even for a stubborn, stuffy, old statistician like me. This paper will demonstrate some ODS features, and tricks, that I've picked up that I think will be useful to any statisticians using SAS, and may even encourage non-SAS sta- tisticians to try SAS |
proc step, proc reg, sas log, dataset, ods html, excel, proc contents, proc corr, regression analysis | source | 9 |
| 150 | ODS Graphics Editor | Sanjay N. Matange | SAS/GRAPH ODS Graphics Editor is an interactive GUI-based tool for editing and customizing plots created by the ODS Graphics system. With SAS 9.2, many SAS analytical procedures automatically cr eate graphical output. This video poster will demonstrate how you can edit and customize vi sual aspects of an output gr aph with this interactive tool. We will edit the title, add a f ootnote, reposition the legends, and change marker and line attributes. We will add free-form annotation to highlight the resu lts in the plot. Finally, we will us e the data label m anagement facility to control the specific dat a labels that are shown in the plot. The ODS Graphics Editor is particularly useful for making specific changes, highlighting outliers, or touching up a graph before publishing. The changes are saved with the edited graph, but they are not persisted if the original code is rerun |
proc robustreg, outlier | source | 9 |
| 151 | Old Versus New: A Comparison of PROC LOGISTIC and PROC GLIMMIX | Rebecca Christofferson | In the past, the SAS programming tools available for logistic regression problems have been trapped in a "fixed effects" modeling world. PROC LOGISTIC gives very few options when dealing with random effects, which has made the modeling of binary data from any kind of experimental design challenging at best. Such design elements as blocking or repeated measures are not readily analyzed using PROC LOGISTIC. PROC GLIMMIX has sought to fill in the gaps. With this new procedure, design elements can be accounted for and a more correct modeling of variances can be done. The popular and useful mixed modeling techniques available in PROC MIXED can now be readily utilized for the analysis of binary data using PROC GLIMMIX. A practical example will demonstrate the convenience features GLIMMIX offers, and also highlight the differences between the two procedures, using a side- by-side comparison |
proc step, proc mixed, logistic distribution, proc glimmix, proc logistic, logistic regression, regression analysis, confidence interval, fixed effects, sas programming, anova | source | 6 |
| 152 | On Predicting Log-Transformed Linear Models with Heteroscedasticity | Siwei Jia | For log-transformed linear model E(log Y) = Xβ, one of the most common practices is to predict at the original scale of dependent variable Y. It is well known that a simple exponentiation exp( Xˆβ) will cause bias, even in the case when ˆβ is BLUE. The bias is worse if heteroscedasticity is associated with the log-transformed model. In this paper we propose an anti-log transformation that is practically simple yet theoretically sound. We use Base SAS R⃝ and SAS/STATR⃝ to transform, fit and adjust the predictions. This paper is intended for statisticians, econometricians and other quantitative analysts concerned with application of log-transformed models. Keywords: log-transform, multiplicative model, heteroscedasticity, weighted least square, prediction, SAS GLM procedure |
response variable, proc genmod, proc glm, proc step | source | 6 |
| 153 | Operational Risk: Economic Capital (EC) Modeling with a Loss Distribution Approach | Sabri G. Uner | Following the Basel II Capital Accord, with the increased focus on operational risk as a distinct theme from credit and market risk, quantification of the operational risk has been a major challenge for the financial institutions. In this study, we propose a loss distribution based approach consistent with Basel II guidelines, to estimate the Economic Capital for the Operational Risk at the firm level. This approach accounts for both firm specific and industry related ('Financial Services') components of the operational risk. To serve this purpose, inline with the guidelines, the method utilizes internal loss data for the institution itself and the external loss data for the 'Financial Services' industry. The results suggest that, after addressing the selection bias in external data as suggested by the previous studies; proposed LDA based approach provides Economic Capital estimate within the expected range | loss event, operational risk, operational loss, economic capital, monte carlo, proc freq, likelihood function, proc step, basel ii, estimate, sample, poisson distribution, frequency analysis, normal distribution, exponential distribution, lognormal distribution, histogram, logistic distribution | source | 14 |
| 154 | Optimally Matching Demand and Supply Over Time | Larry Lapide | customer segmentation, macro loop | source | 28 | |
| 155 | Oracle Clinical for SAS Programmers | Kevin Lee | This paper is i ntended for S AS progr ammers who are i nterested i n un derstanding th e differe nce i n the data base structure between Oracle Clinical and SAS. It also helps SAS programmers to use SAS/ACCESS to extract raw data from Oracle C linical. T his paper will discuss the dat abase st ructure of Oracle Clinical and its relationship with t he extracted SAS data |
sas programmer, clinical database, raw data, sample, data governance, data science, data cleaning, proc sql | source | 8 |
| 156 | Ordered Weight Averaging in SAS: An MCDM Application | Ali Emrouznejad | This paper explores the use of the optimization procedures in SAS/OR software with application to the ordered weighted averaging (OWA) operators of decision-making. OWA was originally introduced by Yager (1988) has gained much interest among researchers, hence many applications in the areas of decision maki ng, expert systems, data mining, approximate reasoning, fuzzy system and control have been proposed. To facilitate the use of OWA operator by SAS users, a code was implemented. An example is given to illustrate the features of the proposed macro |
linear programming, odds ratio, proc step | source | 5 |
| 157 | PDF Can Be Pretty Darn Fancy: Advanced ODS Techniques for PDF Output | Peter J. Lund | We're not too far removed from the days when presentation-ready SAS output meant lots of cutting and pasting or retyping. Now, the ODS PDF destination enables you to produce high quality output the first time, without other tools or applications. This paper explores a number of ODS options in general and, more specifically, their use in creating PDF output. We will cover ODS ESCAPECHAR, which allows for inline formatting of titles, footnotes and other text; ODS LAYOUT, which lets you place output wherever you want it on the page - even output from more than one procedure; inline formatting in PROC REPORT; overlaying output from SAS/GRAPH procedures on top of other output and more. We'll work from real life examples and see how you can produce output that looks like it took hours to create |
proc step, proc report, ods pdf, footnote statement, proc print, proc tabulate, output delivery system, proc sql | source | 19 |
| 158 | Picture Perfect: Centering Frames in SAS/AF | Greg J. McLean | The ability to create professional looking and easy to use GUI (Graphical User Interface) applications is both a skill as well as an art form that is usually appreciated by the end user. Of course the primary goal of the GUI is to allow the end user to perform the task the application was intended for. However, the way the application is presented to the user will have an effect on productivity, acceptability and ease of use. With different monitor sizes, screen resolutions and SAS/AF Frame sizes, it is very important that all Frames be viewed in a common or standardized manner. So why not have everything centered!! This paper will illustrate a simple method that can be used to center Frames within your GUI applications. The intended audience for this paper is SAS developers with a medium to advanced knowledge of SAS/AF and SCL (Source Component Language) software |
macro variable, catalog | source | 9 |
| 159 | Poor Man's Parallel Processing, Using DATA-Step Views | Erik W. Tilanus | The use of DATA STEP Views can reduce the elapsed time of programs that contain combinations of DATA steps and PROC steps. Under circumstances this reduction can be even in the order of 40 or more percent. The penalty is a higher CPU usage. The paper explains how DATA STEP Views are created and used and demonstrates the elapsed time saving, based on a practical example |
elapsed time, proc step | source | 3 |
| 160 | Powering Your Organization's Web Applications with SAS Software | Michael A. Raithel | SAS developers who do not license SAS/INTRNET software may not think that there is a way they can harness the power of SAS for their organizations' Internet applications. But, there is! SAS can be used as a robust behind-the-scenes engine to create web pages and web content for Internet applications. The powerful data handling and report-creating features of SAS can be used to craft web pages and to load databases with relevant information that is used in web applications. This paper illustrates five ways that SAS can be integrated into corporate Internet web applications |
macro definition, sql server, proc sql, proc means, flat file, dataset, output delivery system, sas programmer, macro call, report year | source | 16 |
| 161 | Practical Methods for Creating CDISC SDTM Data Sets from Existing Data | Robert W. Graebner | Creating CDISC SDTM domain data sets from existing clinical trial data can be a challenging task, p articularly if the database was not designed with the SDTM standards in mind. A key step in the process involves determining which of the STDM domain datasets need to be produced for submission and then determining what conversion process will be necessary to produce them from the existing data. Adequate planning and documentation of the conversion process is an essential first step before programming begins. The basic component of the planning phase involves metadata mapping - determining how each of the variables in the existing data will relate to the variables contained in the SDTM domains to be produced. The documentation of the conversion process should be recorded in a format that facilitates efficient access by those involved in the planning, program ming and validation phases of the conversion | sdtm domain, excel, sdtmig, clinical data, controlled terminology, proc step, macro definition, raw data, txt, missing value, data cleaning, clinical trial, libname engine, data mapping, sysdate9, dataset, label statement, proc sql, cdisc | source | 11 |
| 162 | Price and Revenue Optimization for Banking | Keith Renison, Lorry Hardt Jr. |
The May 2007 issue of Finance Tech online magazine quoted Bank of America's SVP of pricing strategy, Dan Malouff, as saying "Price optimization is absolutely necessary to deal with the margin compression that we have experienced." Though the quotation seems ubiquitous for most industries-including travel and retail-the concept of price optimization is nascent for financial services (FS). In analyst circles and internal FS analytic practices alike, the concept of price and revenue optimization is quietly-if not secretly-being discussed, as it proves itself to be the next opportunity to leverage analytics for a competitive advantage. This paper is designed to bring the concepts of customer price sensitivity, demand elasticity, profitability, and price differentiation into a financial services context | credit card, financial services, credit risk, interest rate, logistic distribution | source | 7 |
| 163 | Pricing of Options Using Hybrid Artificial Neural Networks | Anant Saxena | neural network, interest rate, sample, standard deviation, scatter plot, binomial distribution | source | 25 | |
| 164 | PROC CORRESP for Categorical Data: Correspondence Analysis (CA) for Discovery, Display, and Decision-Making | Wendy B. Dickinson, Bruce W. Hall |
proc corresp, proc step, proc freq, nominal variable, proc princomp, data visualization, correlation | source | 8 | |
| 165 | PROC INFOMAPS - Let your Design Document build your SAS V9 Information Maps | Chuck Bininger | Creating information Maps can be a tedious and time c onsuming process and prone to many errors. Although SAS Information Map Studio provides a simple GUI interface t hat allows developers to interactively create Information Maps. It may not be the best tool available. This paper will introduce the reader to information maps, SAS Information Map Studio, and PROC INFOMAPS. The paper will also assume that the reader has some knowledge of the SAS Business Intelligence products. By the end of the paper the reader will be able to understand and use the code provided to dynamically create information maps for use in their own SAS Business Intelligence environment |
proc step, business intelligence | source | 11 |
| 166 | PROC MIXED: Underlying Ideas with Examples | David A. Dickey | The SAS PROCEDURE MIXED provides a single tool for analyzing a large array of models used in statistics, especially experimental design, through the use of REML estimation. A strategy for identifying mixed models is followed by a description of REML estimation along with a simple example that illustrates its advantages. A comparison of some of the available tests for variance components is given along with several examples, both real and artificial, that illustrate the variety of models handled by PROC MIXED |
likelihood function, proc step, proc mixed, proc glm, proc genmod, restricted maximum likelihood, sample, f-test, fixed effects, maximum likelihood estimation, standard deviation, correlation, covariance, proc calis, degrees of freedom, intraclass correlation, anova, z-test, null hypothesis, response variable, proc freq, logistic distribution | source | 18 |
| 167 | PROC REPORT in Color ... What's Your STYLE? | Wendy Boberg | Are you using the Output Delivery System (ODS)? Have you found the STYLE, layout and color scheme, you like? Do you know how to edit the colors on a table using ODS PDF? Do you know how to add background color to highlight a row, column, or cell? I used to get a highlighter out of my desk and go to work, but now I let SAS and the printer do all of the work. This paper will discuss a few different ways you can customize your reports. I will share my favorite styles and show you how to look at your tables in the different styles available. I will briefly explain how you can create your own style by changing the color scheme of an existing style so that it can be used for all of your reports. You will learn by example how to truly customize your table using PROC REPORT. I will explain how I used the pieces of code to get the table with a row, a column and individual cells highlighted with several different colors |
proc step, proc report, proc template, ods pdf | source | 8 |
| 168 | PROC REPORT: Compute Block Basics - Part I Tutorial | Arthur L. Carpenter | One of the unique features of the REPORT procedure is the Compute Block. Unlike most other SAS procedures, PROC REPORT has the ability to modify values within a column, to insert lines of text into the report, to create columns, and to control the content of a column. Through compute blocks it is possible to use a number of SAS language elements, many of which can otherwise only be used in the DATA STEP. While powerful, the compute block can also be complex and potentially confusing. This tutorial introduces basic compute block concepts, statements, and usages. It discusses a few of the issues that tend to cause folks consternation when first learning how to use the compute block in PROC REPORT. This paper is being presented in conjunction with the Hands-on Workshop PROC REPORT: Compute Block Basics -Part II Practicum (Paper 188-2008) |
proc report, proc step, class variable, put statement, proc calis | source | 16 |
| 169 | PROC REPORT: Compute Block Basics - Part II Practicum | Arthur L. Carpenter | One of the unique features of the REPORT procedure is the Compute Block. Unlike most other SAS procedures, PROC REPORT has the ability to modify values within a column, to insert lines of text into the report, to create columns, and to control the content of a column. Through compute blocks it is possible to use a number of SAS language elements, many of which can otherwise only be used in the DATA STEP. While powerful, the compute block can also be complex and potentially confusing. This tutorial introduces basic compute block concepts, statements, and usages. It discusses a few of the issues that tend to cause folks consternation when first learning how to use the compute block in PROC REPORT. This paper is being presented in conjunction with the Tutorial PROC REPORT: Compute Block Basics -Part I Tutorial (Paper 031-2008). Consult that paper for additional details |
proc report, proc step, class variable, put statement, binary variable | source | 18 |
| 170 | PROC SQL for DATA Step Die-Hards | Christianna S. Williams | PROC SQL can be rather intimidating for those who have learned SAS data management techniques using exclusively the DATA STEP. However, when it comes to data manipulati on, SAS often provides more than one method to achieve the same result, and SQL provides another valuable tool to have in one's repertoire. Further, Structured Query Language is im plemented in many widely used relational database systems with which SAS may interface, so it is a worthwhile skill to have from that perspective as well. This paper will present a series of increasingly complex examples and hands- on exercises. In each case I will demonstrate the DATA STEP method with which users are probably already familia r, followed by SQL code that will accomplish the same data manipulation |
proc sql, proc step, create table, order by, group by, inner join, where statement, filtering, subsetting if, standard deviation, proc means, by group processing, data governance, outlier | source | 17 |
| 171 | PROC TABULATE and the Neat Things You Can Do with It | Wendi L. Wright | This paper starts with an introduction to PROC TABU LATE . It looks at the basic syntax, and then builds on this syntax by using examples on how to produce one-, two-, and three-dimensional tables using the TABLE statement. Some of the examples cover how to choose statistics for the table, labeling variables and statistics, how to add totals and subtotals, wo rking with percents and missing data, and how to cl ean up the table. The presentation then shows several examples using the ODS STYLE= option in PROC TABULATE to customize tables and improve their attractiveness. This option is versatile and, depending on where th e option is used, has the ability to justify cells or row and column headings, change colors for both th e foreground and background of the table, modify bord ers, add a flyover text box in ODS HTML, or add GIF figures to the row or column headings |
proc tabulate, proc step, class variable, proc means, missing value | source | 17 |
| 172 | Put Your Customers on the Map: Integrating SAS/GRAPH and Google Earth | Daniel Kuiper, Koen Vyverman |
Ever fancied creating a Google Earth map from SAS data? Or, conversely, loading Google Earth placemarks into a SAS data set? We propose an XML-based interface between SAS and Google Earth, allowing easy exchange of data between the two applications. We show how a folder of Google Earth placemarks can be plotted on a SAS/GRAPH map by means of an XML Map created with SAS XML Mapper. Going the other way, we transform a SAS/GRAPH customer distribution plot into an interactive Google Earth satellite view |
proc step, dataset, libname engine, proc gmap, data cleaning | source | 20 |
| 173 | Quick Windows Batches to Control SAS Programs Running Under Windows and UNIX | Stanislaw Furdal | Very often programmers use Windows operating system and UNIX system on a server to submit their programs. For such programmers it is convenient sometimes (for example because of Windows Microsoft Office usage in ad- hoc reporting departments) to build a Windows batch job and control submitted programs in Windows environment. The paper presents how to build quickly Windows batches to execute programs under Windows and/or UNIX with the focus how to control execution errors in only Windows environment. The SAS/CONNECT is applied to submit programs running under UNIX. Both an included code technique and an approach with SYSTASK will be presented. The advantage of using SYSTASK against the included code will be discussed. Some interesting facts about SAS program errors will be presented. Also the differences between calling Windows commands from inside a program and from a batch file will be analyzed |
sysrc, batch job, macro variable, proc step, proc upload | source | 5 |
| 174 | Raising the Bar in Generating Bar Charts and More: A Push-of-the-Button Approach in SAS | Rita Tsang | It is cliché, nonetheless true, that we all want SAS programs that are as easy to use as a push-of-a-button. This holds especially true for generating SAS graphics, like bar charts, scatter plots, line plots, and Kaplan-Meier plots. This paper will introduce a graph macro that can generate a variety of SAS graphical displays by inputting simple graphical attributes, such as the input data set and the axis variables | scatter plot, user-defined format, data visualization, bar chart, line chart, macro call, regression analysis, macro parameter, probability distribution, proc gplot, %if-%then-%else | source | 15 |
| 175 | Range Formats Made Easy A CreateRangeFormat Custom Task for SAS Enterprise Guide | Petr Hustak | SAS formats are often used on numeric variables to assign discrete labels to ranges of values such as "below 20" or "20-40". SAS Enterprise Guide offers the "Create Format" task, which lets you define ranges and ass ign labels to these ranges. However building range formats manual ly can be very laborious. This custom task for SAS Enterprise Guide creates range formats automatically for multi ple variables based on their value distributions | sas enterprise guide, proc freq, numeric variable, outlier, character variable, out=, sample | source | 9 |
| 176 | Reinventing a Legacy System with SAS, the Web, and OLAP Reporting | Andrew P. Ford, Shiva Srinivasan, Troy B. Wolfe |
Generation adequacy calculations and assessments hav e been used at PJM since the early 1970s. The models and calculations are derived from statistical va lues, based on years of hist oric performance data. The applications implement probability theory to predict fu ture PJM generation reserve requirements. Recently, the legacy systems based on Fortran and rudiment ary database systems have been implemented using SAS and Java web applications. This paper describes our exper ience in inventing new ways to implement the old legacy capabilities using new SAS code, SAS Tables, web interface and SAS Integration Technologies. Topics discussed include: Measurement of correct calculations Measuring code performance; arrays and modular design SAS Tables and Database Design of the web interface; interaction of the web interface and SAS Integration Technologies Use of Futrix OLAP reporting in the process. Coordinated Maintenance and adhering to Standards | macro definition, macro variable, sas enterprise guide, dataset, excel, data cleaning | source | 12 |
| 177 | Reliability and Validity Testing using SAS/STAT | Andrea Roofe | The paper presents the methodology used to develop and validate an instrument that will identify the differences between virtual and traditional teams based on aspects of leadership and gr oup dynamics. We conducted the analysis using SAS/STAT. The instrument was determi ned to be reliable (overall al pha=0.90, n=174) and offered very good discriminant and predictive ability. One may adapt the code to perform similar analyses for other measures of natural and behavioral phenomenon. Both PROC DISCRIM and PROC LOGISTIC yielded the same results. This paper represents an update of the paper submitted to SESUG 2007. The underlying theoretical framework and research instrument were subm itted as a separate paper to the 2nd International Conference of Globally Distributed Work, in Bangalore, India |
discriminant analysis, logistic distribution, logistic regression, factor analysis, proc step, regression analysis, likelihood function, maximum likelihood estimation, proc discrim, proc logistic, response variable, sas enterprise guide | source | 8 |
| 178 | Return of the Codes: SAS', Windows', and Your's | Mark Tabladillo | Robust applications engage in the give-and-take discussion between commands and return codes. This presentation encourages applications developers to implement comprehensive return code processing. This paper presents three distinct categories. First, we consider return codes from SAS. Second, we consider return codes from the Windows (as an example operating system). Third, we discuss development principles for proactively writing your own return messages. The examples draw from SAS/AF and Windows, and affect all SAS applications development (including robust SAS Macro development). This paper introduces the rich conversation an application can and should have with its environment. Special attention focuses on error messages and recovering gracefully from unexpected or unintentional results |
sysrc, put statement | source | 10 |
| 179 | Revisiting DDE: An Updated Macro for Exporting SAS into Custom-Formatted Excel Spreadsheets: Part I - Usage and Examples | Nathaniel Derby | There are a number of ways to export data from SAS R⃝ into Microsoft R⃝ EXCEL R⃝. However, very few allow for exporting into custom-formatted spreadsheets such as those demanded for specific reports, in which explicit attributes such as font sizes and column widths are required. T raditionally , Dynamic Data Exchange (DDE) was the only way to do this. Now there are newer methods for this which are considered superior, and DDE is thought to be obsolete. Part I ("Usage and Examples") argues that DDE is in fact far from obsolete, that it outperforms the newer methods in some cases that often arise in practice. Furthermore, Parts I and II offer an accessible, flexible and modifiable macro which exports data from SAS into custom-formatted EXCEL using DDE. The macro extends the functionality of a previously published macro and addresses some criticisms of DDE in general. Using this macro requires no knowledge of DDE programming and thus brings the full power of DDE to any PC SAS user |
excel, macro variable | source | 11 |
| 180 | Revisiting DDE: An Updated Macro for Exporting SAS into Custom-Formatted Excel Spreadsheets: Part II - Programming Details | Nathaniel Derby | There are a number of ways to export data from SAS R⃝ into Microsoft R⃝ EXCEL R⃝. However, very few allow for exporting into custom-formatted spreadsheets such as those demanded for specific reports, in which explicit attributes such as font sizes and column widths are required. T raditionally , Dynamic Data Exchange (DDE) was the only way to do this. Now there are newer methods for this which are considered superior, and DDE is thought to be obsolete. Part I ("Usage and Examples") argues that DDE is in fact far from obsolete, that it outperforms the newer methods in some cases that often arise in practice. Furthermore, Parts I and II offer an accessible, flexible and modifiable macro which exports data from SAS into custom-formatted EXCEL using DDE. The macro extends the functionality of a previously published macro and addresses some criticisms of DDE in general. Using this macro requires no knowledge of DDE programming and thus brings the full power of DDE to any PC SAS user |
excel, macro definition, proc sql, macro variable, %if-%then-%else | source | 10 |
| 181 | Rich Internet Applications Using SAS/IntrNet and Microsoft Silverlight | Alan K. Churchill, Donald J. Henderson |
As the Web moves into the next phase of its existence, the old static world of Web technology must change. The original concept behind the Web was a static one for displaying documents, yet slowly interactivity crept into Web applications. After a number of years, the classic Web of HTML/JavaScript began to show a lot of signs of stress as those technologies aged and browsers changed. Users were impacted if they upgraded or changed browsers. Behind the scenes, though, Web developers were significantly impacted by confusing coding guidelines as well as having to test continually on multiple browsers and versions. Additionally, the toolsets for developing web applications were hard to use especially for debugging. Web 2.0 is different. Web 2.0 will have established frameworks for building applications and will use professional development platforms with robust debugging and testing support | business intelligence, sas 9, sas programmer | source | 7 |
| 182 | SAS Certification: Are You Ready to Put Your SAS Skills to the Test? | Dawn Hopper | How do your SAS skills stack up to the competition? With an ever-increasing demand for SAS professionals worldwide, the ability to validate your knowledge with global benchmarks is a necessity. The SAS Global Certification Program offers benchmarks for all SAS users to validate their expertise within programming, data warehousing, and predictive modeling. This paper will focus on how SAS exams are developed, exam topics, exam preparation tools, and a review of a few sample SAS exam questions and answers | data mining, sample, sas programming | source | 9 |
| 183 | SAS for Real-Time Applications | Paul Kent, Bryan Wolfe, Daniel Jahn, James Carroll, Dan Dotson |
The SAS language is well suited for expressing program logic; people have been using it for over 30 years. There are many applications for building predictive models and then deploying these models to provide scores "on demand" as integrated components in a larger system. The paper describes and explores several patterns for using SAS in a real-time or near-real-time context, and describes the performa nce characteristics of each pattern. 1. Stored Processes; 2. Web Services; 3. Raw Sockets; 4. Message Queues | web service, business intelligence, proc step, sas base, credit card, macro definition, autocall macro, data validation rules, macro variable, sas enterprise guide | source | 17 |
| 184 | SAS Graphics on ODS 9.2 Performance-Enhancing Steroids | Daniel O'Connor | In the midst of performance-enhancing drug scandals in professional sports, you would think that SAS graphics on ODS 9.2 performance-enhancing steroids would be a bad thing. That is until you experienced the ability to customize professional-looking graphics in seconds with a variety of appearances. ODS graphical style enhancements provide advanced capabilities to unleash your creativity without spending endless hours manipulating options. Choose from a list of predefined styles, or create your own to match your corporate theme. ODS styles are both customizable and extendable, and they provide a powerful way to bring your content to life. Explore these new features in HTML, PDF, RTF, and PostScript documents. Astonish your customers and amaze yourself with SAS 9.2 ODS enhancements for SAS graphics |
file statement, options statement, sas base, catalog entry, data science | source | 18 |
| 185 | SAS Graphs for a BlackBerry, an iPhone, or Other Small E-mail Screen: Extreme SAS/GRAPH and the Necessity and Power of Simplicity | LeRoy Bessler | Delivery of a readable graph to a BlackBerry, an iPhone, or any small screen demands a simple design. For over twenty years, I have been advocating for minimalist graphic design to focus on the message, not the media. I have demonstrated the power of simplicity by stripping out traditional graphic presentation paraphernalia while making communication-effective use of SAS and SAS/GRAPH. This paper shows you how to provide not only visual indication of size or trend for quick and easy inference, but also precise numbers for reliable inference. You can manually attach the graphs to an email message, or you can make SAS programmatically email the graphs for you |
if-then-else, proc gchart, proc step, macro definition | source | 16 |
| 186 | SAS Grid 101: How It Can Modernize Your Existing SAS Environment | Cheryl Doninger, Glenn Horton |
Grid computing promises many benefits, including improved performance of applications, higher resource utilization, lower cost of ownership, and flexibility for your IT infrastructure. Many of you are evaluating grid computing to assess its relevance and value for your organization. This paper helps you by addressing two topics, "What business problems does SAS Grid Computing solve?" and "Show me the code." We describe many of the business issues that can be addressed by SAS Grid Computing, as well as provide code examples of how to implement SAS applications on the grid. Learn how you can use SAS Grid Computing to modernize your existing SAS environment and add new value to your existing applications with little or no change | sas grid, batch job, sas enterprise guide, sas management console, grid computing, data mining, resource allocation, macro variable, parallel processing, sas batch | source | 13 |
| 187 | SAS Integration Technologies, UNIX and Visual Basic .Net Integration Procedure | Antoine Chevrette | For years, the Survey of Employment, Payrolls and Hours (SEPH) Section of Statistics Canada's Labour Statistics Division has been using UNIX servers to meet the needs of its surveys and its clients. Because of the complexity of processing the data, using SAS on a UNIX server was considered to be the best choice to speed up data manipulation. To date, SAS/AF has been used to develop the editing and process management graphical user interfaces (GUIs). Over the years, however, we have received increasingly complex requests for data analysis and editing GUIs. Today, the task of providing our clients with high-quality products that satisfy their requirements is even more challenging. The UNIX version of SAS/AF offers a very limited set of tools for building complex GUIs. Consequently, other ways of meeting the Division's operational requirements have been explored. The PC version of SAS/AF was tested, and although it is more flexible than the UNIX version, it too has limited capabilities |
excel, record count, dataset | source | 14 |
| 188 | SAS Macro: Beyond the Basics | Stephen R. Philp | The SAS macro facility has been an essential part of the SAS programmer's toolkit for many years. Its continued use is a testament to its relevance and power. With each new release of SAS software, macros continue to be arguably the easiest way to create data-driven code generation. The intended audience for this paper includes any SAS programmer who writes macros or works with macros that are written by others. The following topics will be discussed: Review of macro timing the %SYSFUNC macro function (avoiding the DATA STEP) macro expressions global and local symbol tables debugging creating and using macro libraries |
macro variable, symbol table, macro definition, macro function, global symbol table, local symbol table, macro quoting function, autocall macro, data step, decimal, macro facility, call symput, macro put, macro loop, %if-%then-%else, proc sql, stored macro | source | 17 |
| 189 | SAS ODS Technology for Today's Decision Makers | Sunil Kumar Gupta | Have you ever wondered why there has been so much excitement about ODS ever since it was introduced? How does ODS significantly enhance the presentation quality of reports and create files that were never before possible from SAS? Have you ever thought about how ODS can directly improve your daily activities and what it actually has to offer you as a programmer, statistician or manager? If you have ever had any of these questions about ODS, then this presentation is for you because it provides something for everyone at all levels. As a programmer, you can now create most any file types directly from SAS. In addition, the level of control and flexibility to format the output enables a higher degree of customization. As a statistician, you will want to take advantage of ODS for more efficient data analysis. The tools available in ODS facilitate multiple iterations of an analysis and ease of locating significant results |
proc step, proc tabulate, proc print, excel, proc report, macro variable | source | 15 |
| 190 | SAS Performance Monitoring: A Deeper Discussion | Tony Brown | SAS includes a large family of products and solutions, each with varying performance paradigms and machine-resource utilization patterns. Large data scales, intensive analytic procedures, and server consolidations that place mixed workloads on shared server and storage can result in occasional performance issues. In my previous SAS white paper, "Solving SAS Performance Problems: Employing Host Based Tools," I detailed the role of basic host-provided performance monitors, used in conjunction with SAS logs, to diagnose and solve SAS performance problems. In this paper, I continue with that approach by describing the use of easy-to-use tools such as nmon and perfmon, investigate the most common causes of performance problems, and suggest what to look for in monitors first. This paper presents two case-studies that used actual monitors and interprets their findings | proc iml, cpu time, sas log, proc step, excel | source | 25 |
| 191 | SAS Scripting of a Production Database into an Open Test Environment | Sigurd W. Hermansen, Himanshi Singh, Laura Hrycyk |
Inventing test and demonstration 'use case' data consumes more and more time and effort as complex Web application systems move into production. Databases supporting production systems accumulate richer and more realistic collection of data than testers could ever invent, yet using copies of production databases for testing could expose confidential information to a wider audience. SAS/BASE Version 9.13 scripts (SAS programs) with SAS/ACCESS (OLEdb, DB2, Oracle, etc.) can not only script the copying of databases, but they can also substitute fake names and other fake identifying information for analogous data in production databases. This method creates a rich and realistic test, demo, or training environment that does not expose confidential and private information to testers and trainees. This paper features SAS Macros that shorten the repetitive process of referencing corresponding base relations (tables) in two database schema |
proc sql, create table, key, foreign key, macro definition, data validation rules, dataset, proc step | source | 5 |
| 192 | SAS Stat Studio: A Programming Environment for High-End Data Analysts | Rick Wicklin | bootstrap, time series analysis, scatter plot, series plot, proc princomp, sample | source | 19 | |
| 193 | SAS Talking via the Java Object Interface | Magnus Mengelbier | The introduction of industry standards and the constant optimization of in-house processing are establishing the critical nature of fast, efficient, simple and integrated tools. The Java Object interface in SAS 9.1.3 opens the path for new integration possibilities, which may simplify and provide greater access to integrated systems. We consider examples of how the Java Object interface can be extended beyond simple message traffic to sending and receiving data volumes of varying size. Common Java application features are also considered as we discuss using the Java Object Interface to send and receive streams of data over multiple SAS DATA steps and programs | data step, connection string, sysrc | source | 10 |
| 194 | SAS Web Report Studio Basics | Angela Hall, Brian O. Miles |
All steps necessary to create a report will be covered in the hands on workshop. First, attendees will be introduced to SAS Information Maps created from SAS Information Map Studio, which are the only data available to utilize within a report. New measures not currently existing within the SAS Information Map will then be created within a particular report. Report formats will be covered, including header and footer generation and layout. Attendees will also learn how to add graphs and tables as well as arrange them on the screen. This class is geared to users with little to no SAS Web Report Studio experience | proc sql, sas management console | source | 17 |
| 195 | SAS Web Report Studio Tips and Techniques | Keith Myers, Madelyn Bythell |
SAS Web Report Studio is a rich Web-based reporting tool with a great deal of functionality built in over the course of three major releases. You'll learn about techniques and creative solutions to answer common report challenges that experienced users know and rely on, helping you to more effectively develop your reports | by group processing, sample | source | 13 |
| 196 | SAS XML Mapper to the Rescue | Carol A. Martell | Have you ever been given XML data without the requisite Document Type Definition (DTD) or XML Schema describing the data? Certain XML formats are supported in SAS through the XMLTYPE= option in the XML LIBNAME statement. If your data conforms to one of the supported formats, then you're in luck. If not, you have a problem. The tags surrounding each data item can seduce an accomplished programmer into writing a DATA STEP to read the data. While this is certainly possible, it isn't necessary. The SAS XML Mapper is a separate Java application from SAS that can, among other things, create a custom SAS XMLMap to allow you to read the unsupported XML. The SAS XMLMap is used by the XML engine to interpret an XML document. The XML LIBNAME engine becomes your friend again when you use the XMLMAP= option to point to your new XMLMap file |
libname statement, dataset | source | 8 |
| 197 | SAS/OR: Introducing SAS Simulation Studio | Edward P. Hughes, Hong Chen, Emily Lada, Phil Meanor |
Discrete event simulation is used to model, study, plan, and improve systems in which random events play a dominant role. These systems are often driven by complicated mathematical and logical relationships, making it impossible to derive an analytical solution. The journal OR/MS Today cites simulation software as one of the most widely used tools in operations research, due in part to its applicability in a wide variety of fields including manufacturing, customer service, and health care. SAS Simulation Studio, experimental in SAS/OR 9.2, is a new Java-based application for modeling and analyzing systems through the use of discrete event simulation. Its graphical user interface requires no programming and provides a full set of tools for building, executing, and analyzing the results of discrete event simulation models |
exponential distribution, sample | source | 10 |
| 198 | SAS/OR: Rigorous Constrained Optimized Binning for Credit Scoring | Ivan Oliveira, Susan Haller, Manoj Chari |
Credit scoring can be defined as a statistical modeling technique used to assign risk to credit applicants or to existing credit accounts. We present a new process that enhances the formulation and solution approach in the SAS system during the so-called "binning" phase by exploiting SAS/OR optimization capabilities to approach the problem from a mathematically rigorous perspective. Usually , attributes such as age, income, and so on, are segmented into grouping intervals, with the aim of creating bins for scorecards that maximize correlation with these attributes. A critical aspect of the binning process is the enforcement of various constraints, such as minimum/maximum number of bins, minimum/maximum bin widths, and maximum number of observations per bin. These requirements significantly complicate the binning process. Our approach is rigorous in the sense that global linear constraints are implemented exactly with the use of mixed-integer linear programming |
credit scoring, data mining | source | 10 |
| 199 | SAS: The Ultimate Dashboard Machine | Jeff Wright | Leaders want to align their organizations around strategic goals and metrics. Knowledge workers need ready access to data about what is happening right now. IT seeks to make information available and useful to the business, and yet observe appropriate security policies. For many organizations, all of these goals are coming together in a single focal point: dashboards. SAS is known for its advanced analytics and broad suite of business intelligence offerings, so it should be no surprise that there is more than one way to implement a dashboard initiative using SAS technologies. This paper will begin by reviewing the objectives that organizations normally have in creating dashboards. Next, several best practices for effective visual display of information on dashboards will be presented. Finally, the paper will describe a variety of techniques for creating dashboards using SAS, including the new BI Dashboard tool, SAS/GRAPH, custom web development, and the SAS Portal |
business intelligence, key performance indicator | source | 11 |
| 200 | Save Time! Merge SAS Files to Themselves | Ann White, Sally Williams |
This is a useful piece of code demonstrating the use of merging a SAS file to it self using the WHERE statement and RENAME in order to re-order data for analysis. Why would you want to merge a file to itself? Beca use when pulling back data from Oracl e which is n ot in the format you want, ru nning this simple merge allows you to order the da ta into your de sired format wi thout use of the more time -consuming PROC TRANSPOSE. The examples included in this paper demonstrates a significant time saving. The example given is based on dates, however this is a useful piece of code which will have a number of applications and is not restricted by industry. The examples used i n thi s document were done using PC SAS versio n 8.2. The intended audience for this paper is all SAS programmers from beginner to advanced who extract dat a from a database. For the p urposes of this document the method of merging a d ataset to itself will be called 'self-merge' |
proc transpose, proc step, balance, cpu time | source | 5 |
| 201 | Sending E-mail from the DATA Step | Erik W. Tilanus | The DATA STEP can write information to virtually any destination. You are probably familiar with writing to SAS data sets and external files. But email can also function as a destination. This paper will discuss how to configure the email features in the system options. Then we will proceed with sending a simple email from the DATA STEP, with or without attachments. Next we will use extensions to the standard PUT statement that support the email facility to send personalized mass-mailings. Finally we will show how to send procedure output that has been created using ODS |
put statement, file statement, options statement, filename statement | source | 8 |
| 202 | SET, MERGE and beyond. | Erik W. Tilanus | You know the SET statement and the MERGE statement. Is there more to it? Well, yeah there are a few more tricks to know. We will discuss random access to SAS data sets, based on observation numbers or indices and we will create a "look ahead" to see what is in the next observation (more or less the opposite of the LAG function). We will explain how to prevent the well-known note in the SAS Log: "MERGE statement has more than one data set with repeats of BY values". Then it is time to move on to the UPDATE and MODIFY statements. We will discuss their features and the differences between these statements and SET and MERGE |
set statement, modify statement, by group processing, merge statement, master data management, transaction data, update statement, dataset, point= option, output, end= option, in= option, proc step, missing value, sas log | source | 15 |
| 203 | Simple %str(ER)ROR Checking in Macros | Magnus Mengelbier | Custom and system SAS macros are toolsets that are intended to contribute to daily activities. Many macros have evolved through personal or project libraries from that simple shortcut to a de facto standard. The amount of error chasing can be exceedingly cryptic and unnecessarily painful as that input parameter or data set is not just as intended. We consider very simple techniques and examples for error checks that are quick and easy to implement in any SAS macro | error message, macro quoting function, %if-%then-%else, macro put, macro definition, options statement, macro function, macro variable, work library, macro flow control, libname statement, put statement, flag variable, goto, macro parameter, return, proc step, proc sql, data step | source | 16 |
| 204 | Six Cool Things You Can Do In Display Manager | Jenine Milum | Many people use Display Manager but don't realize how much work it can actually do for you. Display Manager can help you research data issues, write code for you, transform data to and from SAS, and even some things you probably shouldn't use. Learn a few tips to make your Display Manager experience more productive | dataset, proc step | source | 7 |
| 205 | Smoke and Mirrors!!! Come See How the _INFILE_ Automatic Variable and SHAREBUFFERS Infile Option Can Speed Up Your Flat File Text-Processing Throughput Speed | William E. Benjamin Jr. | Processing speed for small files is never really a problem; one eye blink looks and feels much the same as two or three blinks of the eye. With today's computer speeds any machine will do a lot of work in three blinks of the eye. However, when processing hundreds of thousands, or millions of records blinks can become pauses, yawns, naps, or even an over-night sleepover. When a Base SAS DATA STEP reads in text files and writes out nearly the same file the work proceeds as follows; (a) read input file data into input buffer, (b) move data values to DATA STEP variables process data variables, (d) move data to output buffer, (e) write output file from output buffer. SAS reads your source code every time you run the code and builds the "current" processing steps (unless the code is compiled separately first) then executes them. By packing more work into each instruction less time is wasted between instructions, this means more work in less real time |
cpu time, automatic variable, dataset, data step, txt, flat file | source | 10 |
| 206 | SmryEachVar: A Data-Review Routine for All Data Sets in a Libref | Ronald J. Fehd | proc step, macro variable, proc freq, call execute, txt, proc append, proc univariate, proc sql, attrib statement | source | 24 | |
| 207 | Software-Intelligent Application Development: Reliability, Reusability, Extendability, and Maintainability for Strong, Smart Systems in an Ever-Changing World | LeRoy Bessler | Applications designed and built with Software Intelligence (SI) are robust, made of reusable parts, and easy and quick to extend or maintain. With dynamically auto-customizing code, such "living" applications go beyond change tolerance to change amenability, and further-to change implementation. They cope with ever-changing user or management preferences, run-dates, data dates, and data content. Common types of changes in report/graph content, format, and function are handled without reprogramming. If business rules do not change, an SI application can have eternal life. Whether you are a new or experienced SAS programmer, or an analytically oriented user who does not think of herself or himself as a programmer at all, this paper-which assumes no advanced SAS knowledge-shows you how to a pply principles of Software-Intelligent Application Development, which are really programming-language-dependent, to make your use of SAS safe, simple, and speedy | macro facility, macro definition, macro variable | source | 17 |
| 208 | Standard Graph Templates | Philip R. Holland | Outsourced tables and listings can be fairly easily defined using table shells to explain how clinical trials data should be tabulated, and ODS templates supplied to control the basic appearance of the output. Outsourced graphs, particularly if they have been heavily customized, are not so easy to define on paper, and even more difficult to control, as the SAS/GRAPH software can behave very differently on different platforms and devices. Fortunately the use of graph templates will become available when production ODS Statistical Graphics and Graphics Template Language (GTL) is introduced in SAS 9.2, but it is still possible to create useful graph templates now in SAS 9.1 using the experimental ODS Statistical Graphics |
proc calis, proc step, proc template | source | 8 |
| 209 | Standard Management-Approved Report Templates: The SMART System | Gary S. Stevens | In the modern pharmaceutical business arena it is of paramount importance that any new drug or compound is brought to the market as soon as possible. Physicians and patients clamor for additional, more efficacious and safe treatments to meet the needs across a wide range of therapeutic areas. In response, pharmaceutical and biotechnology companies invest vast sums of money into research and development of new therapeutics. To ensure the success of a drug or compound this investment must be recouped and profit margins met in an extremely competitive market before therapeutic patents expire. Therefore it is essential, for the success of a pharmaceutical product to reach patients, that the clinical trial process is as quick and efficient as possible | adverse events, adam dataset, in=, macro variable, concomitant medications, cdisc | source | 7 |
| 210 | Start Improving Your Data Quality with %FreqAll | Toby Dunn | As the age of business computing matures, the adage "garbage in garbage out" is truer than ever before. A 2002 global study of businesses by Price Waterhouse Coopers concluded that poor data quality cost over $1.4 billion dollars and caused roughly one-third of the companies to either delay or scrap a project. In today's fast-paced business world, there has never been a greater need for closer attention to the quality of data. In modern global commerce, questions need to be answered immediately and with no mistakes. The first step in understanding and improving the quality of data requires knowledge of the composition of the tables within a database. What follows is an effective yet simple macro called %FreqAll, designed to deliver a fast and easy first glance at the data values and quality | proc freq, frequency analysis | source | 10 |
| 211 | Starting Out with SAS Enterprise Guide | Peter R. Bennett | SAS Enterprise Guide is an excellent entry point to the SAS System for users who prefer a point-and-click environment over working with the complexities of program code. In this paper, we look at some of the fundamental concepts and terminology (for example, projects, tasks, and property sheets), and then we concentrate on how to access, manage, and analyze data using SAS Enterprise Guide. Finally we look at ways in which we can share the | sas enterprise guide, bar chart, dataset, excel, libname statement | source | 8 |
| 212 | Steps to Success with the SAS Output Delivery System | Andrew H. Karp | Implementation of the Output Delivery System (ODS) has dramatically changed how SAS users can work with their output. This paper provides an overview of how ODS "works" within the SAS System and how you can use it to take your SAS output and "deliver" it to "destinations" such as a PDF, RTF or HTML file. This paper is designed to equip newer users of SAS (or experienced SAS users new to the Output Delivery System) to get started apply ODS functionalities in their reports and projects. After mastering the concepts and techniques discussed in this paper you will be able, with just a few extra commands in your programs, to take your POLDO (Plain Old Listing Destination Output) and convert in to visually-appealing reports without a lot of manual cutting-and-pasting or manual re-entry of SAS-generated output in to other file formats |
proc step, proc freq, file statement, output delivery system, sas output, proc print, dataset, output, proc report, sas base, proc template, select, proc logistic, sas programming, logistic distribution | source | 15 |
| 213 | Structural Equation Modeling and Path Analysis Using PROC TCALIS in SAS 9.2 | Yiu-Fai Yung | The TCALIS procedure, which is new and experimental in SAS 9.2, is a major enhancement of the CALIS procedure. Both the TCALIS and CALIS procedures provide statistical tools for analyzing structural equations and related models, although the new features are available only in PROC TCALIS. In this paper, practical examples are used to illustrate some PROC TCALIS features: the P A TH modeling language, customization of the fit summary table, effects partitioning, the multiple-group model, analysis of mean structures, and simultaneous tests of parametric functions. Other important features of PROC TCALIS are also described |
proc step, covariance, proc calis, confidence interval, latent variable, estimate, goodness of fit, akaike information criterion, sbc, regression analysis | source | 20 |
| 214 | Stupid Human Tricks with PROC SURVEYSELECT | David L. Cassell | Surprisingly, PROC SURVEYSELECT has features which make it useful for some basic, non-statistical, data management tasks. We will cover three simple tasks which may otherwise require coding and/or macro programming.. unless PROC SURVEYSELECT resides in your bag of tricks. We show how to: create a data set by stacking a starting file over and over; sort a data set in a complex order (a 'serpentine' sort); and split a data set into two pieces randomly |
proc step, proc surveyselect, sample, proc append, proc sort, macro variable, data cleaning, macro loop | source | 5 |
| 215 | Supporting SAS In a Research Organization | Michael A. Raithel | Westat utilizes SAS software as a core capability for providing government and private industry clients with analysis and characterization of survey data. Staff programmers, analysts, and statisticians use SAS to manage, store and analyze client data; as well as to produce tabulations, reports, graphs and summary statistics. Because SAS is so widely used at Westat, the organization has built a comprehensive infrastructure to support its deployment and use. This paper provides an overview of Westat's SAS support infrastructure, which supplies resources that are aimed at educating staff, strengthening their SAS skills, providing SAS technical support, and keeping the staff on the cutting edge of SAS programming techniques | sas programming, macro definition | source | 9 |
| 216 | Survival Data Mining: Treatment of Chronic Illness | Patricia B. Cerrito, John C. Cerrito |
Patients with chronic illness often have many medications available for treatment. Medications are changed, and added when the patient experiences side effects or the disease progresses so that a medication is no longer effective. It is the purpose of this project to use survival data mining techniques to investigate prescribed medications for patients with Type II diabetes. We examine the Medical Expenditure Panel Survey for the years 2000-2004 and validate the results using a second database for a cohort of patients with diabetes. We preprocess the data by filtering to medications listed for the ICD9 code for diabetes. Then we remove medications not specifically related to glucose control, eliminating misspellings and name variations. In the MEPS database, this leaves a total of 73,000 prescriptions. We use sequential market basket analysis to examine combinations of medications used | data mining, market basket analysis, survival analysis | source | 19 |
| 217 | Tabbing Through ODS II | Haibin Shu | The authors present a significant improvement to the approach of aligning multiple variables inside a cell by applying tabs to the ODS reporting process. Consequently the enhanced method is able to integrate seamlessly with inline formatting and greatly improving the ability for data presentation |
raw data, missing value | source | 3 |
| 218 | Tailored Online Solutions to Meet the Clients' Data Analysis Needs Using SAS/IntrNet | Mila Chiflikyan | menu-driven and contained a series of preprogrammed analyses that were accessed through drop-down menus. The PONDER system was decommissioned only because of a Y2K issue on its host mainframe. RTI International (RTI) took advantage of the advancements made in available technologies to create a tool to enable researchers and policymakers to process data and view the results in a context-appropriate format for the CDC PRAMS project. PRAMS (Pregnancy Risk Assessment Monitoring System) monitors selected maternal experiences and behaviors that occur before and during pregnancy and during a child's early infancy. RTI developed an online analysis tool, PONDER (PRAMS On-Line Data for Epidemiologic Research), which presents analyses tailored to the research question and offers an intuitive point-and-click interface that encourages researchers and policymakers to use their existing data to plan and assess perinatal health programs | sample, macro loop, macro variable, %if-%then-%else, proc calis, macro definition, dataset, excel, sample size | source | 13 |
| 219 | Tailoring the use of SAS Enterprise Miner | Sascha Schubert | A growing number of SAS users with different goals and skill levels need access to data mining functionality. The new generation of SAS Enterprise Miner 5 and the SAS stored process facility provide an easy way to tailor data mining functionality to the user's needs. The flexible architecture of SAS Enterprise Miner and the integration of Enterprise Miner into the SAS Enterprise Intelligence architecture allow the product users to create data mining projects for interactive or batch execution and share projects with other users. The software's Extension facility allows users to build specific functions that are fully integrated into the Enterprise Miner workbench. Based on the integrated batch processing capabilities, model training and model scoring code can be easily extracted from SAS Enterprise Miner and integrated into the SAS Enterprise Intelligence Platform using the SAS stored process facility. For users of the | data mining, batch processing, correlation, macro variable, model training, proc corr, batch job | source | 14 |
| 220 | Talkin 'Bout Code Generation: Getting Animated with SAS and Excel | Ted Conway | You've probably seen how SAS can be used to write SAS code. So why not EXCEL code? Using SAS to generate EXCEL VBA code can make lighter work of your "Office" chores. It can also help you bridge those brief gaps between compatible releases of SAS, EXCEL and Windows, allowing you to exploit new MS-Office features while the folks in Cary address what the folks in Redmond have wrought. In this paper, SAS is used to generate the VBA code behind an animated EXCEL Chart that presents SAS data using some of the cool tricks available with the copy of EXCEL 2007 that's sitting on your new Vista Home Basic Edition PC |
excel, macro variable | source | 10 |
| 221 | Technology Solutions to Detect Fraud and Counter Other IT Risks | Eckhardt Kriel | This paper discuses the use of technology in the area of fraud detection. Using a number of case studies Eckhardt will discuss various techniques and technology solutions which he has used in the past. It is intended for: management, who has an obligation to certify financial information and the effectiveness of internal control over financial reporting or who has to meet other compliance or operational requirements and; auditors and investigators charged with the audits of financial information, value for money audits or forensic investigations. Since the collapse of Enron on December 2, 2001 and other corporate failures around the world, wide-ranging changes have been made to the regulatory environment of business. Corporate governance has become a common focus for many boards and audit committees | financial reporting, outlier, proc freq, sample, data science, internal audit | source | 12 |
| 222 | Text and Data Mining to Investigate Expenditures on Prescribed Medicines | Guoxin Tang | This Prescribed Medicines File from MEPS (Medical Exp enditure Panel Survey) provides detailed information on household-reported prescribed medicines for a nat ionally representative sample of the civilian, non- institutionalized population of the United States and c an be used to make estimates of prescribed medicine utilization and expenditures. For this study, we focused on the total cost, self-pay , Medicare cost, Medicaid cost and private insurance. It is the purpose of this study to determine the relationship between medication and patient condition, and to examine cost and patient condition in the analysis of these data. We use Text Miner to examine combinations of medications used in relation ship to patient therapeutics. In addition, we will use time series methods to investigate costs in relationship to patient therapeutics. The way to approach this purpose is to define the patient condit ion codes as a text string with the Text miner node | time series analysis, sas enterprise guide, data mining | source | 7 |
| 223 | The Application of a General List-Processing Macro in Combination Therapy | Zhongwen Huang, William Layton |
List is one of the common data structures that we use in our daily work. There are many solutions in SAS to deal with this problem. Most of them will require a series of macro functions to build a general list processing target. After that, we still need to write a special purpose macro for each different mission. This increases the code complexity. In this paper, we will present a general list processing macro widely used in our work. This list macro has the following characteristics: 1. Simplicity. Simple is the best and the macro only contains several statements. 2. Flexibility. The macro is powerful and can solve many problems. 3. Versatility. Only one macro function will be needed in different situations. No other sub-macro procedures need to be created. Finally we show the application of this macro in a Combination drug therapy program. Keyword: List macro; General list processing macro; Combination therapy | macro function, proc sql, proc step, create table, macro quoting function | source | 5 |
| 224 | The Art of Debugging | H. Ian Whitlock | Program bugs are a fact of life, yet I never met a programmer that did not believe his/her program was bug free. Bugs are almost always a surprise because the programmer thought one thing and the program another. You can even have a bug before the first line of code is written. Do you plan for bugs? Can you spot the symptoms of a bug? Can you locate the bug? Do you recreate it? Do you know the difference between the symptom and the problem? Do you know that even programs that work and produce correct results can have bugs? If you don't know the answer or answered no to any question, then you probably need a lesson in the gentle art of debugging. This talk is aimed at the beginning level SAS programmer, but it takes an expert to really foul up a program, so almost anyone interested in SAS may find something of interest. Although the examples come from using the SAS/BASE software under Windows, the ideas are general enough to be of interest for any platform and any SAS software product |
missing value, error message, by group processing, options statement, if-then-else, dataset, proc step, character variable, libname statement, merge statement, put statement, retain, input statement, macro definition | source | 20 |
| 225 | The Design, Development, and Implementation of a Control-Data Tracking and Analysis System for Immunoassays Using SAS/AF | How J. Tsao, Andrew McKeen, Roger French, Andrew S. Bascom, Chunwei J. Kuo, Khushroo E. Shroff |
The Early Phase Programs (EPP) group at Wyeth Vaccines Research carries out immunoassay development, qualification, validation, and hi gh throughput testing to support pre-clinical vaccine st udies and clinical trials. The tracking and analysis of all data collected from control sa mples that accompanies assay runs is a key function of the throughput operations. It allows routine surveillance of testing processes and assay performance and enables the laboratories to detect and investigate sources of process va riability. However, tracking control data in real time is difficult without the proper tools. A multidisciplinary team designed and implemented a new system to provide real time control data tracking. This system uses a SAS/AF interface integrated with other laboratory information systems, forming the main engine for data extraction, analysis, and reporting |
sample, proc step, dataset, macro variable, proc sql, data visualization, ods pdf, proc gplot, data science | source | 9 |
| 226 | The Devil Is in the Details: Styles, Tips, and Tricks That Make Your Microsoft Excel Output Look Great! | Eric A. Gebhart | The Microsoft EXCEL XP tagset has given us the ability to create nicely formatted output for EXCEL, but it's not perfect and it's not always easy to get those last details ironed out. The tagset has over 50 options, and can also be controlled by styles in numerous ways. This paper will show some of the best styles available as well as several tips and tricks to get your Microsoft EXCEL output looking just the way you want |
excel, proc print, proc step, proc report, ods excel, macro variable | source | 20 |
| 227 | The Early Warning Project: Prewarning and Avoiding Problems and Costly Downtime in Complex Industrial Processes | Torulf Mollestad, Frode Oplenskedal |
The goal and focus of the Early Warning Project has been to find early indicators of potential trouble or suboptimal performance of a complex industrial process. If such indicators are found, there may still be time to perform the appropriate actions in order to stabilise the process and avoid the problem. An alert service should pick up on a signal of upcoming trouble as early as possible, and maintain an "alert degree" which varies according to new evidence coming in. Such functionality will be more potent - and complex - than fixed value-based alert generation that are in abundance today. One test case will be presented, namely the performance of the low-pressure separator on ConocoPhillips' Ekofisk 2/4 J (EKOJ) platform in the North Sea. This is a highly complex process and there are a lot of influences that are not fully understood | response variable, time series analysis, association rules, data mining, correlation, imputation, proc freq, macro variable, proc princomp | source | 12 |
| 228 | The Enterprise Melting Pot (Part II) SAS BI The Plan versus Reality (Or, Dont Try This at Home, Kids) | Gail S. Davidson, Guinevere Mills |
The Decennial Census is one of the largest undertakings of the US government, trying to count everyone at least once. How is this undertaking planned and managed? Most people think the Census amalgamates huge amounts of demographic data; but in addition to the demographic data collected, there are huge amounts of management and operational data collected. This management data is used to prepare and plan for subsequent Censuses as well as day-to-day management of ongoing operations. Our challenge was to integrate and make this data available to the planning and management staffs for the 2010 Census. It was determined that SAS Business Intelligence provided the most robust solution for meeting our users needs. This paper discusses the planned implementation the SAS BI solution: the total solution from hardware and systems planning to training, production roll out and security | data warehouse, raw data | source | 6 |
| 229 | The Essentials of SAS Dates and Times | Derek P. Morgan | The first thing that you need to know is that SAS software stores dates and times as numbers. However, this is not the only thing that you need to know, and this presentation will give you a solid base for working with dates and times in SAS. It will also introduce you to functions and features that will enable you to manipulate your dates and times with surprising flexibility. This paper will also show you some of the possible pitfalls with dates (and times and datetimes) in your SAS code, and how to avoid them. We'll show how the SAS System handles dates and times through examples, and close with a discussion of EXCEL conversions |
sample, date variable, sysdate9, flat file, sysdate, excel, systime, error message, input statement, missing value, numeric variable, proc format, cpu time, time., proc step | source | 14 |
| 230 | The Evolution of SAS in Life Sciences Research and Development | David Handelsman | The widespread use of SAS in clinical trials data transformations, analysis, and FDA submissions is well-recognized throughout life sciences research companies. Industry meetings such as SAS Global Forum, PharmaSUG, and PhUSE provide prime examples of how loyal SAS users continue to push the envelope in terms of using SAS for these historic activities. SAS, however, can provide considerably more value to health and life sciences companies. To that end, SAS has implemented a new internal organization-the SAS Health and Life Sciences Global Practice-to lead the way regarding how SAS can provide value not based only on our historical successes, but across health and life sciences enterprises. The practice will serve the growing need for technology and solutions that will fuel the convergence of health care providers, health plans, and biopharmaceutical companies | clinical research, life sciences, clinical trial, data integration, data cleaning, clinical data, data governance, controlled terminology, data science, edc, quality control, web service, sample, cdisc | source | 10 |
| 231 | The Impact of Data Visualization in a Study of Chronic Disease Patients | Gabe Cano | A recent of study of chronic disease patients was sponsored by the University of Texas Health Science Center at San Antonio. Participants in the study wore a wrist monitor for 2 weeks. Information gathered by these devices included time and the patient's daily activity per minute. Before analysis began various hypotheses were established regarding patients in the study. Researchers planned to summarize the activity data and analyze possible connections to health care utilization, hypothesizing that certain patterns of activity could be identified which would predict future hospitalization. In a real world setting, clinicians with access to activity data would then have the ability to foresee, provide early treatment, and possibly prevent an expensive hospitalization. Research into these hypotheses began by taking the large amounts of activity data downloaded from the wrist monitors and converting them into a SAS data warehouse. Various steps were taken to clean and define valid data | proc means, %if-%then-%else | source | 9 |
| 232 | The Look: Conforms to Section 508, Looks Like PROC TABULATE | Blake R. Sanders, Mikhail Gruzdev |
It is possible to create HTML code that conforms with Section 508 requirements with very little trouble. You have to be able to dissect your data and realize the patterns in your tables | proc step, proc tabulate, proc print, proc means | source | 10 |
| 233 | The Path, The Whole Path, And Nothing But the Path, So Help Me Windows | Arthur L. Carpenter | Have you ever needed to determine a directory path dynamically? Have you needed to know the name of the currently executing program and where it resides? There are a number of tools available to the SAS programmer that can be used to determine path and location information. These tools range from common to obscure and from simple to complex and they utilize SAS Language functions, System Options, SASHELP views, DICTIONARY tables, and OS Environmental Variables. This presentation will take a survey of a number of these techniques for finding and determining path and location information. This information can be important for all levels of programmers, and you should be aware of these techniques even if you think that you will never need them | proc sql, dictionary tables, macro variable, macro definition, macro put, options statement | source | 8 |
| 234 | The Perfect Baby Name: One Dads Quest Using SAS | Chris Hemedinger | If you think that baby names and data analysis have nothing to do with one another, then you haven't read Freakonomics. When we were expecting my third daughter and were selecting her name, we had specific criteria in mind. This paper describes how I used SAS Enterprise Guide and data from the Social Security Administration to select a list of candidate names and how this helped us embark on the process with our eyes wide open | sas enterprise guide, line chart, full join | source | 7 |
| 235 | The SAS INFILE and FILE Statements | Steven J. First | One of the most flexible features of the SAS system, is its ability to read and write just about any kind of raw file. The INFILE and FILE statements are the interfaces that connect SAS programs to those external files so that INPUT and PUT can read and write data. These statements provide many options to make reading and writing simple to complex files in an easy way | file statement, input statement, sas log, infile statement, put statement, filename statement, _eof_, data step, list input, dataset, missing value, cards | source | 28 |
| 236 | The Sum of All Fears Or: So, You're the SAS Administrator? | Richard H. Phillips, Danny Grasse |
The SAS Intelligence Platform is a complex software environment, with many moving parts. Server side configuration and optimization, links to databases and aut hentication directories, web- based java applications, and securing access to these resources all play a part. The care and feeding of such a complex environment is far from trivial. We aim to share our experiences and perspectives of what it takes to administer the SAS 9 architecture along with real world examples of successful and unsuccessful efforts to do the same. Attendees will learn what skills need to be available to a SAS Administrator, as well as which skills may be redundant to a person in this role | sas administrator, sas programmer | source | 8 |
| 237 | The Use of Propensity Scores and Instrumental Variable Methods to Adjust For Treatment Selection Bias | R. Scott Leslie, Hassan Ghomrawi |
Observational studies that lack randomization of subjects into treatment groups must address selection bias to properly estimate the effect of treatment. This paper explores a propensity scoring (PS) method and instrumental variable (IV) method of controlling for treatment selection bias. Included is a discussion of the methods, the advantages and disadvantages of the two methods as well as a comparison of results when applied to a study that evaluates the effect of therapy regimen on medication adherence. The LOGISTIC procedure is used to create propensity scores and the QLIM procedure in SAS/ETS is used to conduct instrumental variable analysis |
propensity score, instrumental variables, response variable, proc logistic, estimate, logistic distribution, regression analysis, treatment effect | source | 8 |
| 238 | Three Weeks of Work in 5 Minutes: A Designed Solution for Automatic Reporting and Distribution | Danni Bayn Jr., Richard Koopmann Jr. |
This paper describes a program designed to automatically generate reports on End of Course evaluations and then email them to faculty. In addition to saving many hours of tedious labor by implementing an efficient 5-minute program, the delay of feedback was shortened considerably. This allows for the reports to be used more effectively. After describing the program, highlights and 'hiccups' to development are discussed | excel, raw data, proc step, macro definition, proc sql | source | 5 |
| 239 | Tips and Tricks for Creating Multi-Sheet Microsoft Excel Workbooks the Easy Way with SAS | Vincent DelGobbo | Transferring SAS data and analytical results between SAS and Microsoft EXCEL can be difficult, especially when SAS is not installed on a Windows platform. This paper discusses using the new XML support in Base SAS-9 software to create multi-sheet Microsoft EXCEL workbooks (versions 2002 and later). You will learn step-by-step techniques for quickly and easily creating attractive multi-sheet EXCEL workbooks that contain your SAS output, and also tips and tricks for working with the ExcelXP ODS tagset. Most importantly, the techniques that are presented in this paper can be used regardless of the platform on which SAS software is installed. You can even use them on a mainframe! The use of SAS server technology is also discussed. Although the title is similar to previous papers by this author, this paper contains new and revised material not previously presented |
excel, xls, proc print, by group processing, sas output, sas base, proc step, proc template, title statement, output delivery system, ods xml, macro definition | source | 19 |
| 240 | Tools of Miscalculation: Managing Missing Values with SAS | William C. Murphy | missing value, if-then-else, missing function, adverse events | source | 4 | |
| 241 | Try, Try Again: Replication-Based Variance Estimation Methods for Survey Data Analysis in SAS 9.2 | Anthony B. An, Pushpal K. Mukhopadhyay, Randall D. Tobias, Donna L. Watts |
Complex survey samples are constructed with selection schemes that affect the usual random assumptions, so SAS/ST A T software provides specialized procedures to analyze them: SURVEYMEANS, SURVEYFREQ, SUR- VEYREG, and SURVEYLOGISTIC for means, frequencies, regression, and logistic analysis, respectively . These pro- cedures all use the T aylor series expansion method for variance estimation, which is usually considered to be the "gold standard" when it is practical to compute. However, replication methods are also widely used in practice for variance estimation. Replication methods, such as the jackknife and balanced repeated replication (BRR), replace complex al- gebra with simple repeated analysis. They enable you to analyze the data without the original sample design, protecting survey security , and they ease the task of estimating variances for nonlinear quantities. With the release of SAS 9.2, the SAS/ST A T survey analysis procedures now also implement replication methods |
sample, proc step, proc calis, proc surveylogistic, regression analysis, dataset, health insurance, odds ratio, estimate, relative risk, label statement, proc surveyreg, missing value, proc surveymeans, sample size, proc surveyfreq, proc freq | source | 16 |
| 242 | Two-Stage Variable Clustering | Taiyeong Lee, David R. Duling, Song Liu, Dominique Latour |
In data mining, principal component analysis is a popular dimension reduction technique. It also provides a good remedy for the multicollinearity problem, but its interpretation of input space is not as good. To overcome the interpretation problem, principal components (cluster components) are obtained through variable clustering, which was implemented with PROC VARCLUS. The procedure uses oblique principal components analysis and binary iterative splits for variable clustering, and it provides non-orthogonal principal components. Even if this procedure sacrifices the orthogonal property among principal components, it provides good interpretable principal components and well-explained cluster structures of variables. However, the PROC VARCLUS implementation is inefficient to deal with high-dimensional data. We introduce the two-stage, variable clustering technique for large data sets. This technique uses global clusters, sub-clusters, and their principal components |
proc varclus | source | 14 |
| 243 | Tying Your Metadata to Your Other Information | Frank Poppe | Managing SAS v9 applications means using informati on of different nature and origin. The applications in this context are both ETL processes and the creation of OLAP cubes and Information Maps to surface the info rmation for the end user. Examples of types of information are the following. 1. Requirements for an application, technical archi tecture, technical draft, implementation issues, et c. This is mainly textual information, which can be in any form. 2. The metadata as it is being produced through the different clients: SAS Management Console, the SA S Data Integration Studio, SAS OLAP Cube Studio, etc. This is all stored in the SAS Metadata architecture. 3. Status information and logging of the scheduled processes. Standard this information is partly avai lable in the scheduler (like LSF) and optionally as log files. In this presentation a set of guidelines will be de scribed together with some SAS macro code developed to be used in the job status options of DI Studio | sas data integration studio, macro variable, sas management console, sysrc, macro definition | source | 11 |
| 244 | Understanding Multiple, Repeated Animal Measurements with the Help of PROC GPLOT | Martin J. Zuidhof, Robert A. Renema, Frank E. Robinson |
In Animal Science, repeated measurements on individual animals are affected by many factors, including the age of the animal, feed intake, and metabolic, reproductive, and health status. In experiments involving multiple individuals, major physiological events such as puberty occur asynchronously, complicating the interpretation of age-based representation of data. PROC GPLOT can be used to visualize complex data for an initial qualitative analysis. We employ macros to incorporate ancillary data summarizing pertinent characteristics of individuals. Using this approach, we have identified trends in our data otherwise masked by the complex biological system. Creating a graph of multiple longitudinal variables was somewhat complex, but once the initial graph was created for one subject, SAS allowed us to implement the code effortlessly for any number of individuals |
data visualization, proc gplot | source | 9 |
| 245 | Understanding WHERE Clause Processing and Indexes | Kirk Paul Lafler | SAS users can quickly access selected observations (rows) of data in SAS data sets using WHERE clause processing and indexes. This paper explores what an index is, the purpose of an index, how an index is created, factors that determine when an index is warranted, how WHERE clause processing can take advantage of an index, and techniques for tuning indexes fo r better performance. Attendees will learn valuable techniques for achieving improved query performance using indexes | where statement, proc sql, index, proc step | source | 4 |
| 246 | Understanding Your Customer: Segmentation Techniques for Gaining Customer Insight and Predicting Risk in the Telecom Industry | Glendon Cross, Wayne Thompson |
The explosion of customer data in the last twenty years has increased the need for data mining aimed at customer relationship management (CRM) and understanding the customer. It is well known that the telecom sector consists of customers with a wide array of customer behaviors. These customers pose different risks, making it imperative to implement different treatment strategies to maximize shareholder profit and improve revenue generation. Segmentation is the process of developing meaningful customer groups that are similar based on individual account characteristics and behaviors. The goal of segmentation is to know your customer better and to apply that knowledge to increase profitability, reduce operational cost, and enhance customer service. Segmentation can provide a multidimensional view of the customer for better treatment targeting | proc hpsplit, data mining, sample, cluster analysis, missing value, correlation, validation set, data cleaning, response variable, regression analysis, prior probability, feature selection, outlier, proc varclus | source | 14 |
| 247 | Updates to SAS Power and Sample Size Software in SAS 9.2 | Wayne E. Watson | Procedures for power analysis and sample size determination were introduced in SAS/ST A T 9.1 along with a Web application for performing these analyses. SAS/ST A T 9.2 adds analyses for several new designs, enhances some existing analyses, and replaces the Web application with a desktop application for your PC. The new analyses include logistic regression; confidence intervals, equivalence tests, and noninferiority tests for a binomial proportion; and the Wilcoxon Mann-Whitney test for two distributions. These new analyses join the ones already available with SAS/ST A T 9.1: general linear univariate models, one-way ANOVA, multiple regression, t tests, confidence intervals and equivalence tests of means, tests of proportions, and survival rank tests. SAS Power and Sample Size (PSS) 3.1 is an application that comes with the SAS/ST A T product but is installed sep- arately . PSS 3.1 supersedes the PSS 2.0 Web application that was offered with SAS/ST A T 9.1 |
sample, sample size, confidence interval, logistic regression, power analysis, logistic distribution, binomial distribution, regression analysis, proc power, proc step, equivalence testing | source | 10 |
| 248 | Use of SAS based Statistical Techniques to Develop Robust Data Sets for Credit Models | Sanjay Gupta | proc step, data cleaning | source | 10 | |
| 249 | Use of Text Mining to Predict Patient Compliance | Christiana Petrou | The purpose of this study is to examine standards of care in the Dental School of the University of Louisville. The central theme is to consider issue of compliance on behalf of the patients and how to define it in an unbiased way. We will examine the relationship of visit intervals, treatment needs, and patient compliance. With the use of SAS 9.1.3 software, data mining techniques such as clustering, kernel density, linear models and mixed models estimation will be used to define and analyze compliance. Statistical methods such as text mining were used to examine the severity of patient conditions. Confidence interval estimation and bootstrapping were explored to assist with the allocation of patients to compliance levels. Patients who were within the 95% confidence interval of the median for visit intervals at least 80% of the time were defined as fully compliant, with decreasing levels of compliance as the percentage decreases to 60%, 40%, 20% and 0% | confidence interval, sample, data mining, bootstrap, proc calis, normal distribution, outlier, probability distribution, proc freq | source | 15 |
| 250 | Using a SAS Table to Drive Any Macro | Michael D. Whitaker | This paper presents a macro that repetitively calls a target macro using data read from a SAS table as the parameters. The macro is completely general, and can be used at any point in a SAS program, making it a useful utility for solving a wide variety of programming problems. Five applications given are: creating macro symbol lists, creating simple SAS library reports, preventing unintentional inclusion of a new column to a SAS table, systematic renaming of columns and using data from an EXCEL worksheet |
macro variable, excel, set statement, proc sql, proc step, data step, call execute, libname engine, macro definition, macro parameter | source | 12 |
| 251 | Using CALL MODULE in SAS on Linux, or I Get By with a Little Help from My Friends | Richard A. DeVenezia, Judy Loren |
An experienced SAS coder can tackle almost any situation. However, there are occasions when a dance, not a tackle, is in order. The CALL MODULE routine is a great dance partner. A prominent healthcare data analysis firm needed to assign Diagnostic Related Group codes (DRGs) to the claims in their data warehouse. Information and instructions on assigning DRG codes is publicly available, and the firm has SAS coders that could implement the metrics. But the most beneficial solution did not involve writing SAS code to assign the DRGs. Instead, a low-cost module (a C-callable shared object) was purchased from a third party provider in the DRG data processing marketplace. The CALL MODULE routine allowed SAS to use the methods in the object like a DATA STEP function. This paper will explain how to call an external module from SAS on the Linux platform, and will share the lessons learned in implementing the selected DRG grouper |
character variable, decimal | source | 10 |
| 252 | Using Copulas to Model Dependency Structures in Econometrics | Donald Erdman, Arthur V. Sinko |
Modeling the correlation structures of economic variables is an important part of managing financial risk. Pearson correlation matrices fully characterize joint distribution when the underlying economic variables follow a multivariate normal distribution. When the economic variables are nonnormal, copulas are needed to model the correlation struc- ture. In fact, given a copula and the marginal distributions, you can recover the joint probability density function. This fact can be used to estimate models separately and combine them for simulation. This paper introduces advanced copula modeling capabilities in the MODEL procedure. We also show how insight into the correlation structure of the copulas can be obtained by using animations produced by SAS |
correlation, pearson correlation | source | 13 |
| 253 | Using Data Set Values and Variable Names Outside of the DATA Step | Bruce F. Gilsen | macro variable, proc sql, proc step, dictionary tables, numeric variable, sas log, macro put, call execute, select, call symput, dataset, macro parameter, macro loop, do loop, proc sort, put statement, macro facility, character variable, character functions, macro function, macro definition | source | 15 | |
| 254 | Using DO Statements, Links, and Arrays | Jimmy A. DeFoor | This paper will cover the basics of Do statements, links, and arrays, while also describing the use of the SET POINT option to access a SAS data set by specific line number. In addition, it will show using Do Loops and Arrays to pull descriptions or labels. Do Loops and the SET POINT option to randomly select a specific number of records from a SAS data set. Do Loops and the SET POINT option to retrieve only the records that match only a specific condition, such as outcome to a particular drug trial for a specific group of patients. Returns to determine when processing moves back to the top of the DATA STEP |
conditional do loop, dataset, point= option, do over, do loop, return, output, character variable, random sampling, raw data | source | 13 |
| 255 | Using Dynamic Data Exchange (DDE) and Macro Variables to Create Custom Excel Workbooks with Multi-Sheets | Barbara Kolln, Ronald Palanca, Kathy Shepperson, Shilpa Khambhati |
Dynamic Data Exchange (DDE) - why can't we seem to get away from it? If you are currently running SAS Version 9 and MSOffice 2002 or higher, then you can use XML in Ba se SAS 9.1 to create multi-sheet Microsoft EXCEL workbooks. If you are still using MSOffice 2000 or an earlier version, the easiest way to create multi-sheet workbooks is to use DDE. Although using SAS PROC EXPORT is an option, DDE provides greater formatting and data placement control |
excel, macro variable, xls, dataset, macro loop, proc step | source | 7 |
| 256 | Using Excel XP to Display SDTM Metadata and More | Christine S Teng, Shaoan Yu |
The Clinical Data Interchange Standards Consortium (CDISC) has established worldwide industrial standards that support platform-independent data standards that enable information system interoperability to improve medical research and related areas of healthcare. Many pharmaceutical companies have started implementation of CDISC data models such as Study Data Tabulation Model (SDTM) and Analysis Data Model (ADaM). As variable names and attributes are standardized, it is very easy to write programs to collect information about the data. The purpose of this paper is to demonstrate how standardization simplifies work processes. SAS9 provides several approaches to create EXCEL output. There is an experimental tagset called ExcelXP that is available for download from the ODS Markup Resources site at http://support.sas.com/rnd/base/topics/odsmarkup/ |
proc sql, proc step, excel, adverse events, ods xml, ods excel, dictionary tables, macro definition, cdisc | source | 8 |
| 257 | Using nmon to Monitor SAS Applications on AIX Servers | Alfredo Mendoza | SAS is strongly recommending you monitor your SAS environment to avoid performance bottlenecks. But what tools should you use? Should you use standard monitoring commands such as vmstat and iostat? These commands produce many lines of text and require manual eyeballing or specially written scripts to peruse the output and spot potential problem causes. If you are using AIX to run your SAS environment, there is a freely downloadable tool called nmon that may eliminate the need for learning different tools to look at I/O, memory and CPU statistics. This paper introduces nmon as a tool for monitoring and determining the cause of performance problems that may suddenly appear or slowly creep in as a result of dynamic changes within the datacenter and the company as a whole | memory usage, permanent dataset | source | 9 |
| 258 | Using PROC GENMOD to find a fair house insurance rate for the Norwegian market | Sverre Grevskott, Sten Sture |
In this work we use PROC GENMOD from SAS/STAT on house insurance data to identify different customer risk segments. Claim frequency and claim size are response variables, while we use customer age and the municipality where the customer lives as predictor variables. The predictor variables are categorical and we present a method on how to regroup categorical variable values if necessary. Claim frequency is assumed poisson distributed, claim size is assumed gamma distributed and the two are assumed independent. The final model is tested on data not used in the modelling from the same portfolio to determine how accurate our estimates are. Our conclusion is that PROC GENMOD is well suited to model insurance claims data and the suggested method for categorical variable value grouping works satisfactory |
goodness of fit, proc genmod, proc freq, poisson distribution, proc step, policy year, likelihood function, pure premium, significance level, nominal variable, response variable, insurance claims | source | 9 |
| 259 | Using Regression Diagnostics and Clustering Criteria to Uncover ID Errors | David J. Pasta, Eric P. Elkin, Rory Michaelis |
In a large observational study, key patient information was not always recorded accurately at every visit, including the patient identification number, the site, and the date of the visit. Because of the nature of the study, some patients were seen at more than one site the same year (possibly unknown to the other site) or might be seen for some years at one site, drop out, and reappear at the same or a different site some years later. In addition, there are patient ID numbers that appear to be in use by two different individuals simultaneously. With 13 years of data collection and tens of thousands of individuals, we needed an efficient way to detect the most obvious of the ID errors. By evaluating diagnostics resulting from running PROC REG and PROC CLUSTER on height and lung function data, we were able to identify situations where ID errors were likely |
outlier, proc step, proc cluster, proc reg, clinical research | source | 10 |
| 260 | Using SAS and Google Earth to Access and Display Air Pollution Data | Joshua Drukenbrod, David Mintz |
If you have ever spent large amounts of time decrypting dense, hard-to-read tables of data, then visualization tools are more appealing than ever. As the demand to visualize data increases, the market for these tools will continue to expand. Recognizing potential applications for studying air data, EPA's Emissions Inventory and Analysis Group recently built a visualization tool which exploits a previously unexploited mutual relationship between one of the world's most powerful statistical packages and one of the fastest growing geo-spatial display packages. This paper will demonstrate how SAS can be used to create files written in Google Earth's Keyhole Markup Language (KML) as well as how these KML files can utilize SAS/INTRNET to display data dynamically in an easy, user-friendly fashion |
call symput, macro variable, raw data, proc step, proc transpose | source | 12 |
| 261 | Using SAS and Microsoft Office to Deliver Organizational Metrics | Neil A. Reitmeyer | Email is an effective means of pushing critical metrics into the hands of key decision makers. An organization's ability to get value, and knowledge, from these metrics could be the difference between just surviving and thriving. Utilizing SAS Enterprise BI Server, SAS Enterprise Guide, SAS Stored Processes, and the SAS Add-in for Microsoft Office, organizational metrics can be easily packaged in Microsoft Office documents, automated, and distributed. Microsoft Office is recognized as the industry standard for business presentations, worksheets, and word processing documents. The SAS Add-in for Microsoft Office allows for seamless integration of the organization's SAS data into Microsoft EXCEL, Word, and PowerPoint. The SAS Add-in for Microsoft Office in conjunction with SAS Enterprise Guide allows the IT department to quickly produce and push information packages to the organization |
sas enterprise guide, excel | source | 9 |
| 262 | Using SAS as an Integrated Component of the Clinical Research Information System | Christopher W. Schacherer, Jeffrey E. Gershenwald |
The success of clinical research information systems in academic medical centers is often limited by the ability of analysts to access and extract data from the system or by the system's failure to support the operational aspects of the study. The current work describes an example of how SAS/ACCESS, user-defined formats, the SAS macro facility, and SAS e-mail distribution can help overcome these barriers and add value to existing clinical research information systems by facilitating data access and enhancing the efficiency of clinical research operations |
user-defined format, macro variable, clinical research, do loop, dataset, proc sql, oracle, data science, proc step, macro facility, sample, macro definition | source | 11 |
| 263 | Using SAS Enterprise Guide and SAS/CONNECT to Make the Mainframe Behave Like a Modern Computer | John C. Hennessey | The Mainframe is a powerful computational machine that is used today at many companies. Yet, it is foreign to many recent College graduates. Even if you are an old Mainframe programmer, the old interface to the mainframe does not coordinate well with modern "Windows" PCs and servers. This paper will show how to use Enterprise Guide and SAS/CONNECT as a modern interface to an IBM z/OS Mainframe's storage systems and computational power and to establish peaceful coexistence between the mainframe and servers. My papers in earlier SAS conferences have mixed information for servers and the mainframe together. Since the mainframe is different, this paper concentrates on all of the communication issues that relate to it |
sas enterprise guide, sas library, macro variable, excel | source | 6 |
| 264 | Using SAS Enterprise Miner to Prescribe a Pre-Screen Mailing | Rex Pruitt | The Objective (Target) of this project was to prescribe a pre-screen test mailing program using a combination of a "Risk Score" and Specific Credit Bureau Attributes (CBA). CBA variables chosen were predictive of accounts that generate revenue in the Top 50% of the Company's customer portfolio, have acceptable delinquency levels and have a "Risk Score" less than what is normally acceptable. A random sample of 20,000 records was selected from our total current portfolio of customers ranked by Revenue. The binary target value was determined using the objective statement noted above. The affirmative value for the target was represented by approximately 19% of the sample population. Four modeling methods were used: Neural Network, Logistic Regression, Dmine Regression and Decision Tree. Based on model assessment, the Decision Tree is the strongest model based on misclassification rate, KS, Gini, etc | proc hpsplit, sample, data mining, regression analysis, insurance risk score, logistic regression, neural network, data cleaning, logistic distribution, feature selection | source | 6 |
| 265 | Using SAS Graphics to Explore Behavioral Health Cost Risk | Barbara B. Okerson | Behavioral health disorders result in significant economic loss through costs associated with inpatient admissions, lost work days and reduction in at-work productivity. Additionally, over 30% of health plan members with complex health issues have at least one behavioral health issue driving cost risk. This paper looks at graphical representations of cost as part of an effort to develop an overall methodology for prediction of future cost risk from selected behavioral health issues. SAS provides a comprehensive set of graphics tools and procedures as part of the SAS/GRAPH product. Additionally, the SAS/STAT module provides an extensive library of tools for data analysis. Within SAS/STAT, the new ODS graphics applications add value to this ability by providing customizable statistical graphics that display automatically with these procedures when ODS graphics are invoked |
proc step, series plot, proc sgplot, proc template, output delivery system, histogram | source | 8 |
| 266 | Using SAS to Parse External Data | Andrew T. Kuligowski | Most "Introduction to Programming" courses will inc lude a section on reading external data; the first assumption they make will be that the data are stor ed in some sort of documented and consistent format . Fortunately, in the "real world", a lot of the data we deal with has the same basic assumption of occu rring in a documented, consistent format - a lot of it, but not all of it. This presentation will address some techniques that can be used when we are not dealing with cleanly formatted data, when the data we want is in a less- than-ideal format, perhaps intermingled or seemingl y buried with unnecessary clutter. It will discuss t he principles of using the SAS System to parse a fi le to extract useful data from a normally unusable source . This will be accomplished by citing examples of unusual data sources and the SAS Code used to parse it | input statement, named input, proc print, proc step, sample, conditional do loop, sas log, sas base, character functions, cpu time, end | source | 14 |
| 267 | Using SAS/OR and SAS Grid Manager to Solve Optimization Problems on the Grid | Ivan Oliveira, Matthew V. Galati, Doug Haigh, Robert C. Pratt |
Some of the most demanding optimization problems occurring today can test the limits of even the fastest optimization solvers. For such problems, finding an optimal solution or even a good solution quickly can be quite difficult. Grid computing, which enables the distribution of challenging computational tasks across multiple CPUs, is one answer. SAS/OR, featuring new optimization solvers and the OPTMODEL procedure, can work together with SAS Grid Manager to provide grid-enabled optimization. This paper will provide a few examples of how SAS/OR code can be moved easily to a grid environment through the new grid-enabled version of the %Distribute macro that makes use of SAS Grid Manager. SAS Grid Manager helps automate the management of SAS computing grids with dynamic load balancing, resource assignment, job priority , and termination management. We will provide an introduction to this technology by exploring an application in the area of facility location analysis |
sas grid, grid computing | source | 10 |
| 268 | Using SAS/OR to Improve Service Completion at a Fortune 100 Company | Chuck Kelly, Jinxin Yi, Philip Easterling |
The services group at a Fortune 100 company provides maintenance, warranty, and repair services for customers who request assistance with their appliances or equipment. The company handles millions of service orders annually, with about one-half of the orders requiring parts to complete the service. A significant number of those orders cannot be completed on the first service attempt because the required parts are not available on service technicians' trucks. Incurring an additional cost for each follow-up visit, a cost which is not passed through to the customer, the company estimates its annual revisit cost to be over $150 million. In an effort to increase the first-visit service completion rate, we developed a solution that optimizes both technician assignment and service part assortment. This solution relies on several analytical technologies, including SAS/OR, SAS Inventory Optimization, and SAS Simulation Studio |
binary variable, interval variable | source | 9 |
| 269 | Using Table Lookup Techniques Efficiently | Linda T. Jolley, Jane Stroupe |
With the volume of data that exists in a data warehousing environment, it is often necessary to combine data in order to create a meaningful report. Many techniques offer this type of table lookup: arrays, hash objects, formats, joins, merges, indexes, or a combination of any of these. With so many ways to perform a table lookup, how do you decide which one to use? This paper investigates the how and why of each of these techniques in order to give you a better idea about where to begin | proc sql, hash table, lookup, inner join, proc step, merge statement, dataset, if-then-else | source | 11 |
| 270 | Using Text Mining to Classify Requests and Prepare Semiautomatic Answers | Wolfgang Himmel, Ulrich Reincke, Hans W. Michelmann |
We developed a scoring procedure to automatically classify lay requests to an internet medical forum about involuntary childlessness. The requests should be classified according to their subject matter (32 categories) and the sender's expectation (6 categories). Building upon this procedure, the experts' answers to former requests could be the basis of an automatic answer for new incoming requests, finding their "nearest neighbors". Our text mining approach comprised the following steps: a large start list of relevant words and the calculation of the Cramer's V statistic for the association between relevant words and the 38 categories. We trained logistic regression models with high precision and recall. We then simulated a scenario in which a subset of requests (n=50) served as 'new' requests | sample, data cleaning, binary variable, regression analysis, proc step | source | 8 |
| 271 | Using the SAS DATA Step and PROC SQL to Create Macro Arrays | Stuart D. Long, Edward Heaton |
Successful analysis in SAS often requires lengthy repetitive steps; the same code is executed on numerous data points. Iteration of SAS code is often easily achieved with the use of Macro Arrays. The programmer can employ numerous methods for creating these arrays, as well as choosing among differ ent structural designs. PROC SQL and the SAS DATA STEP can each provide clear advantages to the creation of these arrays. PROC SQL and the DATA STEP can take advantage of descriptive information that is available to the programmer in the data set header line. This paper will discuss the benefits of the assignment of values to macro-variable array elements using CALL SYMPUTX() in the DATA STEP and the SELECT INTO expression in PROC SQL. This paper is intended for SA S programmers who have a working knowledge of Base SAS and the SAS Macro Facility |
macro variable, proc step, proc sql, call symputx, proc freq, call symput, hash table, proc contents, proc logistic, set statement, macro loop, macro definition, logistic distribution, macro call, macro variable array | source | 11 |
| 272 | Web-Enable Your SAS Applications | Teresia L. Arthur, Mary Jafri |
How many times do we write applications, only to rewrite them later because a new operating system comes online, users want a friendlier interface, or users just want "the latest cool stuff"? Wouldn't it be wonderful if we could write core application code that remained in use throughout the business process evolution of an application, and even more so if that application remained in service for many years? Who said applications have to become antiquated so quickly, and who has the time and the resources for application rewrites? The objective of this paper is to demonstrate how a production SAS/AF software application, which was originally written in 1993, on MVS, has become Web-enabled and serves more than 2,000 unique, global users; and its core application code has never been rewritten |
data validation rules, proc sql | source | 14 |
| 273 | Whats New in Optimization with SAS/OR | Edward P. Hughes, Trevor D. Kearney |
In its recent releases, SAS/OR has made its optimization capabilities far more powerful and more accessible than ever before. New state-of-the-art optimization solvers and presolvers enable you to tackle larger and more complex optimization models and produce results more quickly. The OPTMODEL procedure, incorporating a rich, expressive optimization modeling language, provides a direct, transparent transition from the formulation of an optimization model to the SAS statements needed to build, populate, and solve the model. This paper provides background information about the role of optimization. It also surveys the new SAS/OR optimization advances, highlighting their importance for organizations that face larger and more diverse problems in resource allocation, supply chain planning, and many other domains in which optimization plays a key role |
proc step, odds ratio, dataset, business intelligence, proc optqp, proc optlp, proc optmilp, data mining | source | 16 |
| 274 | When PROC APPEND May Make More Sense Than the DATA Step | David W. Carr | Virtually all SAS programmers (with apologies to diehard SQL codeslingers) tend to use a simple SET statement in the DATA STEP when concatenating two or more datasets in their programs. Use of the SET statement is generally the most logical and practical approach because the required code is typically very succinct and the process in most instances involves concatenation of only two datasets. However for those occasions when the SAS programming job either requires concatenation of a large number of datasets or concatenation of very large datasets (regardless of the number), the APPEND procedure is oftentimes a more sensible alternative. The purpose of this paper is to present examples of cases in which PROC APPEND may be a better choice than the SET statement in the DATA STEP and to provide some justification for why the APPEND procedure is a viable option |
proc append, proc step, set statement, in=, macro definition, cpu time, dataset, temporary dataset, proc sql, macro facility | source | 6 |
| 275 | Writing Code in SAS Enterprise Guide | Susan J. Slaughter, Lora D. Delwiche |
If you are a SAS programmer who has avoided using SAS Enterprise Guide because you think it's only good for point-and-click, then this paper is for you. You may be surprised to learn that SAS Enterprise Guide offers programmers many advantages over Display Manager. We'll show you four different ways to run code, explain how SAS Enterprise Guide can help to organize your work, and discuss issues unique to coding in SAS Enterprise Guide. After reading this paper, you just might decide to make SAS Enterprise Guide your primary coding environment | sas enterprise guide, libname statement, sas programmer, proc step | source | 20 |
| 276 | XML for SAS Programmers | Frederick E. Pratter | XML (the eXtended Markup Language) is an open standard for the definition, transmission, validation, and interpretation of data. The standard was developed by the Worldwide Web Consortium (W3C) in order to provide a simple and efficient way to manage self-documenting data files. SAS 9.1.3 includes a number of useful tools for creating and parsing XML data. These include: /square4 The XML LIBNAME engine - used to import and export documents in XML format into or from a SAS dataset, optionally using an XMLMap. /square4 The XML Mapper application - a graphical interface to analyze the structure of an XML document or an XML schema and generates basic XML syntax for the XMLMap. /square4 The ODS MARKUP output destination - used to create XML from SAS output; ODS MARKUP creates but does not read XML documents. This paper will introduce these concepts and present some brief examples of each |
libname engine, output delivery system, ods html, dataset, proc template, proc step | source | 7 |
| 277 | You've Just Bought a Data Warehouse. Now What? | Stanley E. Fogleman | One of the ways to get involved in implementing Data Warehouse technology (SAS Data Integration Studio) is to pick a pilot project, in this case, some SAS datasets supplied by an outside vendor which needed to be mapped to an existing Microsoft ACCESS database. At first, it appeared to be an example of using a sledgehammer to kill a fly. As the project progressed however, we realized that a number of peculiarities of ACCESS databases (no native support for formats, peculiar representation of dates and representing true/false/no answer) made Data Integration Studio an ideal tool for identifying and resolving those issues | dataset, data cleaning, sas data integration studio, sas function | source | 5 |
| 278 | Zero-Inflated Poisson and Zero-Inflated Negative Binomial Models Using the COUNTREG Procedure | Donald Erdman, Arthur V. Sinko |
Real-life count data are frequently characterized by overdispersion and excess zeros. Zero-inflated count models provide a parsimonious yet powerful way to model this type of situation. Such models assume that the data are a mixture of two separate data generation processes: one generates only zeros, and the other is either a Poisson or a negative binomial data-generating process. The result of a Bernoulli trial is used to determine which of the two processes generates an observation | binomial distribution, poisson distribution, negative binomial regression, zero-inflated negative binomial, response variable, zero-inflated poisson, regression analysis, poisson regression, probability distribution, likelihood function | source | 11 |
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