The entire SAS code for the %CHK_MISSING macro is in the Appendix. The full macro specification is listed as follows: %chk_missing(indsn=, outdsn= );

Size: px
Start display at page:

Download "The entire SAS code for the %CHK_MISSING macro is in the Appendix. The full macro specification is listed as follows: %chk_missing(indsn=, outdsn= );"

Transcription

1 Macro Tabulating Missing Values, Leveraging SAS PROC CONTENTS Adam Chow, Health Economics Resource Center (HERC) VA Palo Alto Health Care System Department of Veterans Affairs (Menlo Park, CA) Abstract Metadata, in a broad context, is data about data. Executing a SAS PROC CONTENTS is a form of metadata. When you run a PROC CONTENTS on a SAS data set, the results tell you various attributes of the data set. Moreover, it details each variable in the data set, such as the name, the variable type (numeric or character), the variable label that makes the name s mnemonic a little bit more meaningful, and the variable format that instructs the SAS System on how the values are to be displayed externally. As insightful as PROC CONTENTS is, however, it does not tell you anything about missing values. Accordingly, by leveraging the results from PROC CONTENTS, the %CHK_MISSING macro described in this paper, tabulates missing values for each variable in a data set and reports the count and the corresponding percentage in a separate data set. This paper will: 1) summarize the macro specification 2) examine the design methodology and syntax and 3) demonstrate how it is used with an illustration. The %CHK_MISSING macro was developed and tested under Base SAS Service Pack 4 in UNIX, SUN operating system 5.10 platform. Introduction Missing data is not uncommon in SAS data sets. A common technique to quickly count missing values in a data set is to directly employ PROC MEANS with the NMISS option. However, this method operates on numeric variables only. As an alternative, one simple way to count both numeric and character missing is to apply the NMISS aggregate function in PROC SQL, but this solution requires writing an aggregate NMISS function for every variable. If you have a data set with tens, hundreds, or even thousands of variables, doing this is very tedious and time consuming. Furthermore, this process is likely to produce mistakes resulting from mistyping or inadvertently skipping over certain variables. In view of this, the %CHK_MISSING macro eliminates this manual process by systematically leveraging information from a single PROC CONTENTS. PROC SQL creates a macro variable storing a list of variable names, followed by another macro variable holding the count of the variable names. With these two pieces of information, augmented with the NMISS summary function, code is dynamically generated in a %DO %UNTIL loop within another PROC SQL. Following execution, the tabulated result is reshaped and merged back to the original PROC CONTENTS. With a data step, the percent missing is calculated, followed by another data step to consolidate and cleanup the information in preparation for external representation. The final product is a SAS data set that looks similar to a PROC CONTENTS found in the SAS Output Window, but also includes the count and percentage missing for each variable. Macro Specification The entire SAS code for the %CHK_MISSING macro is in the Appendix. The full macro specification is listed as follows: %chk_missing(indsn=, outdsn= ) %CHK_MISSING can be called from within any executing SAS code. As presented in this paper, it is a keywords macro and needs just two parameters. Their meaning and usage are briefly explained below: 1) indsn (required): the input SAS data set name 2) outdsn (required): the output SAS data set name 1

2 Design Methodology And Syntax The %CHK_MISSING macro is separated into 8 major parts, of which only the first 5 will be discussed. The last three parts are not as critical, as parts 6 and 7 deal with data cleanup in preparation for another macro call if needed, while part 8 contains several ordinary macro labels placed right before the %MEND statement which stops macro execution. Part 1 %if %length(&indsn) = 0 %then %do %goto ENDIT1 %end %if %length(&outdsn) = 0 %then %do %goto ENDIT1 %end Part 1 quickly checks that two required parameters are entered into the macro. If a parameter is missing when %CHK_MISSING is executed, the %GOTO statement branches to macro label %ENDIT1 where an error message is written to the SAS Log before exiting the macro. Part 2 proc contents data=&indsn out= ac1 noprint run Part 2 is the most important piece of the macro where a PROC CONTENTS is deployed to find attributes of a data set. The NOPRINT option tells SAS not to print the results to the Output Window. Printing is suppressed because it is an extraneous step since most of the relevant information is already contained in data set AC1. Each row in AC1 represents a variable found in the macro s input data set (first macro parameter). The columns, of which there are 40, detail the structure of the input data set (e.g., number of observations). They also tell you the characteristics of each variable, such as the name, variable type (numeric or character), label that allows for a more descriptive verbiage than is possible with just the variable name, and format that instructs SAS on how the values are to be displayed externally. Part 3 proc sql noprint select name into :_v_list_ separated by '~' from ac1 select count(*) into :_numobs_ from ac1 quit %put _V_LIST_ = &_v_list_ %put _NUMOBS_ = &_numobs_ The above PROC SQL creates two macro variables. Macro variable _V_LIST_ is a list comprised of the values of an entire column in data set AC1. Basically, this is a text string of all the variable names in the input data set (first macro parameter). The variable names are separated by the tilde (~) which functions as a text delimiter. As such, the second macro variable _NUMOBS_ simply represents the count of the number of variable names. The %PUT statements immediately following PROC SQL writes the stored values of the two macro variables to the SAS LOG. This code is included so that the list can be visually inspected and validated. If the list is too long, the count simply tells you how many data elements are found on the list. 2

