# SUGI 29 Coders' Corner

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Paper 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 make the same mistakes year after year. This paper reviews some common mistakes, shows how to fix them, and suggests why some of the mistakes occur so often. 1. USING THE LAG FUNCTION IN A CONDITIONAL STATEMENT. Data set ONE has the following data. VAR1 VAR A user wants to assign values to the variable LAGVAR2 as follows. If VAR1 is greater than 0, then LAGVAR2 = the value of VAR2 in the previous observation. Otherwise, LAGVAR2 = missing (.). The user submits the following DATA step. The user might include an ELSE statement after the IF statement, ELSE LAGVAR2 =.;, but this statement does not change the results, so it is not included in this DATA step. data two; set one; if var1 > 0 then lagvar2 = lag(var2); Data set TWO has the following data. Note that LAGVAR2 is 1 in the third observation; 2 was expected. Also, LAGVAR2 is 3 in the fifth observation; 4 was expected. VAR1 VAR2 LAGVAR Users make this error because the intuitive definition of a LAG function is that it always returns the value in the previous observation. In fact, the LAG function works as follows. Every time LAG(VAR2) is executed, the current value of VAR2 is stored on a queue the value of VAR2 from the last time LAG(VAR2) was executed is retrieved LAG functions that are executed conditionally (as in DATA step TWO above) only store and retrieve values from observations for which the condition is satisfied. This is best illustrated by example. In DATA step TWO, the condition is satisfied (VAR1 is greater than 0) in the first, third, and fifth observations. LAGVAR2 is assigned as follows. Observation 1. The current value of VAR2, 1, is stored. No previous value of VAR2 is available to retrieve, so LAGVAR2 is set to missing (.). Observation 2. 1

2 The IF statement is false, so the LAG function is not executed, and nothing is stored or retrieved. Observation 3. The current value of VAR2, 3, is stored. The most recently stored value of VAR2, 1, is retrieved and assigned to Observation 4. The IF statement is false, so the LAG function is not executed, and nothing is stored or retrieved. Observation 5. The current value of VAR2, 5, is stored. The most recently stored value of VAR2, 3, is retrieved and assigned to To get the expected results, move the LAG function outside of the conditional code, so that it executes in every observation, as in the following DATA step. data two; set one; lagvar2 = lag(var2); if var1 <= 0 then lagvar2 =.; Data set TWO has the following data. VAR1 VAR2 LAGVAR This DATA step executes as follows. Observation 1, statement with LAG function. The current value of VAR2, 1, is stored. No previous lagged value of VAR2 is available to retrieve, so LAGVAR2 is set to missing. Observation 1, IF statement. The IF statement is false, so no action is taken. Observation 2, statement with LAG function. The current value of VAR2, 2, is stored. The most recently stored value of VAR2, 1, is retrieved and assigned to Observation 2, IF statement. The IF statement is true, so LAGVAR2 is set to missing. Observation 3, statement with LAG function. The current value of VAR2, 3, is stored. The most recently stored value of VAR2, 2, is retrieved and assigned to Observation 3, IF statement. The IF statement is false, so no action is taken. Observation 4, statement with LAG function. The current value of VAR2, 4, is stored. The most recently stored value of VAR2, 3, is retrieved and assigned to Observation 4, IF statement. The IF statement is true, so LAGVAR2 is set to missing. Observation 5, statement with LAG function. The current value of VAR2, 5, is stored. The most recently stored value of VAR2, 4, is retrieved and assigned to 2

