ing Automated Notification of Errors in a Batch SAS Program Julie Kilburn, City of Hope, Duarte, CA Rebecca Ottesen, City of Hope, Duarte, CA
|
|
- Brittney Roberts
- 8 years ago
- Views:
Transcription
1 ing Automated Notification of Errors in a Batch SAS Program Julie Kilburn, City of Hope, Duarte, CA Rebecca Ottesen, City of Hope, Duarte, CA ABSTRACT With multiple programmers contributing to a batch SAS program that runs nightly, we needed a way for the program to automatically notify the appropriate programmer if an error in the log occurred. Further we wanted to identify specifically what that error was and which contributing section of code caused the problem. This paper contains an example of one solution that uses sent from SAS and macro variables that you may not even know existed! INTRODUCTION The National Comprehensive Cancer Network (NCCN) Outcomes Database collects data on breast cancer, non- Hodgkin s lymphoma, non-small cell lung, ovarian, and colon/rectal cancers from NCCN member institutions and affiliated community sites across the United States. The Data Coordinating Center (DCC) of the NCCN Outcomes Database is located at the City of Hope and consists of a team of database programmers and statisticians lead by the DCC principle investigator. The primary responsibility of the DCC is to oversee database and web operations and data analysis for the project. For each disease, the DCC statisticians have developed algorithms to manipulate the data such as staging, drug therapy, and concordance; these programs are combined to produce reports that are available on the project s web application for project investigators and staff. SAS data is automatically generated and manipulated so that reports can be updated daily via a large batch program that runs automatically each night. The DCC statisticians can modify their algorithms and disease-specific portions of the programs that contribute to the large batch program. There is a constant need to verify that the multi-faceted program runs smoothly each night, but error checking can be tedious, and even easily forgotten because of the behind-the-scenes nature of batch SAS jobs. This paper illustrates a very simple way to keep our statisticians informed of the status of each contributing section of the batch program. First we capture the error information and tuck it away for safe-keeping using automatic macro variables and external text files. Next, we retrieve the information from the text files and analyze it. And finally, we send relevant information in an message from SAS to the program manager so she knows that all is well, or if not, where to begin searching to remedy the error. CAPTURE AND STORE ERROR INFORMATION We want to know if there is an error, which contributing program the error comes from, and what those errors are. There is a need to store the information outside of the SAS session so that it can be retrieved at any point, whether in the same SAS session or in a later one. AUTOMATIC MACRO VARIABLES Automatic macro variables (AMV) are created by the macro processor and supply a variety of information. They are useful in programs to check the status of a condition before executing code. Most automatic variables are global and are created when SAS is invoked. The values of AMVs are reset during each procedure or data step. We reference AMVs in the same way as with user-defined macros, with an ampersand (&) in front of the AMV name. We will use the following AMVs: SYSERR: SYSFILRC: SYSERRORTEXT: SYSWARNINGTEXT: numeric: used to detect major system errors, such as out of memory or failure of the component system when used in some procedures and DATA steps. A value of 0 indicates no error, any other number indicates some type of error. numeric: value of 0 indicates that the file referenced by the most recent FILENAME statement exists. character: contains the text of the last error message formatted for display in the SAS log character: contains the text of the last warning message formatted for display in the SAS log 1
2 SYSLAST: character: contains the name of the SAS data file created most recently. IDENTIFYING ERRORS MACRO Our macro, which will capture the desired information into text files, has three parameters, listed below. Within the macro we reference a macro variable tdata refers to the path to the directory where we would like to store the files we will be creating, and which we will assign at a later time. We use AMV SYSERR to determine if an error has occurred prior to the macro call. If no error exists, ie. &syserr=0, then we write none and the contributing section name to a simple text file. If an error is found, ie. &syserr^=0, then we write error and the contributing section name to the text file. We also create another separate text file with detailed error messages, using AMVs SYSERRORTEXT, SYSWARNINGTEXT, and SYSLAST. /* Fn = name of the text file we will create to contain whether and */ /* where the error exists. */ /* Fndetail = name of a separate text file for the detailed error message */ /* where the error an error. */ /* Contrib = specific name of the contributing section of code */ EXAMPLE %macro iderror(fn,fndetail,contrib); filename em "&tdata\&fn..txt"; /*if there is no error */ %if &syserr=0 %then %do; data _null_; file em; put "none &contrib"; %end; /*of no error section */ /*if there is an error */ %else %if &syserr^=0 %then %do; data _null_; file em; put "error &contrib"; /* separate text file for details */ filename detail "&tdata\&fndetail..txt"; data _null_; file detail; put "Last Error Message: &syserrortext"; put "Last Warning Message: &syswarningtext"; put "Last Dataset Created: &syslast"; %end; /*of error section */ %mend; Using the simple dataset class.sas that is available in the SASHELP files, we will generate some simple code to illustrate the use of the macro IDERROR. After each section of code that we want to check, we place a call to the macro, which gives unique names to the macro parameters for each check. libname w14 'c:\wuss14\data\'; %let tdata=c:\wuss14; /*section XXX: run a proc print */ proc print data=w14.class; title 'A Simple Data Set'; var name sex age height weight; 2
3 %iderror(er1,er1detail,xxx); /*section YYY: manipulate same data, output a frequency*/ data playmore; set w14.class; if name<"n"; proc sort data=playmore; by age; proc freq data=playmore; title 'A Simple Frequency'; table age; %iderror(er2,er2detail,yyy); /*section ZZZ: manipulate more, output something to a file*/ filename W14out 'c:\wuss14\wuss14out.txt'; proc format; value $ gender M = Male F = Female ; data wordgender; set w14.class; format sex gender.; file W14out /* <-- intentionally leave off a semicolon to produce an error*/ put name "'s gender is " sex; %iderror(er3,er3detail,zzz); Running this sample code will generate four text files: one for each call to IDERROR (Figures 1-3) with the section name and whether there is an error or not. These we will call error flag files. Because only one section has errors, there is only one detailed error message text file (Figure 4). These files are permanently stored, and will be accessible even after the current SAS session if they need to be. Figure 1. Text File er1 Figure 2. Text File er2 Figure 3. Text File er3 Figure 4. Text File er3detail 3
4 USING STORED ERROR INFORMATION We now need to retrieve our stored information. We can do this immediately following the original program, or in a separate SAS session. We will create a permanent dataset with variables to hold the error message (msg), the contributing section (cont), and the details of the error(s) (col1-col3). We want one observation per call of the iderror macro. Libname w14 c:\wuss14\data\ ; data w14.all_error; length msg $ 5 cont $ 4 col1-col3 $ 150; delete; The dataset starts out empty, and will be added to with each pass of the macro readtxt below. This macro also has three parameters, which coincide with those from the previous macro. The macro first reads in the error flag file using simple list input. Then if the error detail file exists, the information is read from this file as well. Note the use of the AMV SYSFILRC to determine if this detail file exists. Because we need to merge the message and detail datasets, we create a dummy dataset with empty variables if the detail file does not exist. The merged dataset contains all five variables for one of the contributing sections. We use a PROC APPEND to add this row of data to others with each call of the macro. %macro readtxt(ifn,ifnd,contrib); /* read from the error flag file */ Filename in_e "&tdata\&ifn..txt"; data messages; infile in_e; input msg $ cont $; /* read from the detail file if error exists */ filename in_d "&tdata\&ifnd..txt"; %if &sysfilrc=0 %then %do; data detail; length t $ 150; infile in_d; input t $ ; /* Need these in one row instead of three rows */ proc transpose data=detail out=detailrow; var t; data detailrow; set detailrow (drop=_name_); %end; /* if no error exists then just create an empty dataset for merging below */ %else %do; data detailrow; length col1-col3 $ 150; %end; data messages_all; merge messages 4
5 detailrow; proc append base=w14.all_error data=messages_all force; %mend; For our example, we call this macro three times, one for each section of code that we checked earlier. We need to use the same file names and contributing section names that were created in the first macro. %readtxt(er1,er1detail,'xxx'); %readtxt(er2,er2detail,'yyy'); %readtxt(er3,er3detail,'zzz'); The SAS dataset is displayed below as it appears in the table view from the explorer window. Figure 5. Dataset w14.all_error THE ERROR INFORMATION We can now easily set up an message that contains this information. For illustration purposes, we are using the most basic programming to from SAS. A FILENAME statement is required. We send the to the intended recipient, with an appropriate subject line. We will report on every contributing section, indicating the section name and whether an error has occurred. For the section(s) with errors, we give the detailed messages as well. filename errmail ; data _null_; set w14.all_error; file errmail to = "jkilburn@coh.org" subject = "Nightly Program ERROR CHECK" ; if msg='none' then do; put 'No Errors in the ' cont 'section'; end; else if msg='error' then do; put 'ERRORS OCCURRED in the ' cont 'section'; put 'ERROR/WARNING messages below: '; put col1; put col2; put col3; end; 5
6 Figure 6 below displays the received. Figure 6. SAS-Generated CONCLUSION As with most programming adventures, there is generally more than one way to approach the problem of knowing when and where to look for errors using a minimum amount of effort. This paper has illustrated a simple method that any SAS programmer can use, whether a master or a beginner. CONTACT INFORMATION Your comments and questions are valued and encouraged. Contact the author at: Name: Julie Kilburn Enterprise: City of Hope Phone: jkilburn@coh.org SAS 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. Other brand and product names are trademarks of their respective companies. 6
PharmaSUG2011 - Paper AD11
PharmaSUG2011 - Paper AD11 Let the system do the work! Automate your SAS code execution on UNIX and Windows platforms Niraj J. Pandya, Element Technologies Inc., NJ Vinodh Paida, Impressive Systems Inc.,
More informationData Presentation. Paper 126-27. Using SAS Macros to Create Automated Excel Reports Containing Tables, Charts and Graphs
Paper 126-27 Using SAS Macros to Create Automated Excel Reports Containing Tables, Charts and Graphs Tugluke Abdurazak Abt Associates Inc. 1110 Vermont Avenue N.W. Suite 610 Washington D.C. 20005-3522
More informationA Method for Cleaning Clinical Trial Analysis Data Sets
A Method for Cleaning Clinical Trial Analysis Data Sets Carol R. Vaughn, Bridgewater Crossings, NJ ABSTRACT This paper presents a method for using SAS software to search SAS programs in selected directories
More informationPost Processing Macro in Clinical Data Reporting Niraj J. Pandya
Post Processing Macro in Clinical Data Reporting Niraj J. Pandya ABSTRACT Post Processing is the last step of generating listings and analysis reports of clinical data reporting in pharmaceutical industry
More informationHow To Create An Audit Trail In Sas
Audit Trails for SAS Data Sets Minh Duong Texas Institute for Measurement, Evaluation, and Statistics University of Houston, Houston, TX ABSTRACT SAS data sets are now more accessible than ever. They are
More informationUsing Pharmacovigilance Reporting System to Generate Ad-hoc Reports
Using Pharmacovigilance Reporting System to Generate Ad-hoc Reports Jeff Cai, Amylin Pharmaceuticals, Inc., San Diego, CA Jay Zhou, Amylin Pharmaceuticals, Inc., San Diego, CA ABSTRACT To supplement Oracle
More informationIntroduction to SAS on Windows
https://udrive.oit.umass.edu/statdata/sas1.zip Introduction to SAS on Windows for SAS Versions 8 or 9 October 2009 I. Introduction...2 Availability and Cost...2 Hardware and Software Requirements...2 Documentation...2
More informationREx: An Automated System for Extracting Clinical Trial Data from Oracle to SAS
REx: An Automated System for Extracting Clinical Trial Data from Oracle to SAS Edward McCaney, Centocor Inc., Malvern, PA Gail Stoner, Centocor Inc., Malvern, PA Anthony Malinowski, Centocor Inc., Malvern,
More informationYou have got SASMAIL!
You have got SASMAIL! Rajbir Chadha, Cognizant Technology Solutions, Wilmington, DE ABSTRACT As SAS software programs become complex, processing times increase. Sitting in front of the computer, waiting
More informationCreating Dynamic Reports Using Data Exchange to Excel
Creating Dynamic Reports Using Data Exchange to Excel Liping Huang Visiting Nurse Service of New York ABSTRACT The ability to generate flexible reports in Excel is in great demand. This paper illustrates
More informationSUGI 29 Applications Development
Backing up File Systems with Hierarchical Structure Using SAS/CONNECT Fagen Xie, Kaiser Permanent Southern California, California, USA Wansu Chen, Kaiser Permanent Southern California, California, USA
More informationPreparing Real World Data in Excel Sheets for Statistical Analysis
Paper DM03 Preparing Real World Data in Excel Sheets for Statistical Analysis Volker Harm, Bayer Schering Pharma AG, Berlin, Germany ABSTRACT This paper collects a set of techniques of importing Excel
More informationHow To Write A Clinical Trial In Sas
PharmaSUG2013 Paper AD11 Let SAS Set Up and Track Your Project Tom Santopoli, Octagon, now part of Accenture Wayne Zhong, Octagon, now part of Accenture ABSTRACT When managing the programming activities
More informationUsing Macros to Automate SAS Processing Kari Richardson, SAS Institute, Cary, NC Eric Rossland, SAS Institute, Dallas, TX
Paper 126-29 Using Macros to Automate SAS Processing Kari Richardson, SAS Institute, Cary, NC Eric Rossland, SAS Institute, Dallas, TX ABSTRACT This hands-on workshop shows how to use the SAS Macro Facility
More informationSame Data Different Attributes: Cloning Issues with Data Sets Brian Varney, Experis Business Analytics, Portage, MI
Paper BtB-16 Same Data Different Attributes: Cloning Issues with Data Sets Brian Varney, Experis Business Analytics, Portage, MI SESUG 2013 ABSTRACT When dealing with data from multiple or unstructured
More informationImporting Excel File using Microsoft Access in SAS Ajay Gupta, PPD Inc, Morrisville, NC
ABSTRACT PharmaSUG 2012 - Paper CC07 Importing Excel File using Microsoft Access in SAS Ajay Gupta, PPD Inc, Morrisville, NC In Pharmaceuticals/CRO industries, Excel files are widely use for data storage.
More informationSAS Programming Tips, Tricks, and Techniques
SAS Programming Tips, Tricks, and Techniques A presentation by Kirk Paul Lafler Copyright 2001-2012 by Kirk Paul Lafler, Software Intelligence Corporation All rights reserved. SAS is the registered trademark
More informationPS004 SAS Email, using Data Sets and Macros: A HUGE timesaver! Donna E. Levy, Dana-Farber Cancer Institute
PS004 SAS Email, using Data Sets and Macros: A HUGE timesaver! Donna E. Levy, Dana-Farber Cancer Institute Abstract: SAS V8+ has the capability to send email by using the DATA step, procedures or SCL.
More informationHow to Use SDTM Definition and ADaM Specifications Documents. to Facilitate SAS Programming
How to Use SDTM Definition and ADaM Specifications Documents to Facilitate SAS Programming Yan Liu Sanofi Pasteur ABSTRCT SDTM and ADaM implementation guides set strict requirements for SDTM and ADaM variable
More informationAn email macro: Exploring metadata EG and user credentials in Linux to automate email notifications Jason Baucom, Ateb Inc.
SESUG 2012 Paper CT-02 An email macro: Exploring metadata EG and user credentials in Linux to automate email notifications Jason Baucom, Ateb Inc., Raleigh, NC ABSTRACT Enterprise Guide (EG) provides useful
More informationAN ANIMATED GUIDE: SENDING SAS FILE TO EXCEL
Paper CC01 AN ANIMATED GUIDE: SENDING SAS FILE TO EXCEL Russ Lavery, Contractor for K&L Consulting Services, King of Prussia, U.S.A. ABSTRACT The primary purpose of this paper is to provide a generic DDE
More informationOverview. NT Event Log. CHAPTER 8 Enhancements for SAS Users under Windows NT
177 CHAPTER 8 Enhancements for SAS Users under Windows NT Overview 177 NT Event Log 177 Sending Messages to the NT Event Log Using a User-Written Function 178 Examples of Using the User-Written Function
More informationManaging very large EXCEL files using the XLS engine John H. Adams, Boehringer Ingelheim Pharmaceutical, Inc., Ridgefield, CT
Paper AD01 Managing very large EXCEL files using the XLS engine John H. Adams, Boehringer Ingelheim Pharmaceutical, Inc., Ridgefield, CT ABSTRACT The use of EXCEL spreadsheets is very common in SAS applications,
More informationSimple Rules to Remember When Working with Indexes Kirk Paul Lafler, Software Intelligence Corporation, Spring Valley, California
Simple Rules to Remember When Working with Indexes Kirk Paul Lafler, Software Intelligence Corporation, Spring Valley, California Abstract SAS users are always interested in learning techniques related
More informationAutomation of Large SAS Processes with Email and Text Message Notification Seva Kumar, JPMorgan Chase, Seattle, WA
Automation of Large SAS Processes with Email and Text Message Notification Seva Kumar, JPMorgan Chase, Seattle, WA ABSTRACT SAS includes powerful features in the Linux SAS server environment. While creating
More informationManaging Tables in Microsoft SQL Server using SAS
Managing Tables in Microsoft SQL Server using SAS Jason Chen, Kaiser Permanente, San Diego, CA Jon Javines, Kaiser Permanente, San Diego, CA Alan L Schepps, M.S., Kaiser Permanente, San Diego, CA Yuexin
More informationChoosing the Best Method to Create an Excel Report Romain Miralles, Clinovo, Sunnyvale, CA
Choosing the Best Method to Create an Excel Report Romain Miralles, Clinovo, Sunnyvale, CA ABSTRACT PROC EXPORT, LIBNAME, DDE or excelxp tagset? Many techniques exist to create an excel file using SAS.
More informationEssential Project Management Reports in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA
Essential Project Management Reports in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA ABSTRACT Throughout the course of a clinical trial the Statistical Programming group is
More informationFrom Database to your Desktop: How to almost completely automate reports in SAS, with the power of Proc SQL
From Database to your Desktop: How to almost completely automate reports in SAS, with the power of Proc SQL Kirtiraj Mohanty, Department of Mathematics and Statistics, San Diego State University, San Diego,
More informationMethodologies for Converting Microsoft Excel Spreadsheets to SAS datasets
Methodologies for Converting Microsoft Excel Spreadsheets to SAS datasets Karin LaPann ViroPharma Incorporated ABSTRACT Much functionality has been added to the SAS to Excel procedures in SAS version 9.
More informationParallel Data Preparation with the DS2 Programming Language
ABSTRACT Paper SAS329-2014 Parallel Data Preparation with the DS2 Programming Language Jason Secosky and Robert Ray, SAS Institute Inc., Cary, NC and Greg Otto, Teradata Corporation, Dayton, OH A time-consuming
More informationInstant Interactive SAS Log Window Analyzer
ABSTRACT Paper 10240-2016 Instant Interactive SAS Log Window Analyzer Palanisamy Mohan, ICON Clinical Research India Pvt Ltd Amarnath Vijayarangan, Emmes Services Pvt Ltd, India An interactive SAS environment
More informationFigure 1. Default histogram in a survey engine
Between automation and exploration: SAS graphing techniques for visualization of survey data Chong Ho Yu, Samuel DiGangi, & Angel Jannasch-Pennell Arizona State University, Tempe AZ 85287-0101 ABSTRACT
More informationTHE POWER OF PROC FORMAT
THE POWER OF PROC FORMAT Jonas V. Bilenas, Chase Manhattan Bank, New York, NY ABSTRACT The FORMAT procedure in SAS is a very powerful and productive tool. Yet many beginning programmers rarely make use
More informationExploit SAS Enterprise BI Server to Manage Your Batch Scheduling Needs
Exploit SAS Enterprise BI Server to Manage Your Batch Scheduling Needs Troy B. Wolfe, Qualex Consulting Services, Inc., Miami, Florida ABSTRACT As someone responsible for maintaining over 40 nightly batch
More informationRemove Voided Claims for Insurance Data Qiling Shi
Remove Voided Claims for Insurance Data Qiling Shi ABSTRACT The purpose of this study is to remove voided claims for insurance claim data using SAS. Suppose that for these voided claims, we don t have
More informationPaper PO03. A Case of Online Data Processing and Statistical Analysis via SAS/IntrNet. Sijian Zhang University of Alabama at Birmingham
Paper PO03 A Case of Online Data Processing and Statistical Analysis via SAS/IntrNet Sijian Zhang University of Alabama at Birmingham BACKGROUND It is common to see that statisticians at the statistical
More informationAnalyzing the Server Log
87 CHAPTER 7 Analyzing the Server Log Audience 87 Introduction 87 Starting the Server Log 88 Using the Server Log Analysis Tools 88 Customizing the Programs 89 Executing the Driver Program 89 About the
More informationExperiences in Using Academic Data for BI Dashboard Development
Paper RIV09 Experiences in Using Academic Data for BI Dashboard Development Evangeline Collado, University of Central Florida; Michelle Parente, University of Central Florida ABSTRACT Business Intelligence
More informationBetter Safe than Sorry: A SAS Macro to Selectively Back Up Files
Better Safe than Sorry: A SAS Macro to Selectively Back Up Files Jia Wang, Data and Analytic Solutions, Inc., Fairfax, VA Zhengyi Fang, Social & Scientific Systems, Inc., Silver Spring, MD ABSTRACT SAS
More informationEXTRACTING DATA FROM PDF FILES
Paper SER10_05 EXTRACTING DATA FROM PDF FILES Nat Wooding, Dominion Virginia Power, Richmond, Virginia ABSTRACT The Adobe Portable Document File (PDF) format has become a popular means of producing documents
More informationFoundations & Fundamentals. A PROC SQL Primer. Matt Taylor, Carolina Analytical Consulting, LLC, Charlotte, NC
A PROC SQL Primer Matt Taylor, Carolina Analytical Consulting, LLC, Charlotte, NC ABSTRACT Most SAS programmers utilize the power of the DATA step to manipulate their datasets. However, unless they pull
More informationAn Approach to Creating Archives That Minimizes Storage Requirements
Paper SC-008 An Approach to Creating Archives That Minimizes Storage Requirements Ruben Chiflikyan, RTI International, Research Triangle Park, NC Mila Chiflikyan, RTI International, Research Triangle Park,
More informationPROC LOGISTIC: Traps for the unwary Peter L. Flom, Independent statistical consultant, New York, NY
PROC LOGISTIC: Traps for the unwary Peter L. Flom, Independent statistical consultant, New York, NY ABSTRACT Keywords: Logistic. INTRODUCTION This paper covers some gotchas in SAS R PROC LOGISTIC. A gotcha
More informationA Macro to Create Data Definition Documents
A Macro to Create Data Definition Documents Aileen L. Yam, sanofi-aventis Inc., Bridgewater, NJ ABSTRACT Data Definition documents are one of the requirements for NDA submissions. This paper contains a
More informationOnDemand for Academics
SAS OnDemand for Academics User s Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2015. SAS OnDemand for Academics: User's Guide. Cary, NC:
More informationSearch and Replace in SAS Data Sets thru GUI
Search and Replace in SAS Data Sets thru GUI Edmond Cheng, Bureau of Labor Statistics, Washington, DC ABSTRACT In managing data with SAS /BASE software, performing a search and replace is not a straight
More informationAutomated distribution of SAS results Jacques Pagé, Les Services Conseils HARDY, Quebec, Qc
Paper 039-29 Automated distribution of SAS results Jacques Pagé, Les Services Conseils HARDY, Quebec, Qc ABSTRACT This paper highlights the programmable aspects of SAS results distribution using electronic
More informationBuilding A SAS Application to Manage SAS Code Phillip Michaels, P&Ls, Saint Louis, MO
Paper AD08 Building A SAS Application to Manage SAS Code Phillip Michaels, P&Ls, Saint Louis, MO ABSTRACT In spite of SAS s power and flexibility, it is rarely used for anything more than extracting, analyzing,
More informationOptimizing System Performance by Monitoring UNIX Server with SAS
Optimizing System Performance by Monitoring UNIX Server with SAS Sam Mao, Quintiles, Inc., Kansas City, MO Jay Zhou, Quintiles, Inc., Kansas City, MO ABSTRACT To optimize system performance and maximize
More informationCounting the Ways to Count in SAS. Imelda C. Go, South Carolina Department of Education, Columbia, SC
Paper CC 14 Counting the Ways to Count in SAS Imelda C. Go, South Carolina Department of Education, Columbia, SC ABSTRACT This paper first takes the reader through a progression of ways to count in SAS.
More informationFrom The Little SAS Book, Fifth Edition. Full book available for purchase here.
From The Little SAS Book, Fifth Edition. Full book available for purchase here. Acknowledgments ix Introducing SAS Software About This Book xi What s New xiv x Chapter 1 Getting Started Using SAS Software
More informationLet SAS Modify Your Excel File Nelson Lee, Genentech, South San Francisco, CA
ABSTRACT PharmaSUG 2015 - Paper QT12 Let SAS Modify Your Excel File Nelson Lee, Genentech, South San Francisco, CA It is common to export SAS data to Excel by creating a new Excel file. However, there
More informationUsing SAS With a SQL Server Database. M. Rita Thissen, Yan Chen Tang, Elizabeth Heath RTI International, RTP, NC
Using SAS With a SQL Server Database M. Rita Thissen, Yan Chen Tang, Elizabeth Heath RTI International, RTP, NC ABSTRACT Many operations now store data in relational databases. You may want to use SAS
More informationThe Basics of Dynamic SAS/IntrNet Applications Roderick A. Rose, Jordan Institute for Families, School of Social Work, UNC-Chapel Hill
Paper 5-26 The Basics of Dynamic SAS/IntrNet Applications Roderick A. Rose, Jordan Institute for Families, School of Social Work, UNC-Chapel Hill ABSTRACT The purpose of this tutorial is to introduce SAS
More informationPaper 109-25 Merges and Joins Timothy J Harrington, Trilogy Consulting Corporation
Paper 109-25 Merges and Joins Timothy J Harrington, Trilogy Consulting Corporation Abstract This paper discusses methods of joining SAS data sets. The different methods and the reasons for choosing a particular
More informationAutomating SAS Macros: Run SAS Code when the Data is Available and a Target Date Reached.
Automating SAS Macros: Run SAS Code when the Data is Available and a Target Date Reached. Nitin Gupta, Tailwind Associates, Schenectady, NY ABSTRACT This paper describes a method to run discreet macro(s)
More informationLabels, Labels, and More Labels Stephanie R. Thompson, Rochester Institute of Technology, Rochester, NY
Paper FF-007 Labels, Labels, and More Labels Stephanie R. Thompson, Rochester Institute of Technology, Rochester, NY ABSTRACT SAS datasets include labels as optional variable attributes in the descriptor
More informationEffective Use of SQL in SAS Programming
INTRODUCTION Effective Use of SQL in SAS Programming Yi Zhao Merck & Co. Inc., Upper Gwynedd, Pennsylvania Structured Query Language (SQL) is a data manipulation tool of which many SAS programmers are
More informationPreparing your data for analysis using SAS. Landon Sego 24 April 2003 Department of Statistics UW-Madison
Preparing your data for analysis using SAS Landon Sego 24 April 2003 Department of Statistics UW-Madison Assumptions That you have used SAS at least a few times. It doesn t matter whether you run SAS in
More informationFlat Pack Data: Converting and ZIPping SAS Data for Delivery
Flat Pack Data: Converting and ZIPping SAS Data for Delivery Sarah Woodruff, Westat, Rockville, MD ABSTRACT Clients or collaborators often need SAS data converted to a different format. Delivery or even
More informationWe begin by defining a few user-supplied parameters, to make the code transferable between various projects.
PharmaSUG 2013 Paper CC31 A Quick Patient Profile: Combining External Data with EDC-generated Subject CRF Titania Dumas-Roberson, Grifols Therapeutics, Inc., Durham, NC Yang Han, Grifols Therapeutics,
More informationInstructions for Analyzing Data from CAHPS Surveys:
Instructions for Analyzing Data from CAHPS Surveys: Using the CAHPS Analysis Program Version 3.6 The CAHPS Analysis Program...1 Computing Requirements...1 Pre-Analysis Decisions...2 What Does the CAHPS
More informationApplications Development ABSTRACT PROGRAM DESIGN INTRODUCTION SAS FEATURES USED
Checking and Tracking SAS Programs Using SAS Software Keith M. Gregg, Ph.D., SCIREX Corporation, Chicago, IL Yefim Gershteyn, Ph.D., SCIREX Corporation, Chicago, IL ABSTRACT Various checks on consistency
More informationMATCH-MERGING: 20 Some Traps and How to Avoid Them. Malachy J. Foley. University of North Carolina at Chapel Hill, NC ABSTRACT
MATCH-MERGING: 20 Some Traps and How to Avoid Them Malachy J. Foley University of North Carolina at Chapel Hill, NC ABSTRACT Match-merging is a common form of combining files. Yet, it has its pitfalls.
More informationIntro to Longitudinal Data: A Grad Student How-To Paper Elisa L. Priest 1,2, Ashley W. Collinsworth 1,3 1
Intro to Longitudinal Data: A Grad Student How-To Paper Elisa L. Priest 1,2, Ashley W. Collinsworth 1,3 1 Institute for Health Care Research and Improvement, Baylor Health Care System 2 University of North
More informationBuilding and Customizing a CDISC Compliance and Data Quality Application Wayne Zhong, Accretion Softworks, Chester Springs, PA
WUSS2015 Paper 84 Building and Customizing a CDISC Compliance and Data Quality Application Wayne Zhong, Accretion Softworks, Chester Springs, PA ABSTRACT Creating your own SAS application to perform CDISC
More informationWeb Reporting by Combining the Best of HTML and SAS
Web Reporting by Combining the Best of HTML and SAS Jason Chen, Kaiser Permanente, San Diego, CA Kim Phan, Kaiser Permanente, San Diego, CA Yuexin Cindy Chen, Kaiser Permanente, San Diego, CA ABSTRACT
More informationProject Request and Tracking Using SAS/IntrNet Software Steven Beakley, LabOne, Inc., Lenexa, Kansas
Paper 197 Project Request and Tracking Using SAS/IntrNet Software Steven Beakley, LabOne, Inc., Lenexa, Kansas ABSTRACT The following paper describes a project request and tracking system that has been
More informationSUGI 29 Coders' Corner
Paper 074-29 Tales from the Help Desk: Solutions for Simple SAS Mistakes Bruce Gilsen, Federal Reserve Board INTRODUCTION In 19 years as a SAS consultant at the Federal Reserve Board, I have seen SAS users
More informationSAS Data Set Encryption Options
Technical Paper SAS Data Set Encryption Options SAS product interaction with encrypted data storage Table of Contents Introduction: What Is Encryption?... 1 Test Configuration... 1 Data... 1 Code... 2
More informationSAS UNIX-Space Analyzer A handy tool for UNIX SAS Administrators Airaha Chelvakkanthan Manickam, Cognizant Technology Solutions, Teaneck, NJ
PharmaSUG 2012 Paper PO11 SAS UNIX-Space Analyzer A handy tool for UNIX SAS Administrators Airaha Chelvakkanthan Manickam, Cognizant Technology Solutions, Teaneck, NJ ABSTRACT: In the fast growing area
More informationABSTRACT INTRODUCTION IMPORTING THE DATA SESUG 2012. Paper CT-23
SESUG 2012 Paper CT-23 Introducing a New FINDIT Macro: An Efficient Tool for Simultaneously Searching Several Free-Text Fields Using Multiple Keywords LaTonia Richardson, Centers for Disease Control and
More informationDynamic Decision-Making Web Services Using SAS Stored Processes and SAS Business Rules Manager
Paper SAS1787-2015 Dynamic Decision-Making Web Services Using SAS Stored Processes and SAS Business Rules Manager Chris Upton and Lori Small, SAS Institute Inc. ABSTRACT With the latest release of SAS
More informationHow To Use Sas With A Computer System Knowledge Management (Sas)
Paper AD13 Medical Coding System for Clinical Trials 21 CFR Part 11 Compliant SAS/AF Application Annie Guo, ICON Clinical Research, Redwood City, CA ABSTRACT Medical coding in clinical trials is to classify
More informationKEY FEATURES OF SOURCE CONTROL UTILITIES
Source Code Revision Control Systems and Auto-Documenting Headers for SAS Programs on a UNIX or PC Multiuser Environment Terek Peterson, Alliance Consulting Group, Philadelphia, PA Max Cherny, Alliance
More informationABSTRACT INTRODUCTION %CODE MACRO DEFINITION
Generating Web Application Code for Existing HTML Forms Don Boudreaux, PhD, SAS Institute Inc., Austin, TX Keith Cranford, Office of the Attorney General, Austin, TX ABSTRACT SAS Web Applications typically
More informationPaper 70-27 An Introduction to SAS PROC SQL Timothy J Harrington, Venturi Partners Consulting, Waukegan, Illinois
Paper 70-27 An Introduction to SAS PROC SQL Timothy J Harrington, Venturi Partners Consulting, Waukegan, Illinois Abstract This paper introduces SAS users with at least a basic understanding of SAS data
More informationEliminating Tedium by Building Applications that Use SQL Generated SAS Code Segments
Eliminating Tedium by Building Applications that Use SQL Generated SAS Code Segments David A. Mabey, Reader s Digest Association Inc., Pleasantville, NY ABSTRACT When SAS applications are driven by data-generated
More informationOBJECT_EXIST: A Macro to Check if a Specified Object Exists Jim Johnson, Independent Consultant, North Wales, PA
PharmaSUG2010 - Paper TU01 OBJECT_EXIST: A Macro to Check if a Specified Object Exists Jim Johnson, Independent Consultant, North Wales, PA ABSTRACT This paper describes a macro designed to quickly tell
More informationBag it, Tag it & Put it: Project tracking one click away!
Bag it, Tag it & Put it: Project tracking one click away! Abhishek Bakshi Cytel, Pune The views expressed in this presentation are my own and do not necessarily represent the views of Cytel Statistical
More informationSAS PROGRAM EFFICIENCY FOR BEGINNERS. Bruce Gilsen, Federal Reserve Board
SAS PROGRAM EFFICIENCY FOR BEGINNERS Bruce Gilsen, Federal Reserve Board INTRODUCTION This paper presents simple efficiency techniques that can benefit inexperienced SAS software users on all platforms.
More informationProgramming Tricks For Reducing Storage And Work Space Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA.
Paper 23-27 Programming Tricks For Reducing Storage And Work Space Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA. ABSTRACT Have you ever had trouble getting a SAS job to complete, although
More informationSimulate PRELOADFMT Option in PROC FREQ Ajay Gupta, PPD, Morrisville, NC
ABSTRACT PharmaSUG 2015 - Paper QT33 Simulate PRELOADFMT Option in PROC FREQ Ajay Gupta, PPD, Morrisville, NC In Pharmaceuticals/CRO industries, table programing is often started when only partial data
More informationHealth Services Research Utilizing Electronic Health Record Data: A Grad Student How-To Paper
Paper 3485-2015 Health Services Research Utilizing Electronic Health Record Data: A Grad Student How-To Paper Ashley W. Collinsworth, ScD, MPH, Baylor Scott & White Health and Tulane University School
More informationSUGI 29 Posters. Mazen Abdellatif, M.S., Hines VA CSPCC, Hines IL, 60141, USA
A SAS Macro for Generating Randomization Lists in Clinical Trials Using Permuted Blocks Randomization Mazen Abdellatif, M.S., Hines VA CSPCC, Hines IL, 60141, USA ABSTRACT We developed a SAS [1] macro
More informationAN INTRODUCTION TO THE SQL PROCEDURE Chris Yindra, C. Y. Associates
AN INTRODUCTION TO THE SQL PROCEDURE Chris Yindra, C Y Associates Abstract This tutorial will introduce the SQL (Structured Query Language) procedure through a series of simple examples We will initially
More informationAN INTRODUCTION TO MACRO VARIABLES AND MACRO PROGRAMS Mike S. Zdeb, New York State Department of Health
AN INTRODUCTION TO MACRO VARIABLES AND MACRO PROGRAMS Mike S. Zdeb, New York State Department of Health INTRODUCTION There are a number of SAS tools that you may never have to use. Why? The main reason
More informationMore Tales from the Help Desk: Solutions for Simple SAS Mistakes Bruce Gilsen, Federal Reserve Board
More Tales from the Help Desk: Solutions for Simple SAS Mistakes Bruce Gilsen, Federal Reserve Board INTRODUCTION In 20 years as a SAS consultant at the Federal Reserve Board, I have seen SAS users make
More informationCHAPTER 1 Overview of SAS/ACCESS Interface to Relational Databases
3 CHAPTER 1 Overview of SAS/ACCESS Interface to Relational Databases About This Document 3 Methods for Accessing Relational Database Data 4 Selecting a SAS/ACCESS Method 4 Methods for Accessing DBMS Tables
More informationNT Event Log. CHAPTER 8 Enhancements for SAS Users under Windows NT
157 CHAPTER 8 Enhancements for SAS Users under Windows NT 157 NT Event Log 157 Sending Messages to the NT Event Log using SAS Code 158 NT Performance Monitor 159 Examples of Monitoring SAS Performance
More informationWilliam E Benjamin Jr, Owl Computer Consultancy, LLC
So, You ve Got Data Enterprise Wide (SAS, ACCESS, EXCEL, MySQL, Oracle, and Others); Well, Let SAS Enterprise Guide Software Point-n-Click Your Way to Using It. William E Benjamin Jr, Owl Computer Consultancy,
More informationThis book serves as a guide for those interested in using IBM
1 Overview This book serves as a guide for those interested in using IBM SPSS/PASW Statistics software to aid in statistical data analysis whether as a companion to a statistics or research methods course
More informationA robust and flexible approach to automating SAS jobs under Unix Mike Atkinson, with the Ministry of Health Services, British Columbia
A robust and flexible approach to automating SAS jobs under Unix Mike Atkinson, with the Ministry of Health Services, British Columbia Abstract So you ve got a Unix server that is terrific for running
More informationThe Power of CALL SYMPUT DATA Step Interface by Examples Yunchao (Susan) Tian, Social & Scientific Systems, Inc., Silver Spring, MD
Paper 052-29 The Power of CALL SYMPUT DATA Step Interface by Examples Yunchao (Susan) Tian, Social & Scientific Systems, Inc., Silver Spring, MD ABSTRACT AND INTRODUCTION CALL SYMPUT is a SAS language
More informationAn Introduction to SAS/SHARE, By Example
Paper 020-29 An Introduction to SAS/SHARE, By Example Larry Altmayer, U.S. Census Bureau, Washington, DC ABSTRACT SAS/SHARE software is a useful tool for allowing several users to simultaneously access
More informationSAS and Electronic Mail: Send e-mail faster, and DEFINITELY more efficiently
Paper 78-26 SAS and Electronic Mail: Send e-mail faster, and DEFINITELY more efficiently Roy Fleischer, Sodexho Marriott Services, Gaithersburg, MD Abstract With every new software package I install, I
More informationBraindumps.A00-260.54.QA
Braindumps.A00-260.54.QA Number: A00-260 Passing Score: 800 Time Limit: 120 min File Version: 14.0 http://www.gratisexam.com/ Comprehensive, easy and to the point study material made it possible for me
More informationTop Ten Reasons to Use PROC SQL
Paper 042-29 Top Ten Reasons to Use PROC SQL Weiming Hu, Center for Health Research Kaiser Permanente, Portland, Oregon, USA ABSTRACT Among SAS users, it seems there are two groups of people, those who
More information