3 Part 4 proc sql create table ac2 as select %let i =1 %do %until(& i > &_numobs_) %if & i = &_numobs_ %then %do nmiss(%scan(&_v_list_,& i,%str(~))) as %scan(&_v_list_,& i,%str(~)) %end %else %do nmiss(%scan(&_v_list_,& i,%str(~))) as %scan(&_v_list_,& i,%str(~)), %end %let i = %eval(& i +1) %end from &indsn quit proc transpose data= ac2 out = ac3 (rename=(col1=miss_count)) name=vars run proc sql create table ac4 as select a.varnum as varnum label="#", a.name as name label="variable", a.type as type, a.length as length label="len", a.format as format label="format", a.formatl, a.formatd, a.label as label label="label", a.nobs, b.miss_count as miss_count from ac1 as a left join ac3 as b on a.name eq b.vars order by varnum quit Tabulating missing values is accomplished in first PROC SQL of this section. Using the macro function %SCAN within a %DO %UNTIL loop, an aggregating NMISS function is dynamically written for each data element on _V_LIST_. The loop stops when index i exceeds the value stored in _NUMOBS_. The result is a one observation data set AC2 where each column represents a variable name holding the count of the missing values. The NMISS aggregate function in PROC SQL counts missing values. Most of the summary statistics that PROC SQL calculates are numeric. However, NMISS is one of the few aggregating functions that can accept either numeric or character type variables. Next, a PROC TRANSPOSE reshapes the one observation data set, from a 1xN to Nx2 data set, where N=_NUMOBS_. In the reorganized data set, AC3, the first column is called VARS which contains all the variable names. The second column, MISS_COUNT, holds all the corresponding missing values counts. The main purpose of reshaping is to prepare data set AC3 to be merged with data set AC1 which was created in Part 2. 3

4 The joining of the data is controlled in the second PROC SQL. Although the original PROC CONTENTS has 40 columns, only a handful are really meaningful: VARNUM showing the variable s column position, NAME, TYPE, LENGTH, three formatting constructs displaying name/length/decimal, LABEL, and NOBS which shows the observation count of the input data set INDEMO. Data set AC4, sorted by VARNUM, is simply a matrix that has PROC CONTENTS information from AC1, as well as missing values counts from AC3. Part 5 data ac5 set ac4 miss_pct=miss_count/nobs format miss_count comma20. miss_pct percent8.3 label miss_count="obs Missing Count" miss_pct ="Obs Missing Pct(%)" run data &outdsn format varnum name type_ set ac5 length type_ $4 if type eq 1 then type_="num" else if type eq 2 then type_="char" if formatl ne 0 and formatd ne 0 then do format=strip(format) strip(put(formatl,3.)) "." strip(put(formatd,3.)) end else if formatl ne 0 then format=strip(format) strip(put(formatl,3.)) "." else if format ne "" then format=strip(format) "." label type_="type" drop type formatl formatd run The NOBS variable generated from PROC CONTENTS in Part 2 indicates the number of observations in a data set. Using NOBS as the denominator, calculation of the percent missing is performed in the first DATA step in Part 5. The subsequent DATA step cleans the data before outputting it as a final data set. The main purpose of the second DATA step is to make data set AC5 look like SAS Output when PROC CONTENTS is executed without the NOPRINT option, but with the VARNUM option included. The two right most columns have the raw counts of the missing values and the corresponding percentages. The column variable type in AC5 has numeric values of 1 or 2. This tells you the variable is either numeric or character, respectively. A new variable, TYPE_, is created to serve as a proxy to display Num or Char. Also, the three columns storing formatting information are consolidated into one. The STRIP function is used to remove leading and trailing blanks. Illustration The following illustrates the usage of the %CHK_MISSING macro. To simplify the demonstration, the example input data set INDEMO has 10 observations and 7 variables. The desired output data set is given the name OUTDEMO. Therefore, the %CHK_MISSING macro is submitted with the two parameters as follows: %chk_missing(indsn=indemo, outdsn=outdemo) 4