3 Observation 5, IF statement. The IF statement is false, so no action is taken. The LAG function returns values that are lagged one time. The related functions LAG2, LAG3,..., LAG100 return values that are lagged 2, 3,..., 100 times. These functions behave analogously to the LAG function in conditional code. Another way to correctly code the DATA step is as follows. data two; set one; drop _templagvar2; _templagvar2 = lag(var2); if var1 > 0 then lagvar2 = _templagvar2; 2. CHARACTER VARIABLE TRUNCATION. In data set ONE, created by the following DATA step, CHARVAR1 has the expected value, fffggghhhiii, but CHARVAR2 has the value jjj, not jjjkkklllmmm. data one; numvar = 100; charvar1 = "aaabbbcccddd"; charvar2 = "eee"; if numvar > 0 then do; charvar1 = "fffggghhhiii"; charvar2 = "jjjkkklllmmm"; end; /* display results and related info */ proc print data=one; proc contents data=one; Here is output from PROC PRINT. Obs numvar charvar1 charvar fffggghhhiii jjj To help understand the result, here is output from PROC CONTENTS. # Variable Type Len Pos charvar1 Char charvar2 Char numvar Num 8 0 Note that the length of CHARVAR1 is 12 and CHARVAR2 is 3. The length of a character variable is determined the first time it is used ( first usage ). Subsequent statements in the DATA step cannot change the length. In the DATA step above, first usage of CHARVAR1 and CHARVAR2 is in the following statements. The lengths of "aaabbbcccddd", 12, and eee, 3, determine the lengths CHARVAR1 and CHARVAR2. charvar1 = "aaabbbcccddd"; charvar2 = "eee"; To avoid this problem, use a LENGTH statement to create the variables. Code the LENGTH statement before other usage of the variables in the DATA step, so it is the first usage of the variables. Set the length of each variable to its largest possible value. data one; 3

4 length charvar1 \$12 charvar2 \$12; numvar = 100; charvar1 = "aaabbbcccddd"; charvar2 = "eee"; if numvar > 0 then do; charvar1 = "fffggghhhiii"; charvar2 = "jjjkkklllmmm"; end; Here is output from PROC PRINT. CHARVAR2 now has the correct value. Obs numvar charvar1 charvar fffggghhhiii jjjkkklllmmm Here is output from PROC CONTENTS. The length of CHARVAR2 is now 12. # Variable Type Len Pos charvar1 Char charvar2 Char numvar Num TRUNCATION READING AND WRITING EXTERNAL FILES ON THE UNIX AND WINDOWS PLATFORMS. On the UNIX and Windows platforms, the default record length of an external file is 256 bytes. Unless a longer record length is specified, the following is true. When reading from an external file with INPUT statements, input values past column 256 are not read. When writing to an external file with PUT statements, output values are not written past column 256. Two reasons that new users encounter truncation problems are as follows. The default record length is documented in operating system-specific documentation such as the SAS Companion for UNIX Environments, Version 8, which new users are unlikely to read. No warning or error messages are written to the SAS log. Innocuous-looking notes that identify the problem are written to the SAS log, but many users ignore SAS log notes. Example 1. Input values past column 256 are not read. The UNIX file /my/external/file contains two records. Record 1: columns 1-90 have the letter a columns have the letter b columns have the letter c Record 2: columns 1-90 have the letter d columns have the letter e columns have the letter f The user submits the following code. data one; infile '/my/external/file'; input cv1 \$90. cv2 \$90. cv3 \$90.; Data set ONE has one observation, not two, as follows. 4

5 CV1 has 90 a s, as expected. CV2 has 90 b s, as expected. CV3 has 90 d s, not 90 c s as expected. The informat for CV3, \$90, requests that 90 characters be read. Since the 90 characters beginning in column181 extend past column 256, they are not read. Instead, SAS goes to the next line, reads the 90 d s in columns 1-90, and assigns them to CV3. The SAS log contains the following notes. In this case, it s easy to notice that the data set has only one observation. More generally, a user might not know how large the data set should be, and might not notice the smaller than expected number of observations. Other important information in the SAS log (maximum record length 256, lines were truncated), is easy to ignore. NOTE: 2 records were read from the infile '/my/external/file'. The minimum record length was 256. The maximum record length was 256. One or more lines were truncated. NOTE: SAS went to a new line when INPUT statement reached past the end of a line. NOTE: The data set WORK.ONE has 1 observations and 3 variables. Example 2. Output values are not written past column 256. Data set ONE has two observations, as follows. CV1, CV2, and CV3 are all character variables of length 90. Observation 1: CV1 has 90 a s CV2 has 90 b s CV3 has 90 c s Observation 2: CV1 has 90 d s CV2 has 90 e s CV3 has 90 f s To write data values to an external file, the following code is submitted. data _null_; set one; file '/my/external/file2'; put cv1 \$90. cv2 \$90. cv3 \$90.; The expected result is as follows. Record 1: columns 1-90 have the letter a columns have the letter b columns have the letter c Record 2: columns 1-90 have the letter d columns have the letter e columns have the letter f The external file actually has four records, as follows. Record 1: columns 1-90 have the letter a, as expected columns have the letter b, as expected Record 2: columns 1-90 have the letter c Record 3: 5

