HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

SCSUG 2005 Papers - Index

30 papers. Source: SCSUG (South-Central SAS Users Group) conference proceedings.

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 An Introduction to SAS Character Functions (Including Some New SAS9 Functions) Ronald P. Cody character variable, substr function, compress function, character functions, input statement, length statement, verify 15
2 Automating the Drudgery Away: Using Macros and ODS to Produce (Almost) Complete Reports Phil Rhodes The mission of the Office of Institutional Research and Testing (IRT) at Baylor University is to conduct research in order to provide information which supports institutional planning, policy, and decision making. As part of that mission, IRT produces approximately 75 research-related reports each year, along with several hundred ad hoc reports about prospective students, enrolled students, faculty, and staff. Six of the most important of these reports are the annual profiles of the student body, produced each fall. Previously, these reports were generated on a mainframe and the output printed. The data for the tables in each report was then manually entered into a Microsoft EXCEL template. This was a tedious and error-prone process, requiring five staff members many hours of data entry and proofreading. This paper will describe the steps taken to streamline the production of these reports using the SAS Macro Language and ODS macro variable, proc tabulate, proc step, macro facility, macro definition, demographics table, excel, %if-%then-%else 5
3 Basis Risk Quantification Using SAS Allen Bryson,
Kevin Kindall,
Xianqiao Chen
The natural gas industry continues to be a dynamic industry. With recent high prices and the renewed interest in LNG, the business activity within the industry is expected to continue undiminished for some time to come. Clearly, understanding risk is important to decision makers. Although there are many risks to consider, basis risk is one of the primary risks embedded in many natural gas portfolios. While many of the standard Value at Risk models do not explicitly model basis risk, we show how to model basis risk directly, and develop a SAS-based Monte Carlo process to estimate exposure metrics. This paper is divided into three sections: an extended introduction and overview of the gas market, mathematical background and risk measures, and a SAS-based solution. Gas Market Overview Natural gas is an energy commodity that is used for industrial uses, as a heating fuel, and for power generation. It is primarily composed of methane variance, monte carlo 18
4 Duplicate Payments and Duplicate Vendors: How to Identify All of Them Christine L. Warner proc sql, proc step, substr function, tranwrd function, create table, macro definition 14
5 Editing data sets via the web using SAS/IntrNet or SAS AppDev Studio in Version 9 Minh Duong,
Kevin Davidson
Visually editing a data set is often a more straightforward method than writing and submitting code. This is especially true when frequent editing is required or when many end-users are doing the editing. Traditional SAS offers visual editing options with ViewTable, SAS/FSP , and SAS/AF. This paper will introduce ways to accomplish data set editing including modifying, adding, and deleting records via the web. The methods presented will be categorized in terms of ease of use, flexibility, and extendability. SAS/INTRNET and SAS AppDev Studio will be the software components discussed macro variable, data step 8
6 Exploring DICTIONARY Tables and SASHELP Views Kirk Paul Lafler SAS users can quickly and conveniently obtain useful information about their SAS session with a number of read- only SAS data views called DICTIONARY tables or SASHELP views. At any time during a SAS session, information about currently defined system options, libnames, table na mes, column names and attributes, formats, indexes, and more can be accessed and captured. This paper explores the purpose of DICTIONARY t ables and views, how they are accessed, and what information is available to SAS us ers. Attendees will learn how these important tables and views can be accessed and applied using real-world scenarios dictionary tables, proc sql, proc step, sas library, options statement 6
7 Exploring SAS Generation Data Sets Kirk Paul Lafler Users have at their disposal a unique and powerful feature for retaining historical copies of SAS data sets. This collection of copied generation data sets, representing versions of the same data set consists of a root member name and a unique version number, is aptly referred to as a g eneration group. This presen tation explores the power associated with generation data sets by showing users their purpose, how they are created and maintained, the approach for accessing a specific version of a generation gr oup, as well as other usef ul operations. Simple coding examples will be illustrated to reinforce concept and application. Page 4 Copyright 2004-2005 by Software Intelligence Corporation Page 5 Copyright 2004-2005 by Software Intelligence Corporation proc print, proc step 7
8 Frequently Asked Questions about SAS Indexes Billy Clifford Indexes in the BASE engine have been part of Base SAS since SAS 6. Over the years the use and mis-use of indexes has generated a number of questions from users. The answers to these questions might help you understand more about indexes and how they interact with other SAS components. This paper begins with an overview of index technology used by the BASE engine and how SAS uses these indexes. Then, a set of Frequently Asked Questions (FAQs) collected from customers, in-house users, and Tech Support is answered, along with the rationale for the answer proc step, proc append, index, proc sort, index creation, constraint, sorted data, order by, foreign key 11
9 ID statement in Proc Transpose: why, how and when we have to use it Alexander M. Feigin This paper discusses two issues: 1) the inappropriate usage of PROC TRANSPOSE without the ID statement and 2) creating complex ID variables in order to transpose across more than one variable simultaneously. Though it is clearly formulated in all manuals that in order to transpose across the variable, this variable should be used as an ID one, it is widely spread mistake to rely upon SAS in choosing a certain variable as ID one without even bothering to write the ID statement. The reason for this mistake is an ability of SAS to perform transposing without ID statement. In some cases the absence of ID statement does not harm the performance of PROC TRANSPOSE. In other cases it does. For example, below we create the data set ONE which contains information on pulse, sex and treatment group (trt) for every single subject (pid) proc transpose, proc step 6
10 Join, Merge or Lookup? Expanding your toolkit Judy Loren,
Sandeep Gaudana
People who are learning SAS often ask: Is the DATA STEP or PROC SQL better? The answer depends on several factors. This paper will provide guidance to help new-to-intermediate users make an informed choice in merge/join situations. The syntax and the theory underlying 5 different techniques for bringing together data from 2 (or more) datasets will be covered. The techniques to be included are: sort and merge; SQL; user-defined formats; hash tables; and indexed lookup. The methods will be compared for suitability in a variety of specific merge scenarios, and benchmarks of resource use will be shown. A macro that can be used to develop similar benchmarks at any site on any data is included. This should be a handy resource for anyone who is often faced with new merge challenges proc sql, hash table, proc step, sample, sas programmer, data step, proc sort, set statement, cpu time, user-defined format, date variable, %if-%then-%else, macro definition 15
11 Maintaining Inherited SAS Code Clarence W. Jackson SAS has been around awhile and has worked so well that programs are still running at companies while the person who wrote th e program code (the code) has left the company. When the code requires attent ion because of changes, ABENDS, or other reasons, then someone not familiar with the code must be able to quickly make the changes. Thoughtful people will usually want to understand the code before making changes, but getting an understanding requ ires some time for reviewing the code. Applying a process to evalua te the code can reduce the ti me needed to understand the code before making changes. This paper introduces a ch ecklist process that when applied, reduces the time needed to understand unfamiliar and undocumented code. The checklist can further be used as documentation of the code for later proc step, proc format, data validation rules, proc freq, if-then-else 9
12 MERGING vs. JOINING: Comparing the DATA Step with SQL Malachy J. Foley Which merges files better: the SAS DATA STEP or SAS SQL? Traditionally, the only way to merge files in SAS was via the SAS DATA STEP. Now SAS provides a Structured Query Language (SQL) facility which also merges files. This tutorial compares and contrasts these two merge facilities. It examines the pros and cons of each merge technique. It looks at DATA St ep code to perform specific merges an d then looks at the corresponding SQL code to perform the same merges proc sql, inner join, full join, create table, proc step, right join, where statement, coalesce function, data merging, relational database, merge statement 17
13 Moving Data and Analytical Results between SAS and Microsoft Office Vincent DelGobbo Transferring data between SAS and Microsoft Office can be difficult, especially when SAS is not installed on a Windows platform. This paper discusses using the HTML and XML support in Base SAS software to move data between SAS and Microsoft Office (versions 2002 and later). You can use the techniques described here regardless of the platform on which SAS software is installed excel, dataset, sas output, xls, ods html, ods xml, adverse events, macro definition, sample, proc template, proc step, sas base, libname engine, work library 20
14 MP CONNECT: Warp Engine for SAS (Multi-Processing in the Sun Solaris Environment) Pablo J. Nogueras When you are assigned a project, the first question asked by the assignor is not "How will you program the project?", is not "What kind of Quality Control will you use?", or is not "How much data will you use?". The question asked is "How FAST can you get me the results?". There are various programming techniques in SAS that allow one to increase execution speed. One such technique is the use of Parallel Processing or Multi- Processing, that is the execution of self-contained tasks simultaneously. This paper will demonstrate the use of MP CONNECT (part of SAS/CONNECT) to decrease execution time SAS programs mp connect, cpu time, proc step, proc univariate, proc freq 14
15 Nesting SAS Macros Marsha Weston Macros in SAS are useful for repetitive tasks. This paper illustrates "how" macros were used to scan for the presence of particular words, user-id's, in output reports to generate a text output file outlining possible problems with HIPAA compliance cpu time, macro loop, do loop, %if-%then-%else, macro variable, macro put 23
16 New Functions in SAS 9 - A Sampling Keith Cranford macro variable, proc means, call symput, character functions 14
17 ODS Output of Proc SurveyMeans for a Bobcat Hunter Survey Rebecca G. Frederick,
E. Barry Moser,
Greg Linscombe,
Mike Olinde
The Louisiana Department of Wildlife and Fi sheries (LDWF) conducted a Bobcat, Fox, and Coyote Hunter Survey of randomly selected Louisiana resident hunters licensed to hunt big game during the 2003-04 deer season. LDWF wanted harvest and attitude in formation concerning a new bobcat season which ran concurrent with the 2003-04 deer season. There is little information on the numbers of bobcats within the st ate of Louisiana, and so, harvest data will be used to best manage the season and monitor trends through time. Questions pertaining to whether shots were fired at a bobcat, whether bobcat were hit and whether bobcat retrieval efforts were successful were included in the questionnaire. If a bobcat was bagged, the hunter was asked whether another bobcat would be ta ken during the 2004-05 season, if the opportunity arose. Additional questions pertaining to coyo te and fox were also included in the survey instrument but will not be discussed sample, proc surveymeans, proc step, proc freq, confidence interval 18
18 Parsing HTML Tags in SAS Using Perl Regular Expressions Don Boudreaux One of the many new features offered by SAS9 is the ability to use Perl Regular Expressions to manipulate text. This investigation considers the use of Perl Regular Expressions to parse attribute data out of HTML tags. The expression used is sequentially defined and presented to the reader in order to introduce some of the functionality of Perl Regular Expressions. The new SAS9 functions needed to process the resulting expression are also discussed. In addition, the example compares the Perl Regular Expression approach with an alternative approach using traditional character functions character functions, data step 4
19 Preemptive DATA CLEANING: Techniques Malachy J. Foley Data cleaning is a necessary evil... Or is it? Many techniques exist that prevent data errors at data gathering and/or at data input. The use of these techniques eliminates or minimizes the errors that actually get into your computer files. One such technique is check digits. Check digits can eliminate up to 99% of all transcription and keying errors. Other techniques include proper form design, data monitoring, double keying, and hash totals. This tutorial examines thes e error-prevention techniques through examples and where applicable, it includes SAS code hash total, data wrangling, data cleaning 9
20 Proc SQL - A Primer for SAS Programmers Jimmy A. DeFoor The Structured Query Language (SQL) has a very different syntax and, often, a very different method of creating the desired results than the SAS DATA STEP and the SAS procedures. Only a very thorough manual, such as the SAS Guide to the PROC SQL Procedure, could even begin to describe the complete syntax and capabilities of PROC SQL. Still, there is value in presenting some of the simpler capabilities of PROC SQL, especially those that are more efficient or easier to code than the SAS DATA STEP. The reasons: 1. The tables created by PROC SQL can be read by the SAS DATA STEP or SAS procedures, so the SAS programmer can choose to use only some SQL code without impacting the rest of his or her SAS code. 2. Understanding PROC SQL can aid the programmer in understanding other SQL code, such as DB2 and Oracle proc sql, proc step, select, where statement, group by, sum, create table, order by, set statement, if-then-else, proc print, cross join 17
21 SAS ETL Studio: An Introduction to the Version 9 Data Warehousing solution Kevin Davidson SAS ETL Studio was introduced in Version 9 and replaces SAS/WAREHOUSE Administrator. This paper will provide a broad overview of the software with an emphasis on how the Extract-Transform-Load (ETL) features work. A sample 'job' will be built to demonstrate the capabilities and an overview of how ETL Studio communicates with SAS sessions to perform the job processing will be discussed character variable, sas management console 10
22 Sleepless in Seattle (or Wherever) - Resolving Issues in Scheduled Jobs Faron Kincheloe Even with the capability of Windows scheduler or other utilities to schedule your SAS jobs to run automatically, life is not always a dream. Dataset names and variables that must be changed periodically along with perpetually growing log files can keep you awake at night. This paper discusses techniques to solve these problems using macro variables and various date formats. It will also discuss a method for time-stamping data when you have non-standard time periods. Perhaps you've lain awake at night worrying about whether your jobs completed successfully or maybe you worry about the effects of leaving your computer on all the time. This paper will describe a relatively simple way to send an e-mail message when a job fails and will show you how to automatically shut off your computer when your jobs finish running macro variable, proc printto, macro function, proc step 6
23 State Agency Personnel Information Reports: A SAS/IntrNet Project Thomas J. Winn Jr. This paper describes how the author used SAS/INTRNET to develop a simple intranet application to provide auditors and investigators at the State Auditor's Office with information extracted from several databases containing personnel information data for the State of Texas macro conditional, sas log, macro variable, excel 28
24 Stored Processes: How to build, how to run, and why they are useful Kevin Davidson SAS Stored Processes (SP) are a new feature in SAS Version 9 (a very limited version was introduced in Version 8). SP's provide the ability for a group of people to share and run code even if a number of the users do not know SAS at all. SP's also provide a valuable method of ensuring that end-users are running the same version of SAS code. Another key feature of SP's is the ability to easily pass parameters to your code using a user friendly interface utilizing drop down lists, text boxes, etc. This paper will demonstrate the features and options available in choosing how to build and run stored processes. Software demonstrated will include SAS Enterprise Guide (EG), simple HTML created by the SP wizard, and the SAS Add-In for Microsoft Office sas enterprise guide, sas management console 16
25 Summarizing Data with Base SAS PROCs Deborah B. Buck Base SAS provides a number of procedur es designed to aid the SAS user in dev eloping data summary reports. These procedures include MEANS, UNIVARIATE, FREQ, REPORT and TABU LATE. Additionally, PROC FORMAT is also available to modify the appearance of data values or combine values into desired categories within PROCs without changing actual data values or creating new variables. This presentation explores various common types of summary reports and what fa ctors you should consider in deciding which procedure is best suited to your reporting needs. It is not meant to be a detailed tu torial on PROC STEP programming code for all of these procedures, but rather a guide on how to decide which procedures fit the requirements for a given report. Summary reports generated using Base SAS PROCs are present ed along with the code produci ng these reports. These examples are valid with SAS Versions 6-9 proc step, proc report, proc print, sas base, proc format, proc freq, proc tabulate, proc means 11
26 Techniques And Methods To Implement Neural Networks Using SAS and .NET Shenglin Zheng,
Johnny Dupree,
Uttam Shah,
Marc Torres
Neural networks are a powerful method for solving complex, "real world", modeling problems when traditional algorithms cannot be formulated. Most neural networks are implemented in programming languages that can represent data structures well such as C/C++, Java or Visual Basic. SAS is very good at processing longititudinal data. This paper will offer techniques and methods through implementation of neural nets using only BASE SAS and SAS macro's to represent intrinsic iterative learning/training steps of neural network algorithms. This SAS program can be used as building blocks to build one's own neural network models or be used as a starting point to study neural networks for SAS programmers. A numeric example for predicting stock prices is presented in this paper using a .NET application framework neural network, dataset, network optimization, sas base 10
27 The Match Game Faron Kincheloe Anyone who uses names and addresses in his or her business knows that duplicates can be a costly headache. Identity theft legislation has essentially taken away the Social Security number as a unique identifier making duplicates even harder to identify. The DQMATCH function in the SAS Data Quality Server module is a powerful tool for identifying potential matches so the data can be cleaned. However, as with any matching tool, there is a trade off between false positives on one side and overlooking true matches on the other. This paper covers the fundamentals of using the DQMATCH function to clean names and addresses. Additionally, it presents some programming techniques that can be used to optimize the matching process. These techniques enable the user to win the match game by detecting the maximum number of true matches while minimizing the number of false matches proc sql, proc step 8
28 Truncated Levy walks applied to the study of the behavior of Market Indices M. P. Beccar Varela,
M. Ferraro,
S. Jaroszewicz,
M. C. Mariani
normal distribution, correlation 12
29 Under the Covers of PROC REPORT Keith Cranford How does PROC REPORT really work? This paper attempts to answer this question by examining how PROC REPORT processes your data to produce a report. PROC REPORT works similarly to the DATA STEP, but with some important differences. Both listing and summary reports are used to illustrate these similarities and differences. It is hoped that this understanding will provide new insights into how to use PROC REPORT to its fullest. General Sequence PROC REPORT works like a combination of PROC MEANS and the DATA STEP. The procedure combines much of the summarization capabilities of a procedure such as MEANS or TABULATE with the line by line processing that occurs in the DATA STEP. This is what gives PROC REPORT its special flexibility. PROC REPORT works like the DATA STEP in that it works sequentially through your data. The general sequence of steps is as follows. 1. Data is summarized by the group, order and across va riables proc report, proc step 8
30 While You Were Sleeping - Scheduling SAS Jobs to Run Automatically Faron Kincheloe If you are tired of running the same jobs over and over again, this paper is for you. The Windows operating system is often viewed as strictly interactive in that a job is expected to run immediately when it is submitted. However, there are several options for scheduling SAS jobs to run at a later time and on a repetitive basis. This paper will discuss how to use these options and how they have changed with recent versions of Windows. Scheduling issues related to Data Warehouse Administrator will also be discussed. The primary focus of the discussion will be its interaction with the Windows operating system. By using one of the scheduling options discussed, you will no longer have to remember to submit a job at the proper time or get up in the middle of the night to start your jobs. Let Windows take care of all that for you, while you are sleeping data warehouse, job scheduling 5

Back to Conf go 2006 go 2004

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.