5 Figure 1 details the SAS View Table of input data set INDEMO. After invoking %CHK_MISSING with the two parameters, the output data set Figure 1 (Data set INDEMO: SAS View Table Parameter # 1 of Macro) OUTDEMO is shown in Figure 2. Notice the 7 variables in data set INDEMO correspond to the 7 observations in data set OUTDEMO. Patient ID which is a character variable, has no missing values, and thus, reports 0% missing, while ICD9 #2 which has 7 missing values, shows 70% missing. The Amount, which is a numeric variable, has one missing value, and therefore, displays 10% missing. Figure 2 (Data set OUTDEMO: SAS View Table Parameter # 2 of Macro) The %CHK_MISSING macro creates temporary data sets. A PROC CONTENTS is performed on input data set INDEMO. The OUT= option puts the results into data set AC1, which has 40 columns. Figure 3 below shows the abbreviated SAS View Table with some of the columns displayed. Notice that it is sorted by Variable Name, not by the Variable Number. This is the default ordering and is not an issue since it will be re-ordered later in PROC SQL when the missing counts are joined to this data set. Figure 3 (Data set AC1 : Has 40 Columns But Not All Columns Are Shown) 5

6 Using the information from PROC CONTENTS, two macro variables are created in PROC SQL. Both macro variables, including the stored values, are written to the SAS Log. _V_LIST_ = amt~cpt1~cpt2~dos~dx1~dx2~pat_id _NUMOBS_ = 7 Tabulating missing values is Figure 4 (Data set AC2 ) achieved with another PROC SQL. Within a %DO %UNTIL loop, the macro function %SCAN extracts a segment of the list holding the variables names. In each cycle through the loop, an aggregate NMISS function is written for each variable name. As such, Figure 4 shows the results in AC2, a one observation data set with 7 columns. Each column stores the missing values count for each variable in data set INDEMO. Figure 5 (Data set AC3 ) Minimizing SAS Log Output By Using SAS System Options The one observation in Figure 4 is immediately reshaped into a 7x2 data set using PROC TRANSPOSE. Figure 5 displays this outcome in AC3. The primary reason for reshaping is to have the count of missing values integrated with the original PROC CONTENTS represented by AC1. After merging data sets AC1 and AC3 together to build data set AC4 (as explained in Part 4), the percentage missing is calculated in a DATA step that produces data set AC5. The last action item is consolidating the format information before outputting the final data set called OUTDEMO. Depending on your SAS System Option setup, a lot of information can be written to your SAS Log when executing a macro containing %DO loops and %IF logic. If your preference is to reduce the amount of output, there are system options you can use, such as NOSYMBOLGEN, NOMLOGIC, and NOMPRINT. For example, using the last illustration, you can add the following OPTIONS statement before invoking the %CHK_MISSING macro. OPTIONS NOSYMBOLGEN NOMLOGIC NOMPRINT %chk_missing(indsn=indemo, outdsn=outdemo) NOSYMBOLGEN suppresses the display results as the macro variable references are resolved. NOMLOGIC, on the other hand, tells the macro processor not to trace macro execution with respect to parameter values and the TRUE/FALSE conditions behind the %IF logic. As the Macro language is just a mechanism to store and synthesize code, the NOMPRINT option instructs the Macro facility not to write SAS statements during a macro execution. Conclusion In this paper, the different components of the %CHK_MISSING macro syntax were examined. Moreover, the illustrations visually demonstrated how missing values are calculated and subsequently reported as an output SAS data set. This macro takes advantage of the PROC CONTENTS output. Two macro variables are created using PROC SQL: a list storing the variable names and the count. With these two pieces of information, NMISS aggregate functions are dynamically generated in a %DO %UNTIL loop for each variable inside a PROC SQL. Within each cycle of the loop, syntax is systematically written using the %SCAN macro function coupled with the list. Compared to manually typing individual NMISS summary functions in a text editor such as the SAS Program Window, using the %CHK_MISSING macro saves time and eliminates potential input errors. 6

7 Key Words PROC CONTENTS, PROC SQL Macro Variable, PROC SQL List, PROC SQL NMISS Aggregate Function, %DO %UNTIL, %SCAN, %GOTO, STRIP Function, NOSYMBOLGEN, NOMLOGIC, NOMPRINT, Metadata. Acknowledgments I would like to extend special thanks to the following person and organization: Colleague Jennifer Scott (MS) of HERC for proofreading and critiquing of this paper. HERC (Health Economics Resource Center) for its full support by giving me the opportunity to write this paper. Trademarks 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. About The Author The author welcomes your comments, suggestions, and questions. You can contact the author at: Adam Chow Health Economic Resource Center VA Palo Alto Health Care System 795 Willow Road (152 MPD) Menlo Park, CA (650) x22061 adam.chow@va.gov achow94109sf@yahoo.com 7

8 Appendix %macro chk_missing(indsn = /* Input SAS data set name */, outdsn = /* Output SAS data set name */ ) /* 1. quick check of the 2 parameters entered */ %if %length(&indsn) = 0 %then %do %goto ENDIT1 %end %if %length(&outdsn) = 0 %then %do %goto ENDIT1 %end /* 2. PROC CONTENTS of input SAS data set */ proc contents data=&indsn out= ac1 noprint run /* 3. make a list of the var names, also show # of vars */ proc sql noprint select name into :_v_list_ separated by '~' from ac1 select count(*) into :_numobs_ from ac1 quit /* print out to LOG */ %put _V_LIST_ = &_v_list_ %put _NUMOBS_ = &_numobs_ /* 4. summarize, transpose, and merge back with AC1 */ proc sql create table ac2 as select %let i =1 %do %until(& i > &_numobs_) %if & i = &_numobs_ %then %do nmiss(%scan(&_v_list_,& i,%str(~))) as %scan(&_v_list_,& i,%str(~)) %end %else %do nmiss(%scan(&_v_list_,& i,%str(~))) as %scan(&_v_list_,& i,%str(~)), %end %let i = %eval(& i +1) %end from &indsn quit proc transpose data= ac2 out = ac3 (rename=(col1=miss_count)) name=vars run proc sql create table ac4 as select a.varnum as varnum label="#", a.name as name label="variable", a.type as type, a.length as length label="len", a.format as format label="format", a.formatl, a.formatd, 8

9 a.label as label label="label", a.nobs, b.miss_count as miss_count from ac1 as a left join ac3 as b on a.name eq b.vars order by varnum quit /* 5. calculate % missing, then output a data set */ data ac5 set ac4 miss_pct=miss_count/nobs format miss_count comma20. miss_pct percent8.3 label miss_count="obs Missing Count" miss_pct ="Obs Missing Pct(%)" run data &outdsn format varnum name type_ set ac5 length type_ $4 if type eq 1 then type_="num" else if type eq 2 then type_="char" if formatl ne 0 and formatd ne 0 then do format=strip(format) strip(put(formatl,3.)) "." strip(put(formatd,3.)) end else if formatl ne 0 then format=strip(format) strip(put(formatl,3.)) "." else if format ne "" then format=strip(format) "." label type_="type" drop type formatl formatd run /* 6. delete temporary data sets */ proc datasets nolist delete ac1 ac2 ac3 ac4 ac5 run quit /* 7. reset the macro variables */ %let _v_list_ = EMPTY LIST %let _numobs_ = 0 /* 8. Exit */ %goto ENDIT2 %ENDIT1: %PUT ERROR: MACRO STOPPED - MUST ENTER ALL PARAMETERS %ENDIT2: %mend chk_missing 9

A Method for Cleaning Clinical Trial Analysis Data Sets

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

More information

Counting the Ways to Count in SAS. Imelda C. Go, South Carolina Department of Education, Columbia, SC

Counting 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 information

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

Data Presentation. Paper 126-27. Using SAS Macros to Create Automated Excel Reports Containing Tables, Charts and Graphs

Data 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 information

Instant Interactive SAS Log Window Analyzer

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

More information

Eliminating Tedium by Building Applications that Use SQL Generated SAS Code Segments

Eliminating 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 information

Labels, Labels, and More Labels Stephanie R. Thompson, Rochester Institute of Technology, Rochester, NY

Labels, 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 information

Managing very large EXCEL files using the XLS engine John H. Adams, Boehringer Ingelheim Pharmaceutical, Inc., Ridgefield, CT

Managing 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 information

A Macro to Create Data Definition Documents

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

More information

B) Mean Function: This function returns the arithmetic mean (average) and ignores the missing value. E.G: Var=MEAN (var1, var2, var3 varn);