7 The UNIX command dos2unix often fixes these errors. It converts Windows characters in an external file, including non-display characters, to UNIX characters. For example, the following command runs dos2unix on the file blah.txt, and writes the results to the file bling.txt. The original file is unchanged. dos2unix blah.txt bling.txt At the Federal Reserve Board, dos2unix fixes about 95% of troublesome UNIX files. A detailed discussion of how to fix the remaining files is beyond the scope of this paper, but one approach is to take the following steps. Edit the file with an editor such as Emacs that displays hexadecimal characters. If a field cannot be read, look for inappropriate non-display characters in that field and the field immediately before it. Convert the offending non-display characters to characters appropriate to the current platform. The examples below are entered at a UNIX prompt and execute Perl. 1. Convert all Windows carriage return line feeds (hexadecimal 0D0A ) to UNIX line feeds (hexadecimal 0A ) in the file z.txt. Overwrite the existing file without backup. perl -pi -e 's/\x0d\x0a/\x0a/g' z.txt 2. Convert all occurrences of hexadecimal 0D to spaces (hexadecimal 20 ) in the file blah.txt. Overwrite the existing file, and back it up to blah.txt.bak. perl -pi.bak -e 's/\x0d/\x20/g' blah.txt CONCLUSION This paper reviewed some common mistakes made by SAS users. It showed how to fix the mistakes, and suggested why some of the mistakes occur so often. Hopefully, this will reduce the frequency of these mistakes in the future. For more information, contact Bruce Gilsen Federal Reserve Board, Mail Stop 157 Washington, DC phone: REFERENCES Gilsen, Bruce (2003), Deja-vu All Over Again: Common Mistakes by New SAS Users, in the Proceedings of the Sixteenth Annual NorthEast SAS Users Group Conference, 16. Grant, Paul (1993), The SKIP Statement, in the Proceedings of the Sixth Annual NorthEast SAS Users Group Conference, 6, SAS Institute Inc (1999), "SAS Companion for the Microsoft Windows Environment," Cary, NC: SAS Institute Inc. SAS Institute Inc (1999), "SAS Companion for the OS/390 Environment," Cary, NC: SAS Institute Inc. SAS Institute Inc (1999), "SAS Companion for UNIX Environments," Cary, NC: SAS Institute Inc. SAS Institute Inc (1999), "SAS Language Reference: Concepts," Cary, NC: SAS Institute Inc. SAS Institute Inc (1999), "SAS Language Reference, Version 8," Cary, NC: SAS Institute Inc. SAS Institute Inc (1999), "SAS Macro Language: Reference, Version 8," Cary, NC: SAS Institute Inc. SAS Institute Inc (1999), "SAS Procedures Guide, Version 8," Cary, NC: SAS Institute Inc. 7

8 ACKNOWLEDGMENTS The following people contributed extensively to the development of this paper: Donna Hill and Steve Taubman at the Federal Reserve Board, and Avi Peled at the Federal Reserve Bank of Philadelphia. Their support is greatly appreciated. TRADEMARK INFORMATION 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 registered trademarks or trademarks of their respective companies. 8

### More 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

### Tales from the Help Desk 3: More Solutions for Simple SAS Mistakes Bruce Gilsen, Federal Reserve Board

Tales from the Help Desk 3: More 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

### SAS 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.

### Technical Paper. Reading Delimited Text Files into SAS 9

Technical Paper Reading Delimited Text Files into SAS 9 Release Information Content Version: 1.1July 2015 (This paper replaces TS-673 released in 2009.) Trademarks and Patents SAS Institute Inc., SAS Campus

### Importing Excel Files Into SAS Using DDE Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA

Importing Excel Files Into SAS Using DDE Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA ABSTRACT With the popularity of Excel files, the SAS user could use an easy way to get Excel files

### UNIX Comes to the Rescue: A Comparison between UNIX SAS and PC SAS

UNIX Comes to the Rescue: A Comparison between UNIX SAS and PC SAS Chii-Dean Lin, San Diego State University, San Diego, CA Ming Ji, San Diego State University, San Diego, CA ABSTRACT Running SAS under

