HOME QUICK SEARCH AUTHORS KEYWORDS HELP BUGS

SCSUG 2009 Papers - Index

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

# Title
×
Authors
×
Abstract
×
Keywords
×
Extras Pages
1 A "SAS Programmer's" Guide to SAS Enterprise Guide Marje Fecht 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 paper demonstrates 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 some tips and tricks to get the mo st out of SAS Enterprise Guide. Enterprise Guide version 4.1 will be used sas enterprise guide, bar chart, sas programmer, macro variable, sas log 19
2 A Propaedeutics for PROC SQL Joins Toby Dunn,
Lisa A. Mendez
Would you like to be able to join information from separate tables quickly and easily? Have you ever had two or more tables that you want to join but just don't know where to begin? If the answer is "yes" then "Join" us for a crash course over PROC SQL joins. This paper will help get you started by introducing you to the four basic types of SQL joins: inner, outer, natural, and Cartesian. Through the use of carefully crafted examples and detailed explanations we will take you on a guided tour of the SQL joins in SAS proc sql, where statement, inner join, proc step, create table, data merging, full join, cross join, right join, normalization, sample 9
3 Advanced PROC REPORT: Getting Your Tables Connected Using Links Arthur L. Carpenter Gone are the days of strictly paper reports. Increasingly we are being asked to render our tables and reports using a variety of electronic file types that can be browsed and read using our computers. Besides the cost savings associated with the purchase of paper, paperless reports also minimize the costs associated with the printing and distribution of the reports. Another, often overlooked and potentially more important, side benefit of the paperless report is the increased availability of linked graphs, reports and tables. Navigation of the paper report is dependent on the table of contents, a strong index, and visual aids such as captions and footnotes; however in paperless reports we can easily jump from one table to its supporting and dependent tables with the click of a mouse. Easily, that is, if we have created the necessary links proc report, proc step, output delivery system, macro variable, macro loop, do loop, macro facility, footnote statement, ods pdf, macro definition, proc sql 21
4 An Introduction to SAS Character Functions (Including Some SAS 9 Functions) Ronald P. Cody character variable, substr function, compress function, length statement, character functions, input statement, verify 17
5 Audit Trails for SAS Data Sets Minh Duong SAS data sets are now more accessible than ever. They are commonly stored on network shared folders and accessed by many different users. Tracking when modifications were made, who made the modifications and why is an increasing challenge. Without a system to log modification you might be compromising the quality of your data. Audit trails can be used to help solve this problem audit trail, proc step, data step, proc compare, proc contents, dataset, transaction data, proc sql 10
6 Before PROC REPORT, There was PROC PRINT Clarence W. Jackson This paper will explore how to control PROC PRINT and using all of the options available to really make those reports stand out. Before the other PROCs that produced nice reports, there was the basic PROC PRINT, taking care of those SAS printing needs proc print, proc step, by group processing 6
7 Converting Social Security Numbers to Pseudo Numbers Using SAS Code Leon Kattengell 6
8 Dear Ms. SAS Answers: A Guide to Efficient PROC SQL Coding Linda T. Jolley,
Jane Stroupe
She's back! Advice columnist Ms. SAS Answers has received more questions from curious users -- questions such as "What used all that CPU time?", "Which should I use, merge or join?", "Should I use a subquery?", and "Why should I learn SQL, anyway?" She will share her answers to help you harness the potential of Structured Query Language proc sql, proc step, where statement, order by, group by, create table, inner join, select, dataset, cpu time, options statement 14
9 Efficiency: How Your Data Structure Can Help or Hurt!!! Toby Dunn Once one gets past the simplistic idea that efficiency is only about the speed at which a program runs, a whole new world opens up. Too many SAS programmers fall into the trap of thinking that they must write program code based on the data structure they are provided. This paper introduces the paradigm shift that instead of making SAS fit the data structure, the data structure should be made to fit SAS. One of the most striking aspects is how important the data structure becomes to the overall efficiency; i.e. quality, readability, and maintainability. We will cover some of the basic topics of data structure and how it affects the overall look, complexity, maintainability, and speed of a SAS program. Starting with the basics of what constitutes efficiency, we will review common data structure mistakes and how they adversely affect the overall efficiency of the code. Finally, examples will demonstrate how simple and not-so-simple fixes improve the overall efficiency proc step, proc transpose 15
10 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 names, column names and attributes, formats, indexes, and more can be accessed and captured . This paper explores the purpose of DICTIONARY tables and views, how they are accessed, and what information is available to SAS users. 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, select 7
11 Five Ways to Create Macro Variables: A Short Introduction to the Macro Language Arthur L. Carpenter The macro language is both powerful and flexible. With this power, however comes complexity, and this complexity often makes the language more difficult to learn and use. Fortunately one of the key elements of the macro language is its use of macro variables, and these are easy to learn and easy to use. Macro variables can be created using a number of different techniques and statements. However the five most commonly methods are not only the most useful, but also among the easiest to master. Since macro variables are used in so many ways within the macro language, learning how they are created can also serve as an excellent introduction to the language itself. These methods include: %LET statement macro parameters (named and positional) iterative %DO statement using the INTO in PROC SQL * using the CALL SYMPUT routine macro variable, macro facility, macro put, macro loop, proc sql, put statement, do loop, macro call, proc step, missing value, macro parameter, macro definition, %macro parameters, call symput, automatic macro variable, symbol table, keyword parameter, select 12
12 Getting from SAS 9.1.3 to SAS 9.2: Migration or Promotion Diane Hatcher,
Sandy McNeill
If you are running a metadata server in your SAS 9.1.3 environment, you must upgrade your metadata when you move to SAS 9.2. There are two possible approaches to take. The first approach is a migration, which will essentially copy your SAS 9.1.3 environment over to SAS 9.2 as part of your SAS 9.2 installation process. The second approach is to make a fresh start by installing SAS 9.2 first, then promoting specific content from SAS 9.1.3 afterwards. This paper will describe the tools, processes, and considerations for each approach. The goal is to help you make an educated assessment to determine which approach will work best for you sas management console, sample, data cleaning, spk file 12
13 Graphs in Flash, using Graph Template Language (GTL) Himesh Patel The Graph Template Language (GTL) offers many opportunities for application developers to package simple or complex custom-designed graphs into stand-alone template libraries. In SAS 9.2, users can generate static output only through Java rendering. Let's take a peek into future rendering through the use of Adobe Flash. You will be able to use your current GTL code to generate interactive graphs using Flash technology. Once data is visually analyzed, you will be able to publish the graphs in presentations or reports graph template language, output delivery system 7
14 Handling Dates in the Macro Facility Toby Dunn Ah, shimmering SAS date and time values. They brighten our code everywhere, from input, through processing, to output. For the most part these values pose no ambiguity, they are simply formatted integers vividly manipulated with arithmetic, formats, and interval based functions. Alas, when we try to use date and time values in SAS Macro, things start looking dark. The clarity we know and love becomes murky and unclear. Should they be this dim and shadowy? I say no! With the light of knowledge and a few dazzling macro functions this darkness can be illuminated like the shining sun rising after a moonless night. This papers intended audience is beginner and intermediate SAS programmers macro function, macro facility, sysdate9, macro variable, macro put, data step 5
15 How to Produce Excellent Graphs in SAS Keith Cranford Presenting data through graphs is a powerful, efficient method to convey information. This is only effective, though, if it is done well. Edward Tufte states, "Graphical excellence consists of complex ideas communicated with clarity, precision, and efficiency." The goal, then, of data graphics is to tell a story as clearly as possible. This paper presents a set of principles gleaned from Tufte as well as Stephen Few that encourages quality graphical design and provides examples from SAS that follow these principles. SAS/GRAPH and its many options are used proc step, proc gchart, bar chart, proc gplot, scatter plot 43
16 Improving SAS Processes with Excel Steven Yan SAS and EXCEL are two of the most useful tools in processing, analyzing, and reporting data, with each of them having its own strength and often a distinct user group. For example, SAS is one of the most powerful tools for data merging, cleansing, coding, and statistical analysis; however, it is not an ideal tool for certain kinds of reporting described in this paper. EXCEL, on the other hand, is the most widely used business tool for data analysis and reporting and has strong graphing and formatting facilities; however, its capability for processing large data sets and statistical analyses is limited. This paper explores ways to integrate the two applications and take advantage of their strength. Specifically, it will show: 1. How to use EXCEL to create a user-friendly report specification; 2. How to use SAS to read and parse the specification; and 3. How to write SAS results to EXCEL for enhanced formatting or graphing excel, macro variable 7
17 Lessons Learned from a BI Installation Faron Kincheloe After implementing and maintaining a data warehouse for over 6 years, Baylor University installed SAS Enterprise BI Server and migrated all of its warehouse content to the Business Intelligence ( BI) platform. This paper will discuss the process that was used for the migration and lessons learned along the way. Among the topics covered will be project management, security, user acceptance, training and backups data warehouse, business intelligence, internal audit 7
18 List Processing Routine CallXinc: Calling Parameterized Include Programs Using a Data Set as List of Parameters Ronald J. Fehd Presentation: List Processing Routine CallXinc Using Data Sets as Lists of Parameters Ronald J. Fehd call execute, macro loop, do loop, conditional do loop, proc freq, proc print, proc step 40
19 ODS Graphics Designer Sanjay N. Matange The SAS/GRAPH ODS Graphics Designer is a GUI based intera ctive tool for users who want to create custom graph quickly without any programming. This video presentation will show you can combine different types of plots, insets and legends to create the graph you need. Use this flexible tool to incrementally build single-cell or multi-cell graphs adding rows and columns as you go. Bu ild data driven classification paneled graphs as easily as simple scatter plots. Start from scratch, or build on top of graphs from a custom izable gallery, adding your own custom graphs to the graph gallery for future use, or to share with others histogram, class variable, density plot, scatter plot, box plot, bar chart, proc sgdesign 24
20 PROC REPORT - Your How-to Guide for Producing Customized Summary Tables Debbie Buck A numbe r of years ag o SAS developers res ponded to reques ts from SAS programmers f or a single report-writing procedu re that in corporated the features of PROC PRINT, PROC ME ANS, PROC TABULATE, and the DATA _NULL_ step. The resulting procedure, PROC REPORT, is highly versatile with the capabilities to produce both detail and summary reports. In this workshop we will focus on PROC REPORT statements that will produce complex summary tables which include multiple dimensions, frequently reported descriptive statistics, columns of information not included in the data set, and customized summary statements. Although PROC REPORT can be used in a wi ndowing environment with p oint-and-click report building, we will use a programming approach to create the reports. This workshop is intended primarily for beginning to intermediate SAS users, or anyone who would like to become more familiar with PROC REPORT, and is applicable to all operating systems proc report, proc step, dataset, missing value, proc tabulate, proc print, class variable 13
21 Random Split SAS data file exactly according to a given probabilty Liang Xie In this paper, we examine a fast method to randomly split SAS data set into N pieces exactly according to a given probability vector. The method, which scans the data only twice at the worst case, is an exten- sion of the K/N algorithm extensively discussed on SAS-L archieve. We first discuss the mathetmatical rationale behind this algorithm, then we demonstrate the macro implementation utilizing array and hash table. Lastly, we compare our method to method utilizing SURVEYSELECT and discuss their comparative advantage and disadvantage sample, hash table, proc freq 12
22 Risk-Based Portfolio Optimization Using SAS Wei Chen In the midst of the recent turbulence in financial markets, risk management has become an increasingly critical part of the decision-making process in financial institutions. A risk-based profitability strategy helps increase firm value and helps avoid costs associated with financial distress. This paper explains how advanced risk analysis and optimization products from SAS can work together to enable optimal, risk-adjusted portfolio decisions. Several portfolio optimization problems are discussed: (1) maximization of portfolio return subject to a target risk tolerance, expressed as standard risk measures such as value at risk (VaR); (2) minimization of asset/liability mismatch through cash flow allocation minimization; and (3) minimization of capital requirements by employment of an optimal risk mitigation strategy. For these problems, best-practice solutions are presented using SAS Risk Management solutions credit risk, sas risk, capital adequacy, expected shortfall, confidence interval, standard deviation, basel ii, sample, alm, risk-weighted assets, normal distribution, network optimization, proc step 11
23 SAS Macro Programming Tips, Tricks, and Techniques Kirk Paul Lafler The SAS Macro Language is a powerful feature for extending the capabilities of the SAS System. This presentatio n highlights a collection of techniques for constructing reusable and effective macros tools. Attendees are introduced to the techniques associated with building functional macros that process statements containing SAS code; design reusable macro technique s; create macros containing keyword and positional parameters; utilize defensive programming tactics and techniques; build a library of macro utilities; interface the macro language with the SQL procedure; and develop efficient and portable macro language code macro variable, macro facility, proc step, autocall macro, macro definition, macro parameter, %macro parameters, macro function, proc sql, dictionary tables, options statement, macro loop, &variable 9
24 SAS Programming Basics Clarence W. Jackson This paper will introduce SAS to new programmers by offering the very basic concepts of the SAS System. How to set up the SAS program with DATA and PROC steps, a review of the SAS processing cycle and step boundaries will be discussed. Examples of simple SAS programs to read a record using INPUT statements, simple logic processing, and use of PROCs SORT and PRINT will be presented proc step, proc print, dataset, proc sort, cpu time, sas log, raw data, sas programming 10
25 Stored Process Tips and Tricks Faron Kincheloe The stored process can be a powerful tool. Learn how to use it to its full potential. Among the topics discussed will be how to use the stored process to pre-filter da ta for an information map as a way of enforcing strict security rules. This paper will discuss how to use a stored process to dynamically create a menu that supplies user selections to a second stored process and how to change the type of output that is delivered to the web browser . It will also discuss the ramifications of assigning the stored process to the workspace server as opposed to the stored process server when the stored process is created macro variable, where statement, excel, sample, proc sql, macro definition 12
26 SVD Filtered Temporal Usage Pattern Analysis and Clustering Liang Xie This paper examines a SVD-based effective and robust approach to discover temporal electricity usage pattern from a broad customer base. The rationale behind this method and the relationship between SVD, PCA and Fourier analysis is discussed, as well as the implementation of SVD in SAS without IML modular. The output from this method is taken as input to the k-means clustering algorithm in PROC FASTCLUS. Using synthetic data, we demonstrate how robust the filtered data is to outliers and how effective the k-means algorithm can leverage the regulated data correlation, usage data, proc step, proc princomp, covariance, panel data, proc fastclus, outlier 12
27 Techniques for Merging Datasets Based on Key Text Fields that Don't Quite Match Steve Fleming Have you ever had to merge two datasets but the only matching field was a long text field such as a name? Have you found that the name from one of the datasets was not built in quite the same way as the name in the other dataset? If so, this presentation is for you. I will review techniques from simple changes in case to complex applications of the PRX functions. A motivating example concerning matching schools from a national dataset with a state dataset will be presented followed by a description of each technique including SAS code sample, type i error, proc sql, upcase function, proc step 12
28 Using Dynamic and Cascading Prompts in Enterprise Guide Kevin Davidson,
Minh Duong
SAS 9.2 Phase 2 and Enterprise Guide 4.2 offer new and improved ways of parameterizing your programs. Prompted selection lists can be linked to data sets so that the lists change with the contents of the data. Prompts can also be connected to each other so that the value of a 2nd prompt depends on the value of the 1st prompt. Groups of prompts can be arranged so that end-users see prompts only if an earlier prompt is answered in a pre-specified manner. This paper will show examples of the various prompts you can establish in Enterprise Guide sas enterprise guide, sas management console, macro variable, where statement, phase ii, proc print, proc step, dataset 18
29 Using Functions SYSFUNC and IFC to Conditionally Execute Statements in Open Code Ronald J. Fehd Using SysFunc with IFC Replacement for Macro %IF Ronald J. Fehd macro function, data step, macro put, macro quoting function, %if-%then-%else 14
30 Using Macros to Standardize and Streamline Report Writing Christopher Louden output delivery system, proc step, call symput, proc datasets, proc report, macro call, macro variable 31
31 What's Hot, What's Not - Skills for SAS Professionals Kirk Paul Lafler,
Charles E. Shipp
As a new generation of SAS user emerges, current and prior generations of users have an extensi ve array of procedures, programming tools, approaches and techniques to choose from. This presentation identifies and explores the areas that are hot and not -so-hot in the world of the professional SAS user. Topics include Enterprise Guide, PROC SQL, PROC REPORT, PROC FORMAT, Macro Language, ODS, DATA STEP programming techniques such as arrays and hashing, business intelligence, sasCommunity.org, JMP, SAS/GRAPH, SAS/STAT, and sas 9, sas base, proc step 5
32 When To Use or Not Use SQL? Don Boudreaux SQL is an embedded language that has been available to SAS programmers from within PROC SQL since version 6.06 in 1989. It is sometimes my language of choice for a given task and sometimes it is a tool I wouldn't even attempt to use. Presented below are a number of examples of both situations proc sql 12
33 Why Hash? Glen Becker What can I do with the new Hash object in SAS 9? Instead of focusing on "How to use this new technology", this paper answers "Why would I want to?" It presents the "Big Picture" of the hash object, to help you plan whether an application can benefit from using the hash object, and how to plan to use it. It also introduces the %Hash macro that makes it easy for you to define hash objects. Body: The new SAS hash object makes it possible for SAS to do things previously not possible: Merge Without Sorting: Try one key, then another. Merge with 2+ files with different keys Fast, flexible table-lookup. Summarize in a DATA STEP on-the-fly. Store data like an array, but: Can have character keys and composite keys No need to predict size in advance A BIG advantage! Can return multiple variables at once Can automatically sort data on-the-fly * Can easily read a SAS dataset into a hash object or write a SAS dataset from one hash table, dataset, lookup, proc step, sysrc, proc sql 6
34 Working with Longitudinal Data Ronald P. Cody proc step, proc freq, lag function, by group processing, longitudinal data, set statement, retain, proc means 4

Back to Conf go 2010 go 2008

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.