B) Mean Function: This function returns the arithmetic mean (average) and ignores the missing value. E.G: Var=MEAN (var1, var2, var3 varn); SAS-INTERVIEW QUESTIONS 1. What SAS statements would you code to read an external raw data file to a DATA step? Ans: Infile and Input statements are used to read external raw data file to a Data Step.

More information

REx: 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 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 information

Fun with PROC SQL Darryl Putnam, CACI Inc., Stevensville MD

Fun with PROC SQL Darryl Putnam, CACI Inc., Stevensville MD NESUG 2012 Fun with PROC SQL Darryl Putnam, CACI Inc., Stevensville MD ABSTRACT PROC SQL is a powerful yet still overlooked tool within our SAS arsenal. PROC SQL can create tables, sort and summarize data,

More information

Programming Tricks For Reducing Storage And Work Space Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA.

Programming 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 information

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

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,

More information

9.1 SAS. SQL Query Window. User s Guide

9.1 SAS. SQL Query Window. User s Guide SAS 9.1 SQL Query Window User s Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2004. SAS 9.1 SQL Query Window User s Guide. Cary, NC: SAS Institute Inc. SAS

More information

Storing and Using a List of Values in a Macro Variable

Storing and Using a List of Values in a Macro Variable Storing and Using a List of Values in a Macro Variable Arthur L. Carpenter California Occidental Consultants, Oceanside, California ABSTRACT When using the macro language it is not at all unusual to need

More information

Using Pharmacovigilance Reporting System to Generate Ad-hoc Reports

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

More information

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 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 information

Using the Magical Keyword "INTO:" in PROC SQL

Using the Magical Keyword INTO: in PROC SQL Using the Magical Keyword "INTO:" in PROC SQL Thiru Satchi Blue Cross and Blue Shield of Massachusetts, Boston, Massachusetts Abstract INTO: host-variable in PROC SQL is a powerful tool. It simplifies

More information

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

More information

PharmaSUG 2015 - Paper QT26

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,

More information

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 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 information

Using Macros to Automate SAS Processing Kari Richardson, SAS Institute, Cary, NC Eric Rossland, SAS Institute, Dallas, TX

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

Data-driven Validation Rules: Custom Data Validation Without Custom Programming Don Hopkins, Ursa Logic Corporation, Durham, NC

Data-driven Validation Rules: Custom Data Validation Without Custom Programming Don Hopkins, Ursa Logic Corporation, Durham, NC Data-driven Validation Rules: Custom Data Validation Without Custom Programming Don Hopkins, Ursa Logic Corporation, Durham, NC ABSTRACT One of the most expensive and time-consuming aspects of data management

More information

Managing Tables in Microsoft SQL Server using SAS

Managing 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 information

The SAS Data step/macro Interface

The SAS Data step/macro Interface Paper TS09 The SAS Data step/macro Interface Lawrence Heaton-Wright, Quintiles, Bracknell, Berkshire, UK ABSTRACT The SAS macro facility is an extremely useful part of the SAS System. However, macro variables

More information

Integrating Data and Business Rules with a Control Data Set in SAS

Integrating Data and Business Rules with a Control Data Set in SAS Paper 3461-2015 Integrating Data and Business Rules with a Data Set in SAS Edmond Cheng, CACI International Inc. ABSTRACT In SAS software development, data specifications and process requirements can be

More information

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 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 information

From 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. 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 information

Extending the Metadata Security Audit Reporting Capabilities of the Audit and Performance Measurement Package October 2010

Extending the Metadata Security Audit Reporting Capabilities of the Audit and Performance Measurement Package October 2010 Extending the Metadata Security Audit Reporting Capabilities of the Audit and Performance Measurement Package October 2010 ENTERPRISE EXCELLENCE CENTER Table of Contents 1 Introduction... 1 2 Metadata

More information

A Closer Look at PROC SQL s FEEDBACK Option Kenneth W. Borowiak, PPD, Inc., Morrisville, NC