### SUGI 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

Reading Difficult Raw Data Matthew Cohen Wharton Research Data Services ABSTRACT Raw data from outside sources is often messy and can be difficult to read into SAS. This paper will cover many of the features

### Search 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

### An 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

### Everything you wanted to know about MERGE but were afraid to ask

TS- 644 Janice Bloom Everything you wanted to know about MERGE but were afraid to ask So you have read the documentation in the SAS Language Reference for MERGE and it still does not make sense? Rest assured

### Preparing 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

### AN 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

### Optimizing 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

### Using DDE and SAS/Macro for Automated Excel Report Consolidation and Generation

Using DDE and SAS/Macro for Automated Excel Report Consolidation and Generation Mengxi Li, Sandra Archer, Russell Denslow Sodexho Campus Services, Orlando, FL Abstract Each week, the Sodexho Campus Services

### Using 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

### A 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

### While You Were Sleeping - Scheduling SAS Jobs to Run Automatically Faron Kincheloe, Baylor University, Waco, TX

CC04 While You Were Sleeping - Scheduling SAS Jobs to Run Automatically Faron Kincheloe, Baylor University, Waco, TX ABSTRACT If you are tired of running the same jobs over and over again, this paper is

### Integrity Constraints and Audit Trails Working Together Gary Franklin, SAS Institute Inc., Austin, TX Art Jensen, SAS Institute Inc.

Paper 8-25 Integrity Constraints and Audit Trails Working Together Gary Franklin, SAS Institute Inc., Austin, TX Art Jensen, SAS Institute Inc., Englewood, CO ABSTRACT New features in Version 7 and Version

### An 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

### A 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

### Creating External Files Using SAS Software

Creating External Files Using SAS Software Clinton S. Rickards Oxford Health Plans, Norwalk, CT ABSTRACT This paper will review the techniques for creating external files for use with other software. This

### How to Copy A SQL Database SQL Server Express (Making a History Company)

How to Copy A SQL Database SQL Server Express (Making a History Company) These instructions are written for use with SQL Server Express. Check with your Network Administrator if you are not sure if you

### SAS Hints. data _null_; infile testit pad missover lrecl=3; input answer \$3.; put answer=; run; May 30, 2008

SAS Hints Delete tempary files Determine if a file exists Direct output to different directy Errs (specify # of errs f SAS to put into log) Execute Unix command from SAS Generate delimited file with no

### Lesson 07: MS ACCESS - Handout. Introduction to database (30 mins)

Lesson 07: MS ACCESS - Handout Handout Introduction to database (30 mins) Microsoft Access is a database application. A database is a collection of related information put together in database objects.

### Paper TT09 Using SAS to Send Bulk Emails With Attachments

Paper TT09 Using SAS to Send Bulk Emails With Attachments Wenjie Wang, Pro Unlimited, Bridgewater, NJ Simon Lin, Merck Research Labs, Merck & Co., Inc., Rahway, NJ ABSTRACT In the business world, using

### SPSS for Windows importing and exporting data

Guide 86 Version 3.0 SPSS for Windows importing and exporting data This document outlines the procedures to follow if you want to transfer data from a Windows application like Word 2002 (Office XP), Excel

### Overview. 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

### UNIX Operating Environment

97 CHAPTER 14 UNIX Operating Environment Specifying File Attributes for UNIX 97 Determining the SAS Release Used to Create a Member 97 Creating a Transport File on Tape 98 Copying the Transport File from

### 9-26 MISSOVER, TRUNCOVER,

Paper 9-26 MISSOVER, TRUNCOVER, and PAD, OH MY!! or Making Sense of the INFILE and INPUT Statements. Randall Cates, MPH, Technical Training Specialist ABSTRACT The SAS System has many powerful tools to

### SAS 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

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

### SAS Macros as File Management Utility Programs

Paper 219-26 SAS Macros as File Management Utility Programs Christopher J. Rook, EDP Contract Services, Bala Cynwyd, PA Shi-Tao Yeh, EDP Contract Services, Bala Cynwyd, PA ABSTRACT This paper provides

### An Introduction to SASlFSP Software Terry Fain, RAND, Santa Monica, California Cyndie Gareleck, RAND, Santa Monica, California

An Introduction to SASlFSP Software Terry Fain, RAND, Santa Monica, California Cyndie Gareleck, RAND, Santa Monica, California ABSTRACT SASIFSP is a set of procedures used to perform full screen interactive

### Dynamic 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

### Transferring vs. Transporting Between SAS Operating Environments Mimi Lou, Medical College of Georgia, Augusta, GA

CC13 Transferring vs. Transporting Between SAS Operating Environments Mimi Lou, Medical College of Georgia, Augusta, GA ABSTRACT Prior to SAS version 8, permanent SAS data sets cannot be moved directly

### Introduction to SAS Informats and Formats

CHAPTER 1 Introduction to SAS Informats and Formats 1.1 Chapter Overview... 2 1.2 Using SAS Informats... 2 1.2.1 INPUT Statement... 3 1.2.2 INPUT Function... 7 1.2.3 INPUTN and INPUTC Functions... 8 1.2.4

### Choosing 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.

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.,

### How to Create and Send a Froogle Data Feed

How to Create and Send a Froogle Data Feed Welcome to Froogle! The quickest way to get your products on Froogle is to send a data feed. A data feed is a file that contains a listing of your products. Froogle

### Utilities. 2003... ComCash

Utilities ComCash Utilities All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including photocopying, recording, taping, or

### Be a More Productive Cross-Platform SAS Programmer Using Enterprise Guide

Be a More Productive Cross-Platform SAS Programmer Using Enterprise Guide Alex Tsui Independent Consultant Business Strategy, Analytics, Software Development ACT Consulting, LLC Introduction As a consultant

### You 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

### Instant 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

### While You Were Sleeping - Scheduling SAS Jobs to Run Automatically Faron Kincheloe, Baylor University, Waco, TX

Paper 276-27 While You Were Sleeping - Scheduling SAS Jobs to Run Automatically Faron Kincheloe, Baylor University, Waco, TX ABSTRACT If you are tired of running the same jobs over and over again, this

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

### SAS 9.3 Foundation for Microsoft Windows

Software License Renewal Instructions SAS 9.3 Foundation for Microsoft Windows Note: In this document, references to Microsoft Windows or Windows include Microsoft Windows for x64. SAS software is licensed

### Post 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

### How to Reduce the Disk Space Required by a SAS Data Set

How to Reduce the Disk Space Required by a SAS Data Set Selvaratnam Sridharma, U.S. Census Bureau, Washington, DC ABSTRACT SAS datasets can be large and disk space can often be at a premium. In this paper,

### Using 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

### DBF Chapter. Note to UNIX and OS/390 Users. Import/Export Facility CHAPTER 7

97 CHAPTER 7 DBF Chapter Note to UNIX and OS/390 Users 97 Import/Export Facility 97 Understanding DBF Essentials 98 DBF Files 98 DBF File Naming Conventions 99 DBF File Data Types 99 ACCESS Procedure Data

### Paper 74881-2011 Creating SAS Datasets from Varied Sources Mansi Singh and Sofia Shamas, MaxisIT Inc, NJ

Paper 788-0 Creating SAS Datasets from Varied Sources Mansi Singh and Sofia Shamas, MaxisIT Inc, NJ ABSTRACT Often SAS programmers find themselves dealing with data coming from multiple sources and usually

### Intel Solid-State Drive Data Center Tool User Guide Version 1.1

Intel Solid-State Drive Data Center Tool User Guide Version 1.1 Order Number: 327191-002 October 2012 INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR

### Preparing 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

### SQL Server An Overview

SQL Server An Overview SQL Server Microsoft SQL Server is designed to work effectively in a number of environments: As a two-tier or multi-tier client/server database system As a desktop database system

### Project 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

### CHAPTER 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

### Analyzing 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

### How 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

### Paper 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

### Scheduling in SAS 9.3

Scheduling in SAS 9.3 SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc 2011. Scheduling in SAS 9.3. Cary, NC: SAS Institute Inc. Scheduling in SAS 9.3

### Importing 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.

### Moving Data From Excel To SAS. Back Again

Moving Data From Excel To SAS And Back Again By Ben Cochran The Bedford Group bedfordgroup@nc.rr.com 1 Contents 1. Using DDE to Import Excel Data 2. Using the Import / Export Wizard 3. Using PROC IMPORT

### What You re Missing About Missing Values

Paper 1440-2014 What You re Missing About Missing Values Christopher J. Bost, MDRC, New York, NY ABSTRACT Do you know everything you need to know about missing values? Do you know how to assign a missing

### SAS 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

s Import File Specification To import a notepad file, select the file using the Browse button then click on the Automatic import link: 1. Select the file to import 2. Click on the Automatic Import link

### KEY 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

### SAS/Data Integration Studio Creating and Using A Generated Transformation Jeff Dyson, Financial Risk Group, Cary, NC

Paper BB-05 SAS/Data Integration Studio Creating and Using A Generated Transformation Jeff Dyson, Financial Risk Group, Cary, NC ABSTRACT SAS/Data Integration Studio (DI Studio) transformations are packaged

### Emailing Automated Notification of Errors in a Batch SAS Program Julie Kilburn, City of Hope, Duarte, CA Rebecca Ottesen, City of Hope, Duarte, CA

Emailing 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

### Attix5 Pro Server Edition

Attix5 Pro Server Edition V7.0.3 User Manual for Linux and Unix operating systems Your guide to protecting data with Attix5 Pro Server Edition. Copyright notice and proprietary information All rights reserved.

### Real-Time Market Monitoring using SAS BI Tools

Paper 1835-2014 Real-Time Market Monitoring using SAS BI Tools Amol Deshmukh, CA ISO Corporation, Folsom Jeff McDonald, CA ISO Corporation, Folsom Abstract The Department of Market Monitoring at California

### SAS, Excel, and the Intranet

SAS, Excel, and the Intranet Peter N. Prause, The Hartford, Hartford CT Charles Patridge, The Hartford, Hartford CT Introduction: The Hartford s Corporate Profit Model (CPM) is a SAS based multi-platform

### ODBC Chapter,First Edition

1 CHAPTER 1 ODBC Chapter,First Edition Introduction 1 Overview of ODBC 2 SAS/ACCESS LIBNAME Statement 3 Data Set Options: ODBC Specifics 15 DBLOAD Procedure: ODBC Specifics 25 DBLOAD Procedure Statements

### Easy Setup Guide for the Sony Network Camera

-878-191-11 (1) Easy Setup Guide for the Sony Network Camera For setup, a computer running the Microsoft Windows Operating System is required. For monitoring camera images, Microsoft Internet Explorer

### Web 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

### SAS/ACCESS 9.3 Interface to PC Files

SAS/ACCESS 9.3 Interface to PC Files Reference SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2011. SAS/ACCESS 9.3 Interface to Files: Reference.

### PaperClip. em4 Cloud Client. Setup Guide

PaperClip em4 Cloud Client Setup Guide Copyright Information Copyright 2014, PaperClip Inc. - The PaperClip32 product name and PaperClip Logo are registered trademarks of PaperClip Inc. All brand and product

### ABSTRACT INTRODUCTION HOW WE RANDOMIZE PATIENTS IN SOME OF THE CLINICAL TRIALS. allpt.txt

SAS Program as a Backup Tool for an Adaptive Randomization System Yajie Wang, Clinical Studies Program Coordination Center (CSPCC), VA Palo Alto Health Care System, Mountain View, California ABSTRACT The

### Scheduling in SAS 9.4 Second Edition

Scheduling in SAS 9.4 Second Edition SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2015. Scheduling in SAS 9.4, Second Edition. Cary, NC: SAS Institute

### SAS Credit Scoring for Banking 4.3

SAS Credit Scoring for Banking 4.3 Hot Fix 1 SAS Banking Intelligence Solutions ii SAS Credit Scoring for Banking 4.3: Hot Fix 1 The correct bibliographic citation for this manual is as follows: SAS Institute

### SAS 9.4 Logging. Configuration and Programming Reference Second Edition. SAS Documentation

SAS 9.4 Logging Configuration and Programming Reference Second Edition SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2014. SAS 9.4 Logging: Configuration

### Using SAS Enterprise Business Intelligence to Automate a Manual Process: A Case Study Erik S. Larsen, Independent Consultant, Charleston, SC

Using SAS Enterprise Business Intelligence to Automate a Manual Process: A Case Study Erik S. Larsen, Independent Consultant, Charleston, SC Abstract: Often times while on a client site as a SAS consultant,

### PharmaSUG 2015 - Paper QT26

PharmaSUG 2015 - Paper QT26 Keyboard Macros - The most magical tool you may have never heard of - You will never program the same again (It's that amazing!) Steven Black, Agility-Clinical Inc., Carlsbad,

### Switching from PC SAS to SAS Enterprise Guide Zhengxin (Cindy) Yang, inventiv Health Clinical, Princeton, NJ

PharmaSUG 2014 PO10 Switching from PC SAS to SAS Enterprise Guide Zhengxin (Cindy) Yang, inventiv Health Clinical, Princeton, NJ ABSTRACT As more and more organizations adapt to the SAS Enterprise Guide,

### %DIFF: A SAS Macro to Compare Documents in Word or ASCII Format. Michelle Xu and Jay Zhou Amylin Pharmaceuticals, Inc.

Paper CC09 %DIFF: A SAS Macro to Compare Documents in Word or ASCII Format Michelle Xu and Jay Zhou Amylin Pharmaceuticals, Inc., San Diego, CA ABSTRACT Manually comparing outputs, generated using SAS

### Line Feeds How to detect them and get rid of them? Kalyani Kothapalli, MDS Pharma Services, Lincoln, NE

Paper CC06 Line Feeds How to detect them and get rid of them? Kalyani Kothapalli, MDS Pharma Services, Lincoln, NE ABSTRACT: In the pharmaceutical industry, it is common to receive data in EXCEL format.

### Automating 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)

### The Essentials of Finding the Distinct, Unique, and Duplicate Values in Your Data

The Essentials of Finding the Distinct, Unique, and Duplicate Values in Your Data Carter Sevick MS, DoD Center for Deployment Health Research, San Diego, CA ABSTRACT Whether by design or by error there

### SAS Abbreviations Are Your Friends; Use a Template Method to Code! Elizabeth Ceranowski, SAS Institute Inc., Cary, NC

Paper CC-18 SAS Abbreviations Are Your Friends; Use a Template Method to Code! Elizabeth Ceranowski, SAS Institute Inc., Cary, NC ABSTRACT Often, coders find themselves using the same procedures or sequence

### SAS 9.3 Logging: Configuration and Programming Reference

SAS 9.3 Logging: Configuration and Programming Reference SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2011. SAS 9.3 Logging: Configuration and

### An 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,

### Sheng Zhang, Merck & Co., Inc., Upper Gwynedd, PA Junjie Lu, Merck & Co., Inc., Upper Gwynedd, PA

Automation of Comparing SAS Program File Versions Located at Different Working Areas Abstract Sheng Zhang, Merck & Co., Inc., Upper Gwynedd, PA Junjie Lu, Merck & Co., Inc., Upper Gwynedd, PA Version conflicts

### SUGI 29 Data Presentation

Paper 088-29 Perfecting Report Output to RTF Steven Feder, Federal Reserve Board, Washington, D.C. ABSTRACT Output Delivery System (ODS) output to RTF presents possibilities for creating publication-ready

### SAS and UNIX: Techniques for Developing Your Toolbox Joe Novotny, GlaxoSmithKline Pharmaceuticals, Inc., Collegeville, PA

Paper AA600 SAS and UNIX: Techniques for Developing Your Toolbox Joe Novotny, GlaxoSmithKline Pharmaceuticals, Inc., Collegeville, PA ABSTRACT How many times have you had to write and run short SAS programs

### Paper 278-27. Jeff House, SAS, Cary, NC

s Architecture Paper 278-27 Enterprise-Wide Deployment of Windows Using ation Technologies Jeff House,, Cary, NC ABSTRACT This paper is intended for administrators who are responsible for deploying software

### 9.1 SAS/ACCESS. Interface to SAP BW. User s Guide

SAS/ACCESS 9.1 Interface to SAP BW User s Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2004. SAS/ACCESS 9.1 Interface to SAP BW: User s Guide. Cary, NC: SAS

### The SET Statement and Beyond: Uses and Abuses of the SET Statement. S. David Riba, JADE Tech, Inc., Clearwater, FL

The SET Statement and Beyond: Uses and Abuses of the SET Statement S. David Riba, JADE Tech, Inc., Clearwater, FL ABSTRACT The SET statement is one of the most frequently used statements in the SAS System.