A Closer Look at PROC SQL s FEEDBACK Option Kenneth W. Borowiak, PPD, Inc., Morrisville, NC A Closer Look at PROC SQL s FEEDBACK Option Kenneth W. Borowiak, PPD, Inc., Morrisville, NC SESUG 2012 ABSTRACT The FEEDBACK option on the PROC SQL statement controls whether an expanded or transformed

More information

Automation 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 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 information

Report Customization Using PROC REPORT Procedure Shruthi Amruthnath, EPITEC, INC., Southfield, MI

Report Customization Using PROC REPORT Procedure Shruthi Amruthnath, EPITEC, INC., Southfield, MI Paper SA12-2014 Report Customization Using PROC REPORT Procedure Shruthi Amruthnath, EPITEC, INC., Southfield, MI ABSTRACT SAS offers powerful report writing tools to generate customized reports. PROC

More information

Preparing Real World Data in Excel Sheets for Statistical Analysis

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

More information

An Approach to Creating Archives That Minimizes Storage Requirements

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,

More information

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

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

More information

ABSTRACT INTRODUCTION %CODE MACRO DEFINITION

ABSTRACT 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 information

Sample- for evaluation purposes only. Advanced Crystal Reports. TeachUcomp, Inc.

Sample- for evaluation purposes only. Advanced Crystal Reports. TeachUcomp, Inc. A Presentation of TeachUcomp Incorporated. Copyright TeachUcomp, Inc. 2011 Advanced Crystal Reports TeachUcomp, Inc. it s all about you Copyright: Copyright 2011 by TeachUcomp, Inc. All rights reserved.

More information

Health Services Research Utilizing Electronic Health Record Data: A Grad Student How-To Paper

Health 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 information

Programming Idioms Using the SET Statement

Programming Idioms Using the SET Statement Programming Idioms Using the SET Statement Jack E. Fuller, Trilogy Consulting Corporation, Kalamazoo, MI ABSTRACT While virtually every programmer of base SAS uses the SET statement, surprisingly few programmers

More information

Nine Steps to Get Started using SAS Macros

Nine Steps to Get Started using SAS Macros Paper 56-28 Nine Steps to Get Started using SAS Macros Jane Stroupe, SAS Institute, Chicago, IL ABSTRACT Have you ever heard your coworkers rave about macros? If so, you've probably wondered what all the

More information

Reading Delimited Text Files into SAS 9 TS-673

Reading Delimited Text Files into SAS 9 TS-673 Reading Delimited Text Files into SAS 9 TS-673 Reading Delimited Text Files into SAS 9 i Reading Delimited Text Files into SAS 9 Table of Contents Introduction... 1 Options Available for Reading Delimited

More information

An Introduction to SAS/SHARE, By Example

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

More information

DiskPulse DISK CHANGE MONITOR

DiskPulse DISK CHANGE MONITOR DiskPulse DISK CHANGE MONITOR User Manual Version 7.9 Oct 2015 www.diskpulse.com info@flexense.com 1 1 DiskPulse Overview...3 2 DiskPulse Product Versions...5 3 Using Desktop Product Version...6 3.1 Product

More information

ABSTRACT INTRODUCTION THE MAPPING FILE GENERAL INFORMATION

ABSTRACT INTRODUCTION THE MAPPING FILE GENERAL INFORMATION An Excel Framework to Convert Clinical Data to CDISC SDTM Leveraging SAS Technology Ale Gicqueau, Clinovo, Sunnyvale, CA Marc Desgrousilliers, Clinovo, Sunnyvale, CA ABSTRACT CDISC SDTM data is the standard

More information

Tips and Tricks SAGE ACCPAC INTELLIGENCE

Tips and Tricks SAGE ACCPAC INTELLIGENCE Tips and Tricks SAGE ACCPAC INTELLIGENCE 1 Table of Contents Auto e-mailing reports... 4 Automatically Running Macros... 7 Creating new Macros from Excel... 8 Compact Metadata Functionality... 9 Copying,

More information

What's New in ADP Reporting?

What's New in ADP Reporting? What's New in ADP Reporting? Welcome to the latest version of ADP Reporting! This release includes the following new features and enhancements. Use the links below to learn more about each one. What's

More information

What You re Missing About Missing Values

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

More information

AN ANIMATED GUIDE: SENDING SAS FILE TO EXCEL

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

More information

Innovative Techniques and Tools to Detect Data Quality Problems

Innovative Techniques and Tools to Detect Data Quality Problems Paper DM05 Innovative Techniques and Tools to Detect Data Quality Problems Hong Qi and Allan Glaser Merck & Co., Inc., Upper Gwynnedd, PA ABSTRACT High quality data are essential for accurate and meaningful

More information

Technical Paper. Reading Delimited Text Files into SAS 9

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

More information

CDW DATA QUALITY INITIATIVE

CDW DATA QUALITY INITIATIVE Loading Metadata to the IRS Compliance Data Warehouse (CDW) Website: From Spreadsheet to Database Using SAS Macros and PROC SQL Robin Rappaport, IRS Office of Research, Washington, DC Jeff Butler, IRS

More information

Post Processing Macro in Clinical Data Reporting Niraj J. Pandya

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

More information

SES Project v 9.0 SES/CAESAR QUERY TOOL. Running and Editing Queries. PS Query

SES Project v 9.0 SES/CAESAR QUERY TOOL. Running and Editing Queries. PS Query SES Project v 9.0 SES/CAESAR QUERY TOOL Running and Editing Queries PS Query Table Of Contents I - Introduction to Query:... 3 PeopleSoft Query Overview:... 3 Query Terminology:... 3 Navigation to Query

More information

The Program Data Vector As an Aid to DATA step Reasoning Marianne Whitlock, Kennett Square, PA

The Program Data Vector As an Aid to DATA step Reasoning Marianne Whitlock, Kennett Square, PA PAPER IN09_05 The Program Data Vector As an Aid to DATA step Reasoning Marianne Whitlock, Kennett Square, PA ABSTRACT The SAS DATA step is easy enough for beginners to produce results quickly. You can

More information

Paper 2917. Creating Variables: Traps and Pitfalls Olena Galligan, Clinops LLC, San Francisco, CA

Paper 2917. Creating Variables: Traps and Pitfalls Olena Galligan, Clinops LLC, San Francisco, CA Paper 2917 Creating Variables: Traps and Pitfalls Olena Galligan, Clinops LLC, San Francisco, CA ABSTRACT Creation of variables is one of the most common SAS programming tasks. However, sometimes it produces

More information

White Paper. Thirsting for Insight? Quench It With 5 Data Management for Analytics Best Practices.

White Paper. Thirsting for Insight? Quench It With 5 Data Management for Analytics Best Practices. White Paper Thirsting for Insight? Quench It With 5 Data Management for Analytics Best Practices. Contents Data Management: Why It s So Essential... 1 The Basics of Data Preparation... 1 1: Simplify Access

More information

Paper 232-2012. Getting to the Good Part of Data Analysis: Data Access, Manipulation, and Customization Using JMP

Paper 232-2012. Getting to the Good Part of Data Analysis: Data Access, Manipulation, and Customization Using JMP Paper 232-2012 Getting to the Good Part of Data Analysis: Data Access, Manipulation, and Customization Using JMP Audrey Ventura, SAS Institute Inc., Cary, NC ABSTRACT Effective data analysis requires easy

More information

Search and Replace in SAS Data Sets thru GUI

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

More information

An email macro: Exploring metadata EG and user credentials in Linux to automate email notifications Jason Baucom, Ateb Inc.

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

More information

Mastering Mail Merge. 2 Parts to a Mail Merge. Mail Merge Mailings Ribbon. Mailings Create Envelopes or Labels

Mastering Mail Merge. 2 Parts to a Mail Merge. Mail Merge Mailings Ribbon. Mailings Create Envelopes or Labels 2 Parts to a Mail Merge 1. MS Word Document (Letter, Labels, Envelope, Name Badge, etc) 2. Data Source Excel Spreadsheet Access Database / query Other databases (SQL Server / Oracle) Type in New List Mail

More information

Introduction to Proc SQL Steven First, Systems Seminar Consultants, Madison, WI

Introduction to Proc SQL Steven First, Systems Seminar Consultants, Madison, WI Paper #HW02 Introduction to Proc SQL Steven First, Systems Seminar Consultants, Madison, WI ABSTRACT PROC SQL is a powerful Base SAS Procedure that combines the functionality of DATA and PROC steps into

More information

TECHNIQUES FOR BUILDING A SUCCESSFUL WEB ENABLED APPLICATION USING SAS/INTRNET SOFTWARE

TECHNIQUES FOR BUILDING A SUCCESSFUL WEB ENABLED APPLICATION USING SAS/INTRNET SOFTWARE TECHNIQUES FOR BUILDING A SUCCESSFUL WEB ENABLED APPLICATION USING SAS/INTRNET SOFTWARE Mary Singelais, Bell Atlantic, Merrimack, NH ABSTRACT (This paper is based on a presentation given in March 1998

More information

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

Toad for Data Analysts, Tips n Tricks

Toad for Data Analysts, Tips n Tricks Toad for Data Analysts, Tips n Tricks or Things Everyone Should Know about TDA Just what is Toad for Data Analysts? Toad is a brand at Quest. We have several tools that have been built explicitly for developers

More information

A Recursive SAS Macro to Automate Importing Multiple Excel Worksheets into SAS Data Sets

A Recursive SAS Macro to Automate Importing Multiple Excel Worksheets into SAS Data Sets PharmaSUG2011 - Paper CC10 A Recursive SAS Macro to Automate Importing Multiple Excel Worksheets into SAS Data Sets Wenyu Hu, Merck Sharp & Dohme Corp., Upper Gwynedd, PA Liping Zhang, Merck Sharp & Dohme

More information

KEYWORDS ARRAY statement, DO loop, temporary arrays, MERGE statement, Hash Objects, Big Data, Brute force Techniques, PROC PHREG

KEYWORDS ARRAY statement, DO loop, temporary arrays, MERGE statement, Hash Objects, Big Data, Brute force Techniques, PROC PHREG Paper BB-07-2014 Using Arrays to Quickly Perform Fuzzy Merge Look-ups: Case Studies in Efficiency Arthur L. Carpenter California Occidental Consultants, Anchorage, AK ABSTRACT Merging two data sets when

More information

Paper AD11 Exceptional Exception Reports

Paper AD11 Exceptional Exception Reports Paper AD11 Exceptional Exception Reports Gary McQuown Data and Analytic Solutions Inc. http://www.dasconsultants.com Introduction This paper presents an overview of exception reports for data quality control

More information

EXTRACTING DATA FROM PDF FILES

EXTRACTING 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 information

How to Visualize the Dance of the Money Bees Using Animated Graphs in SAS/INSIGHT Mang-King W. Cheung, Kaiser Permanente, Los Angeles, CA

How to Visualize the Dance of the Money Bees Using Animated Graphs in SAS/INSIGHT Mang-King W. Cheung, Kaiser Permanente, Los Angeles, CA Paper 170-26 How to Visualize the Dance of the Money Bees Using Animated Graphs in SAS/INSIGHT Mang-King W. Cheung, Kaiser Permanente, Los Angeles, CA INTRODUCTION In the investment book, Dance of the

More information

Applications Development ABSTRACT PROGRAM DESIGN INTRODUCTION SAS FEATURES USED

Applications 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 information

The Query Builder: The Swiss Army Knife of SAS Enterprise Guide

The Query Builder: The Swiss Army Knife of SAS Enterprise Guide Paper 1557-2014 The Query Builder: The Swiss Army Knife of SAS Enterprise Guide ABSTRACT Jennifer First-Kluge and Steven First, Systems Seminar Consultants, Inc. The SAS Enterprise Guide Query Builder

More information

Crystal Reports Form Letters Replace database exports and Word mail merges with Crystal's powerful form letter capabilities.

Crystal Reports Form Letters Replace database exports and Word mail merges with Crystal's powerful form letter capabilities. Crystal Reports Form Letters Replace database exports and Word mail merges with Crystal's powerful form letter capabilities. Prerequisites: Fundamental understanding of conditional formatting formulas

More information

Time Clock Import Setup & Use

Time Clock Import Setup & Use Time Clock Import Setup & Use Document # Product Module Category CenterPoint Payroll Processes (How To) This document outlines how to setup and use of the Time Clock Import within CenterPoint Payroll.

More information

One problem > Multiple solutions; various ways of removing duplicates from dataset using SAS Jaya Dhillon, Louisiana State University

One problem > Multiple solutions; various ways of removing duplicates from dataset using SAS Jaya Dhillon, Louisiana State University One problem > Multiple solutions; various ways of removing duplicates from dataset using SAS Jaya Dhillon, Louisiana State University ABSTRACT In real world, analysts seldom come across data which is in

More information

An automatic predictive datamining tool. Data Preparation Propensity to Buy v1.05

An automatic predictive datamining tool. Data Preparation Propensity to Buy v1.05 An automatic predictive datamining tool Data Preparation Propensity to Buy v1.05 Januray 2011 Page 2 of 11 Data preparation - Introduction If you are using The Intelligent Mining Machine (TIMi) inside

More information

Let the CAT Out of the Bag: String Concatenation in SAS 9 Joshua Horstman, Nested Loop Consulting, Indianapolis, IN

Let the CAT Out of the Bag: String Concatenation in SAS 9 Joshua Horstman, Nested Loop Consulting, Indianapolis, IN Paper S1-08-2013 Let the CAT Out of the Bag: String Concatenation in SAS 9 Joshua Horstman, Nested Loop Consulting, Indianapolis, IN ABSTRACT Are you still using TRIM, LEFT, and vertical bar operators

More information

Katie Minten Ronk, Steve First, David Beam Systems Seminar Consultants, Inc., Madison, WI

Katie Minten Ronk, Steve First, David Beam Systems Seminar Consultants, Inc., Madison, WI Paper 191-27 AN INTRODUCTION TO PROC SQL Katie Minten Ronk, Steve First, David Beam Systems Seminar Consultants, Inc., Madison, WI ABSTRACT PROC SQL is a powerful Base SAS 7 Procedure that combines the

More information

Generic Automated Data Dictionary for Any SAS DATA Set or Format Library Dale Harrington, Kaiser Permanente, Oakland, CA

Generic Automated Data Dictionary for Any SAS DATA Set or Format Library Dale Harrington, Kaiser Permanente, Oakland, CA Generic Automated Data Dictionary for Any SAS DATA Set or Format Library Dale Harrington, Kaiser Permanente, Oakland, CA ABSTRACT This paper explains how to create an automated data dictionary which will

More information

Combining SAS LIBNAME and VBA Macro to Import Excel file in an Intriguing, Efficient way Ajay Gupta, PPD Inc, Morrisville, NC

Combining SAS LIBNAME and VBA Macro to Import Excel file in an Intriguing, Efficient way Ajay Gupta, PPD Inc, Morrisville, NC ABSTRACT PharmaSUG 2013 - Paper CC11 Combining SAS LIBNAME and VBA Macro to Import Excel file in an Intriguing, Efficient way Ajay Gupta, PPD Inc, Morrisville, NC There are different methods such PROC

More information

Horizon Debt Collect. User s and Administrator s Guide

Horizon Debt Collect. User s and Administrator s Guide Horizon Debt Collect User s and Administrator s Guide Microsoft, Windows, Windows NT, Windows 2000, Windows XP, and SQL Server are registered trademarks of Microsoft Corporation. Sybase is a registered

More information

The Power of CALL SYMPUT DATA Step Interface by Examples Yunchao (Susan) Tian, Social & Scientific Systems, Inc., Silver Spring, MD

The 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 information

SPSS: Getting Started. For Windows

SPSS: Getting Started. For Windows For Windows Updated: August 2012 Table of Contents Section 1: Overview... 3 1.1 Introduction to SPSS Tutorials... 3 1.2 Introduction to SPSS... 3 1.3 Overview of SPSS for Windows... 3 Section 2: Entering

More information

Importing Excel File using Microsoft Access in SAS Ajay Gupta, PPD Inc, Morrisville, NC

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.

More information

ICE for Eclipse. Release 9.0.1

ICE for Eclipse. Release 9.0.1 ICE for Eclipse Release 9.0.1 Disclaimer This document is for informational purposes only and is subject to change without notice. This document and its contents, including the viewpoints, dates and functional

More information

That Mysterious Colon (:) Haiping Luo, Dept. of Veterans Affairs, Washington, DC

That Mysterious Colon (:) Haiping Luo, Dept. of Veterans Affairs, Washington, DC Paper 73-26 That Mysterious Colon (:) Haiping Luo, Dept. of Veterans Affairs, Washington, DC ABSTRACT The colon (:) plays certain roles in SAS coding. Its usage, however, is not well documented nor is

More information

How to Download Census Data from American Factfinder and Display it in ArcMap

How to Download Census Data from American Factfinder and Display it in ArcMap How to Download Census Data from American Factfinder and Display it in ArcMap Factfinder provides census and ACS (American Community Survey) data that can be downloaded in a tabular format and joined with

More information

Let SAS Modify Your Excel File Nelson Lee, Genentech, South San Francisco, CA

Let 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 information

Creating Dynamic Reports Using Data Exchange to Excel

Creating 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 information

PharmaSUG2011 - Paper AD11

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 information

Basics of STATA. 1 Data les. 2 Loading data into STATA

Basics of STATA. 1 Data les. 2 Loading data into STATA Basics of STATA This handout is intended as an introduction to STATA. STATA is available on the PCs in the computer lab as well as on the Unix system. Throughout, bold type will refer to STATA commands,

More information

Big Data, Fast Processing Speeds Kevin McGowan SAS Solutions on Demand, Cary NC

Big Data, Fast Processing Speeds Kevin McGowan SAS Solutions on Demand, Cary NC Big Data, Fast Processing Speeds Kevin McGowan SAS Solutions on Demand, Cary NC ABSTRACT As data sets continue to grow, it is important for programs to be written very efficiently to make sure no time

More information

IRA Pivot Table Review and Using Analyze to Modify Reports. For help, email Financial.Reports@dartmouth.edu

IRA Pivot Table Review and Using Analyze to Modify Reports. For help, email Financial.Reports@dartmouth.edu IRA Pivot Table Review and Using Analyze to Modify Reports 1 What is a Pivot Table? A pivot table takes rows of detailed data (such as the lines in a downloadable table) and summarizes them at a higher

More information

Quick Start to Data Analysis with SAS Table of Contents. Chapter 1 Introduction 1. Chapter 2 SAS Programming Concepts 7

Quick Start to Data Analysis with SAS Table of Contents. Chapter 1 Introduction 1. Chapter 2 SAS Programming Concepts 7 Chapter 1 Introduction 1 SAS: The Complete Research Tool 1 Objectives 2 A Note About Syntax and Examples 2 Syntax 2 Examples 3 Organization 4 Chapter by Chapter 4 What This Book Is Not 5 Chapter 2 SAS

More information

Paper FF-014. Tips for Moving to SAS Enterprise Guide on Unix Patricia Hettinger, Consultant, Oak Brook, IL

Paper FF-014. Tips for Moving to SAS Enterprise Guide on Unix Patricia Hettinger, Consultant, Oak Brook, IL Paper FF-014 Tips for Moving to SAS Enterprise Guide on Unix Patricia Hettinger, Consultant, Oak Brook, IL ABSTRACT Many companies are moving to SAS Enterprise Guide, often with just a Unix server. A surprising

More information

SAS Comments How Straightforward Are They? Jacksen Lou, Merck & Co.,, Blue Bell, PA 19422

SAS Comments How Straightforward Are They? Jacksen Lou, Merck & Co.,, Blue Bell, PA 19422 SAS Comments How Straightforward Are They? Jacksen Lou, Merck & Co.,, Blue Bell, PA 19422 ABSTRACT SAS comment statements typically use conventional symbols, *, %*, /* */. Most programmers regard SAS commenting

More information

SENDING EMAILS IN SAS TO FACILITATE CLINICAL TRIAL. Frank Fan, Clinovo, Sunnyvale CA

SENDING EMAILS IN SAS TO FACILITATE CLINICAL TRIAL. Frank Fan, Clinovo, Sunnyvale CA SENDING EMAILS IN SAS TO FACILITATE CLINICAL TRIAL Frank Fan, Clinovo, Sunnyvale CA WUSS 2011 Annual Conference October 2011 TABLE OF CONTENTS 1. ABSTRACT... 3 2. INTRODUCTION... 3 3. SYSTEM CONFIGURATION...

More information

2: Entering Data. Open SPSS and follow along as your read this description.

2: Entering Data. Open SPSS and follow along as your read this description. 2: Entering Data Objectives Understand the logic of data files Create data files and enter data Insert cases and variables Merge data files Read data into SPSS from other sources The Logic of Data Files

More information

Oracle Database: Introduction to SQL

Oracle Database: Introduction to SQL Oracle University Contact Us: 1.800.529.0165 Oracle Database: Introduction to SQL Duration: 5 Days What you will learn This Oracle Database: Introduction to SQL training teaches you how to write subqueries,

More information

Anyone Can Learn PROC TABULATE

Anyone Can Learn PROC TABULATE Paper 60-27 Anyone Can Learn PROC TABULATE Lauren Haworth, Genentech, Inc., South San Francisco, CA ABSTRACT SAS Software provides hundreds of ways you can analyze your data. You can use the DATA step

More information