ABSTRACT DATA CLARIFCIATION FORM TRACKING ORACLE TABLE INTRODUCTION REVIEW QUALITY CHECKS

Size: px
Start display at page:

Download "ABSTRACT DATA CLARIFCIATION FORM TRACKING ORACLE TABLE INTRODUCTION REVIEW QUALITY CHECKS"

Transcription

1 Efficient SAS Quality Checks: Unique Error Identification And Enhanced Data Management Analysis Jim Grudzinski, Biostatistics Manager Of SAS Programming Covance Periapproval Services Inc, Radnor, PA ABSTRACT The pressures of protocol timelines require an efficient process of quality checks and data error identification. Previously, at Covance, quality checks were run on a cumulative and/or on a set time period range. The data managers would have to review reams of hard copy reports and manually check the issued Data Clarification Forms (DCF s) for previously identified errors. Identify new quality check errors and generate the necessary DCF. The quality checks that could not be corrected would still appear on the hard copy reports, creating a redundancy of review time effort. This was a time consuming and inefficient process. This paper will offer one way of providing for an efficient SAS quality check process. Leading to unique error identification and analysis. This process will integrate SAS and Oracle in a Unix environment. The SAS programming code detailed in the paper is intentionally simplistic for demonstration purposes. INTRODUCTION The purpose of quality check diagnostics is to indicate data that are invalid or missing, to insure there are no keying problems and to retrieve missing/invalid information from the site via data clarification forms (DCF s). The initial case reporting form(crf. s) data are imported into an Oracle database. The data are then accessed by SAS via PROC SQL. The quality checks are then programmed in SAS. The cumulative quality check errors are identified and compared to previously identified errors. The new quality check errors are then tagged with a DCF description and a unique tracking id number. The new quality checks errors are stored in a SAS data set and appended to an Oracle table using PROC ACCESS and PROC APPEND. The data are now available for data management analysis. Upon review of data management, DCF s will be generated using a Microsoft Access environment. REVIEW QUALITY CHECKS Efficient quality checks programming starts before you program the first diagnostic. You should review the protocol. If relevant, you should review the proposed table shells. You should have an awareness of what the protocol is all about. You should have a sense of what data are critical to the final analysis. You should review the Oracle database. Check for names that exceed 8 characters. Check for continuity of names across tables. For example, patient number is always PTNO for all tables. Also, check that similar named variables are of the same data type, PTNO is defined as numeric across all tables. You should review the proposed SAS quality checks for effectiveness and accuracy. You should familiarize yourself with the test data. DATA CLARIFCIATION FORM TRACKING ORACLE TABLE Data clarification form tracking Oracle table is critical. This is the table that will have all quality check errors appended to it. This is the table that will be use by data management for analysis and generation of DCF s. You and all other relevant project members must agree upon all data fields and their use. You should start by identifying the key primary fields. These are the fields that will make the record unique. Also, identify the fields that will be populated by you, the SAS programmer, or other members of the project team, i.e. data managers. Listed below is a typical DCF Oracle tracking table. You should remember that the actual components of your table will vary depending upon the protocol and your specific needs. Figure 1 1$0(1XOO"7\SH 75$& //180%(5 &(175(12718//9$5&+$5 3$7,( //180%(5 9,6,712718//9$5&+$5 (5525&'12718//9$5&+$5 37,1,79$5&+$5 7$%1$0(9$5&+$5 (55257;79$5&+$5 &5)'$7$9$5&+$5 &5)'$7$9$5&+$5 '&)*(19$5&+$5 '$7(*(1'$7( '$7(5(6'$7( 86(5,'9$5&+$5 $'''7('$7( CENTRE, PATIENT, VISIT and PTINT are Oracle table data fields and have been determined to be key fields (records that help define uniqueness). TRACKNO is created via the SAS program and is a unique sequence number. TABNAME is created by the SAS program and represents the Oracle table name. ERRORCD is the unique quality check query identifier. ERRORCD it is defined in the SAS program. ERRORTXT is defined in the DCF Error Text table (see Figure 2).

2 CRFDATA1 and CRFDAT2 are assigned by the SAS program and represents what is actually on the CRF. There are two of these because some quality check queries are a comparison of two data fields and the DCF would be clearer if both were included on it. The data managers control the remaining data fields. DCFGEN is assigned a default value of N in the SAS program. This data field indicates whether a DCF has been generated for this quality check error. Since the SAS program is appending only new quality check errors, the N represents NO DCF GENERATED. Once a DCF has been generated, this variable would change to an Y. DATEGEN indicates the date when the DCF query was generated. DATERES indicates when the DCF was resolved. The DATERES could be Y = resolved, N= not resolved and a potential third optional I = ignore. The ignore option can be used if the query cannot be resolved, for instance the site is closed out, or it could indicate the query resolution is not critical to the overall protocol. USERID and ADDDTE can be standard identification parameters. DATA CLARIFICATION FORM ERROR TEXT ORACLE TABLE The data clarification form error text Oracle table simply contains the unique error code identifier (ERRORCD) and its related error text field (ERRORTXT). Each quality check when originally defined should have a unique error code assigned to it. This error code will help establish the uniqueness of the quality check error, but also allow easy appending of the related error text data to the record. This error code definition need not be complicated. It could be the first two letters of the Oracle table being query and the number of the query. USERID and ADDDTE can be standard identification parameters. It is very important to confirm that all error codes on the quality check specifications have a corresponding error code on the error text table. Figure 2 1$0(1XOO"7\SH (5525&'12718//9$5&+$5 (55257;79$5&+$5 86(5,'9$5&+$5 $'''7('$7( Be very careful in what personnel you assign insert(append) and/or delete rights to these tables. will need the DCF tracking table and the DCF error text table, it could be efficient to import this data at this point. To do this, you will use the PROC SQL procedure. Figure 3 is an example of the procedure creating SAS data sets from Oracle tables. This example also includes a maco routine that enables you to access multiple oracle tables in a single routine. Figure 3 macro retrieve (tbname,dset) ; proc sql; connect to oracle as db (user=kengriffrey orapw=seattle path="xxx"); create table &dset as select * from connection to db (select * from &tbname); disconnect from db; quit; %mend retrieve; %retrieve(db999.demog,demog); %retrieve(db999.dcftrack,dcftrack); %retrieve(db999.errortxt,errortxt); Normally, the more efficient method is to create SAS views at the start of the study and access the Oracle data through these views. You should remember views would give you real time data. You must determine if you can use SAS views or stay with SAS data sets. To create a SAS view replace the word table with the word view. DEMOGRAPHY TABLE QUALITY CHECK The following quality check is a simple example(figure 4), but should be good enough for our purposes. The protocol requires that the SEX variable in the DEMOG table must be M or F. It is also the first quality check query written for the DEMOG table. The ERRORCD variable has been defined as the first initials of the table and number of the quality check query. Therefore the value of ERRORCD in this example is DEM01. Also the TABNAME variable has been determine to be DEMOG. You should remember the character limit is 8. The quality check query is structured so that you have the option of printing the hard copy results. This is the process that would produce reams of paper, mentioned in the ABSTRACT portion of this paper. But at the same time, you are collecting the data in the format necessary for matching against the DCF TRACKING table, DCF ERROR TEXT table, and appending to the new quality check errors back to the DCF TRACKING Oracle table. SAS QUALITY CHECK PROGRAM STEPS For our example we will be processing quality checks on the DEMOG(demography) table. The SAS program is qualdiag.sas IMPORT NECESSARY ORACLE TABLES DATA Identify the Oracle tables needed for your quality check diagnostics. Also, since you

3 Figure 4 ***DEM01***; data dem01(keep=centre ptno ptinit tabname crfdata1 crfdata2 visit sex); set demog; format crfdata1 crfdata2 $20. tabname $8.; ***data field tabname not on Oracle table***; tabname= DEMOG ; ***activate error code***; errorcd= DEM01 ; ***CRF data activation***; crfdata1=sex; crfdata2= NOT USED ; ***crfdata2 variable is often used with cross table queries date comparisons*** ***actual quality check query*** if sex in( M, F ) then test01 = PASS ; else test01 = FAIL ; ***do a frequency on test01 and print out to qualdiag.lst detail listing of the failures*** proc freq data = dem01; table test01 / list missing; title1 Quality Checks for Protocol X ; title2 Table Demog DEM01 ; title3 Sex must be M or F ; proc print data = dem01; var errorcd tabname centre ptno ptinit visit crfdata1 crfdata2 sex; where test01 = FAIL ; ***keep only failures and the data you absolutely need***; data dem01(drop=sex test01); set dem01; if test01= FAIL ; This process would repeat itself, based on the number of the required quality checks for the DEMOG table. For our example let us assume one more quality check for DEMOG. You would end up with SAS data set dem02 with all the failures for that particular test. You now concatenate all DEMOG error data sets into one. The quality check process, prior to the concatenation of all DEMOG error data sets represents the traditional process. At this point, all you have available is a hard copy report. Figure 5 data demogall; set dem01 dem02; IDENTIFY THE LAST TRACKNO VALUE If you remember, the value TRACKNO is created through the SAS program. Its purpose is to attach a unique sequence number to the quality check errors being appended to the DCF TRACKING table. Since in the course of the study, it is logical to expect additions and deletions of entries being made directly to the DCF TRACKING table, by data managers, you cannot just do a count of the number of OBS and expect that value to be the last TRACKNO used. The following example shows one way of getting the correct last TRACKNO in use. It also, shows a use for a %GLOBAL macro. Figure 6 *****use the DCFTRACK data set created earlier ***; data tracksum(keep=count trackno); set dcftrack nobs=n;; format count 5.; count=n; ***sort data set ***; proc sort data = tracksum; by count trackno; ***identify the last observation***; data tracksum; set tracksum; by count; ***keep the last observation only***; if last.count; ***create global macro***; data tracksum; set tracksum; %global totnum; call symput( totnum,trim(left(trackno))); CONCATENATE ALL QUALITY CHECK ERRORS FROM ALL TABLES Our example only has one data set of quality check errors. But more than likely, you will have several. The data set ALL, truly has all the known quality check errors. Figure 7 data all; set demogall; ***here is good place to set and default values***; dcfgen = N ;

4 MERGE SAS DATA SET ALL WITH DCF TRACKING TABLE The data set ALL, from figure 7, contains all the quality check errors for all the tables. The DCF TRACKING table has all the quality check errors that have been identified from previous runs. You must have both data sets sorted by all of the primary keys. The primary keys are the data fields that make the record unique. For our example the primary keys are centre, ptno, visit ptinit tabname crfdata1 crfdata2 errorcd. Figure 8, displays the merge logic. Figure 8 data all; merge all(in=in1) dcftrack(in=in2); by centre patient visit ptinit tabname crfdata1 crfdata2 errorcd ; ***already on dcftrack***; if in1 and in2 then delete; ***placed on dcftrack independently of sas quality checks programs***; if in1 = 0 and in2 = 1 then delete; ***new quality check errors***; if in1 = 1; You now have the data set ALL with only the new quality check errors. A quality check will be considered new, even if only one of the primary keys is different. ASSIGN THE NEW QUALITY CHECKS A UNIQUE TRACK NUMBER You now have to assign a sequential tracking number to the data field TRACKNO. The tracking number serves as a reference point for the DCF s that are generated and sent to the sites. You can keep track of the DCF s that have been returned and those that are still outstanding. Figure 9 data all; set all; Retain count; ***you need the retain***; ***&basesum refer to figure 6*** if _n_ = 1 then count = &basesum; count = count + 1; trackno = count; ***do not need the data field count***; data all(drop=count); set all; MERGE SAS DATA SET ALL WITH DCF TRACKING ERROR TABLE The only data needed to make the data set ALL complete is the error text data. The error text is the description of the quality check error. You should take great care in creating the error text data. The error text description will appear verbatim on the DCF s. In practice, for quality check errors that the data manger knows in advance that a DCF will not be generated, a portion of the error text is often No DCF to be issued. Based on our example of a quality check on the demographic variable SEX; an appropriate error text would be Mandatory field left blank, please clarify patients gender. The figure 10 example, assumes that the data sets have now been sorted by ERRORCD. Figure 10 Data all; Merge all(in=in1) errortxt(in=in2); by errorcd; if in1 and in2; PRINTING OPTIONS Our example program is named qualdiag.sas. The traditional quality check process(figure 4), will print out under qualdiag.lst. You may not want to this data because of its size and the printing time required. Also, you should only want to see what you have just appended to the DCF TRACKING table. A PROC PRINT will also print to qualdiag.lst. The SAS PROC you want to use is PROC PRINTTO. You have the option of sorting the data for quick review. Two ways to sort the data are by TRACKNO or by ERRORCD. The print out sorted by TRACKNO would be a sequential listing, but centre and patient would also group all the quality check errors. This is the way they would appear on the DCFTRACK Oracle table. A separate print out by error code and this should include a PROC FREQ, This will give you a quick snapshot of what quality check errors are failing and how many. This review is good to debug quality checks, aid in validation and it can give the data manager an indication of a serious problem if certain quality checks are failing in large numbers. Figure 11 will only show the PROC PRINTTO option with the data sorted by errorcd. Figure 11 ***select directory and rename print out*** proc printto new print= '/db999/quality/newsort.lst'; proc freq data = all; table errorcd /list missing; title1 'Project db999'; title2 'Frequency of ERROR CODES'; footnote1 'Printout is /db999/quality/newsort.lst';

5 Proc print noobs; Title2 Listing of New Quality Checks Diagnostics Errors ; Title3 Sorted by ERRORCD Title4 "As Of &sysdate"; Var trackno errorcd centre patient visit ptinit tabname errortxt crfdata1 crfdata2; APPEND QUALITY CHECK ERRORS TO DCF TRACKING ORACLE TABLE You are now ready to append the quality check errors from the SAS data set ALL to the Oracle table DCFTRACK. The data type must be the same. The SAS data set fields cannot have a length that is longer then its corresponding field in the Oracle table. If this condition exists, no data will be appended to the Oracle table. The primary keys, as defined on the Oracle table, cannot have any NULL values on the SAS data set. If this condition exists, the SAS data will be appended to the Oracle table, only until this condition is encountered. You should definitely check your log when executing this quality check process. The SAS PROC S involved in this process are PROC ACCESS and PROC APPEND. The PROC ACCESS procedure allows you to create an ACCESS DESCRIPTOR and a VIEW DESCRIPTOR. The ACCESS DESCRITPOR is how the Oracle table will be accessed and allows the creation of a VIEW DESCRITPOR. The VIEW DESCRIPTOR acts as the window to the DCFTRACK Oracle table. It is the VIEW DESCRITPOR that will serve as the base data set in the PROC APPEND procedure. The PROC APPEND procedure will add the data from the SAS data set ALL to the DCFTRACK oracle table via the VIEW DESCRIPTOR. Figure 12 is an example of this combined PROC ACCESS and PROC APPEND procedure. Figure 12 *** access the oracle database***; proc access dbms=oracle; user=kengriffrey; orapw=seattle path='xxx'; table=db99.dcftrack; *** create the access descriptor***; create work.qchecks.access; *** create the view descriptor***; create work.qchecks.view; The new quality checks are now appended to the DCFTRACK Oracle. You should check the SAS log and make sure the number of records appended are correct. &21&/86,21 This quality check process has reduced the time that data managers need to review the quality check diagnostics. You no longer have to manually review hard copy output and then manually update MICROSOFT ACCESS tables or worst yet manually generate Data Clarification Forms. By identifying only new quality check errors and loading these errors into an Oracle table this whole process has been streamlined and is ultimately less costly. While this presentation offered a simplified example, the whole process would remain the same, (except the SAS program(s) would be written with more efficiencies), regardless of the number of quality checks required and the number of tables involved. Table 1 at the end of this paper is a flowchart of the process reviewed in this paper. REFERENCES SAS Institute Inc. (1998) Processing Database and Spreadsheet Data with SAS/ACCESS Software, Cary, NC: SAS Institute Inc. TRADEMARKS SAS is a registered trademark or trademark of SAS Institute, Inc. in the USA and other countrys. indicates USA registration. CONTACT INFORMATION If you have additional questions, or would like an electronic copy of the code, feel free to contact me. Jim Grudzinski, Biostatistics Manager of SAS Programing Covance Periapproval Services Inc. One Radnor Corporate Center Radnor, PA (610) james.grudzinski@covance.com ***the FORCE option allows the appending of data even if the variables do not match exactly***; Proc append base = qchecks data= all force; The new quality checks are now appended to the DCFTRACK Oracle. You should check the SAS log and make sure the numbers of records appended are correct.

6 Table 1 Quality Check Diagnostic Process The DCF Tracking Table Contains the Cumulative Listing of Alll Identified QC Errors DCF Tracking Table Centre, Ptno, Errorcd, Crfdata, Other Key Identifiers Qualdiag.sas SAS Quality Check Diagnostic Program(s) Quality Error Previously Reported - No Action Yes Merge DCF Tracking Table w/ SAS Data Set "ALL" by Key Identifiers SAS Data Set "ALL" of Cumulative QC Error s No DCF Error Text Table Error Code/Error Text Oracle Table Append "New" Quality Checks with their Unique Error Text Code by Matching on Error Codes Qualdiag.lst Optional Traditional Data Listing Of All Cumulative Diagnostic Errors PROC ACCESS/PROC APPEND Append "New" Quality Check Errors to DCF Tracking Oracle Table PROC PRINTTO Produce Data Listing of "New" Diagnostic Errors

PROC REPORT AN INTRODUCTION

PROC REPORT AN INTRODUCTION Table Generation Using the PROC REPORT Feature Edward R. Smith, Senior Scientific Programmer Covance Periapproval Services Inc, Radnor, PA ABSTRACT The PROC REPORT procedure is a powerful report generation

More information

Get Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp.

Get Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp. Get Started Writing SAS Macros Luisa Hartman, Jane Liao, Merck Sharp & Dohme Corp. ABSTRACT The SAS Macro Facility is a tool which lends flexibility to your SAS code and promotes easier maintenance. It

More information

Going Under the Hood: How Does the Macro Processor Really Work?

Going Under the Hood: How Does the Macro Processor Really Work? Going Under the Hood: How Does the Really Work? ABSTRACT Lisa Lyons, PPD, Inc Hamilton, NJ Did you ever wonder what really goes on behind the scenes of the macro processor, or how it works with other parts

More information

Base and Advance SAS

Base and Advance SAS Base and Advance SAS BASE SAS INTRODUCTION An Overview of the SAS System SAS Tasks Output produced by the SAS System SAS Tools (SAS Program - Data step and Proc step) A sample SAS program Exploring SAS

More information

Program Validation: Logging the Log

Program Validation: Logging the Log Program Validation: Logging the Log Adel Fahmy, Symbiance Inc., Princeton, NJ ABSTRACT Program Validation includes checking both program Log and Logic. The program Log should be clear of any system Error/Warning

More information

MIS Reporting in the Credit Card Industry

MIS Reporting in the Credit Card Industry MIS Reporting in the Credit Card Industry Tom Hotard, Acxiom Corporation ABSTRACT In credit card acquisition campaigns, it is important to have the ability to keep track of various types of counts. After

More information

Matt Downs and Heidi Christ-Schmidt Statistics Collaborative, Inc., Washington, D.C.

Matt Downs and Heidi Christ-Schmidt Statistics Collaborative, Inc., Washington, D.C. Paper 82-25 Dynamic data set selection and project management using SAS 6.12 and the Windows NT 4.0 file system Matt Downs and Heidi Christ-Schmidt Statistics Collaborative, Inc., Washington, D.C. ABSTRACT

More information

%MAKE_IT_COUNT: An Example Macro for Dynamic Table Programming Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma

%MAKE_IT_COUNT: An Example Macro for Dynamic Table Programming Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma ABSTRACT Today there is more pressure on programmers to deliver summary outputs faster without sacrificing quality. By using just a few programming

More information

Taming a Spreadsheet Importation Monster

Taming a Spreadsheet Importation Monster SESUG 2013 Paper BtB-10 Taming a Spreadsheet Importation Monster Nat Wooding, J. Sargeant Reynolds Community College ABSTRACT As many programmers have learned to their chagrin, it can be easy to read Excel

More information

Year 2000 Issues for SAS Users Mike Kalt, SAS Institute Inc., Cary, NC Rick Langston, SAS Institute Inc., Cary, NC

Year 2000 Issues for SAS Users Mike Kalt, SAS Institute Inc., Cary, NC Rick Langston, SAS Institute Inc., Cary, NC Paper 308 Year 2000 Issues for SAS Users Mike Kalt, SAS Institute Inc, Cary, NC Rick Langston, SAS Institute Inc, Cary, NC ABSTRACT This paper addresses the most frequently asked questions about Year 2000

More information

How to Incorporate Old SAS Data into a New DATA Step, or What is S-M-U?

How to Incorporate Old SAS Data into a New DATA Step, or What is S-M-U? Paper 54-25 How to Incorporate Old SAS Data into a New DATA Step, or What is S-M-U? Andrew T. Kuligowski Nielsen Media Research Abstract / Introduction S-M-U. Some people will see these three letters and

More information

DBLOAD Procedure Reference

DBLOAD Procedure Reference 131 CHAPTER 10 DBLOAD Procedure Reference Introduction 131 Naming Limits in the DBLOAD Procedure 131 Case Sensitivity in the DBLOAD Procedure 132 DBLOAD Procedure 132 133 PROC DBLOAD Statement Options

More information

The SERVER Procedure. Introduction. Syntax CHAPTER 8

The SERVER Procedure. Introduction. Syntax CHAPTER 8 95 CHAPTER 8 The SERVER Procedure Introduction 95 Syntax 95 Syntax Descriptions 96 Examples 101 ALLOCATE SASFILE Command 101 Syntax 101 Introduction You invoke the SERVER procedure to start a SAS/SHARE

More information

Programming Gems that are worth learning SQL for! Pamela L. Reading, Rho, Inc., Chapel Hill, NC

Programming Gems that are worth learning SQL for! Pamela L. Reading, Rho, Inc., Chapel Hill, NC Paper CC-05 Programming Gems that are worth learning SQL for! Pamela L. Reading, Rho, Inc., Chapel Hill, NC ABSTRACT For many SAS users, learning SQL syntax appears to be a significant effort with a low

More information

So Much Data, So Little Time: Splitting Datasets For More Efficient Run Times and Meeting FDA Submission Guidelines

So Much Data, So Little Time: Splitting Datasets For More Efficient Run Times and Meeting FDA Submission Guidelines Paper TT13 So Much Data, So Little Time: Splitting Datasets For More Efficient Run Times and Meeting FDA Submission Guidelines Anthony Harris, PPD, Wilmington, NC Robby Diseker, PPD, Wilmington, NC ABSTRACT

More information

A Generalized Macro-Based Data Reporting System to Produce Both HTML and Text Files

A Generalized Macro-Based Data Reporting System to Produce Both HTML and Text Files A Generalized Macro-Based Data Reporting System to Produce Both HTML and Text Files Jeff F. Sun, Blue Cross Blue Shield of North Carolina, Durham, North Carolina Abstract This paper will address the inter-connection

More information

T.I.P.S. (Techniques and Information for Programming in SAS )

T.I.P.S. (Techniques and Information for Programming in SAS ) Paper PO-088 T.I.P.S. (Techniques and Information for Programming in SAS ) Kathy Harkins, Carolyn Maass, Mary Anne Rutkowski Merck Research Laboratories, Upper Gwynedd, PA ABSTRACT: This paper provides

More information

DSCI 325: Handout 15 Introduction to SAS Macro Programming Spring 2017

DSCI 325: Handout 15 Introduction to SAS Macro Programming Spring 2017 DSCI 325: Handout 15 Introduction to SAS Macro Programming Spring 2017 The Basics of the SAS Macro Facility Macros are used to make SAS code more flexible and efficient. Essentially, the macro facility

More information

One Project, Two Teams: The Unblind Leading the Blind

One Project, Two Teams: The Unblind Leading the Blind ABSTRACT PharmaSUG 2017 - Paper BB01 One Project, Two Teams: The Unblind Leading the Blind Kristen Reece Harrington, Rho, Inc. In the pharmaceutical world, there are instances where multiple independent

More information

SAS CURRICULUM. BASE SAS Introduction

SAS CURRICULUM. BASE SAS Introduction SAS CURRICULUM BASE SAS Introduction Data Warehousing Concepts What is a Data Warehouse? What is a Data Mart? What is the difference between Relational Databases and the Data in Data Warehouse (OLTP versus

More information

SAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD

SAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD Paper BB-7 SAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD ABSTRACT The SAS Macro Facility offers a mechanism for expanding and customizing

More information

David S. Septoff Fidia Pharmaceutical Corporation

David S. Septoff Fidia Pharmaceutical Corporation UNLIMITING A LIMITED MACRO ENVIRONMENT David S. Septoff Fidia Pharmaceutical Corporation ABSTRACT The full Macro facility provides SAS users with an extremely powerful programming tool. It allows for conditional

More information

Arthur L. Carpenter California Occidental Consultants, Oceanside, California

Arthur L. Carpenter California Occidental Consultants, Oceanside, California Paper 028-30 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

More information

A Guided Tour Through the SAS Windowing Environment Casey Cantrell, Clarion Consulting, Los Angeles, CA

A Guided Tour Through the SAS Windowing Environment Casey Cantrell, Clarion Consulting, Los Angeles, CA A Guided Tour Through the SAS Windowing Environment Casey Cantrell, Clarion Consulting, Los Angeles, CA ABSTRACT The SAS system running in the Microsoft Windows environment contains a multitude of tools

More information

Locking SAS Data Objects

Locking SAS Data Objects 59 CHAPTER 5 Locking SAS Data Objects Introduction 59 Audience 60 About the SAS Data Hierarchy and Locking 60 The SAS Data Hierarchy 60 How SAS Data Objects Are Accessed and Used 61 Types of Locks 62 Locking

More information

Copy That! Using SAS to Create Directories and Duplicate Files

Copy That! Using SAS to Create Directories and Duplicate Files Copy That! Using SAS to Create Directories and Duplicate Files, SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and

More information

Checking for Duplicates Wendi L. Wright

Checking for Duplicates Wendi L. Wright Checking for Duplicates Wendi L. Wright ABSTRACT This introductory level paper demonstrates a quick way to find duplicates in a dataset (with both simple and complex keys). It discusses what to do when

More information

SAS Online Training: Course contents: Agenda:

SAS Online Training: Course contents: Agenda: SAS Online Training: Course contents: Agenda: (1) Base SAS (6) Clinical SAS Online Training with Real time Projects (2) Advance SAS (7) Financial SAS Training Real time Projects (3) SQL (8) CV preparation

More information

Now That You Have Your Data in Hadoop, How Are You Staging Your Analytical Base Tables?

Now That You Have Your Data in Hadoop, How Are You Staging Your Analytical Base Tables? Paper SAS 1866-2015 Now That You Have Your Data in Hadoop, How Are You Staging Your Analytical Base Tables? Steven Sober, SAS Institute Inc. ABSTRACT Well, Hadoop community, now that you have your data

More information

A Format to Make the _TYPE_ Field of PROC MEANS Easier to Interpret Matt Pettis, Thomson West, Eagan, MN

A Format to Make the _TYPE_ Field of PROC MEANS Easier to Interpret Matt Pettis, Thomson West, Eagan, MN Paper 045-29 A Format to Make the _TYPE_ Field of PROC MEANS Easier to Interpret Matt Pettis, Thomson West, Eagan, MN ABSTRACT: PROC MEANS analyzes datasets according to the variables listed in its Class

More information

An Introduction to Analysis (and Repository) Databases (ARDs)

An Introduction to Analysis (and Repository) Databases (ARDs) An Introduction to Analysis (and Repository) TM Databases (ARDs) Russell W. Helms, Ph.D. Rho, Inc. Chapel Hill, NC RHelms@RhoWorld.com www.rhoworld.com Presented to DIA-CDM: Philadelphia, PA, 1 April 2003

More information

PharmaSUG Paper PO12

PharmaSUG Paper PO12 PharmaSUG 2015 - Paper PO12 ABSTRACT Utilizing SAS for Cross-Report Verification in a Clinical Trials Setting Daniel Szydlo, Fred Hutchinson Cancer Research Center, Seattle, WA Iraj Mohebalian, Fred Hutchinson

More information

BASICS BEFORE STARTING SAS DATAWAREHOSING Concepts What is ETL ETL Concepts What is OLAP SAS. What is SAS History of SAS Modules available SAS

BASICS BEFORE STARTING SAS DATAWAREHOSING Concepts What is ETL ETL Concepts What is OLAP SAS. What is SAS History of SAS Modules available SAS SAS COURSE CONTENT Course Duration - 40hrs BASICS BEFORE STARTING SAS DATAWAREHOSING Concepts What is ETL ETL Concepts What is OLAP SAS What is SAS History of SAS Modules available SAS GETTING STARTED

More information

SAS CLINICAL SYLLABUS. DURATION: - 60 Hours

SAS CLINICAL SYLLABUS. DURATION: - 60 Hours SAS CLINICAL SYLLABUS DURATION: - 60 Hours BASE SAS PART - I Introduction To Sas System & Architecture History And Various Modules Features Variables & Sas Syntax Rules Sas Data Sets Data Set Options Operators

More information

From Manual to Automatic with Overdrive - Using SAS to Automate Report Generation Faron Kincheloe, Baylor University, Waco, TX

From Manual to Automatic with Overdrive - Using SAS to Automate Report Generation Faron Kincheloe, Baylor University, Waco, TX Paper 152-27 From Manual to Automatic with Overdrive - Using SAS to Automate Report Generation Faron Kincheloe, Baylor University, Waco, TX ABSTRACT This paper is a case study of how SAS products were

More information

Epidemiology Principles of Biostatistics Chapter 3. Introduction to SAS. John Koval

Epidemiology Principles of Biostatistics Chapter 3. Introduction to SAS. John Koval Epidemiology 9509 Principles of Biostatistics Chapter 3 John Koval Department of Epidemiology and Biostatistics University of Western Ontario What we will do today We will learn to use use SAS to 1. read

More information

BI-09 Using Enterprise Guide Effectively Tom Miron, Systems Seminar Consultants, Madison, WI

BI-09 Using Enterprise Guide Effectively Tom Miron, Systems Seminar Consultants, Madison, WI Paper BI09-2012 BI-09 Using Enterprise Guide Effectively Tom Miron, Systems Seminar Consultants, Madison, WI ABSTRACT Enterprise Guide is not just a fancy program editor! EG offers a whole new window onto

More information

SAS System Powers Web Measurement Solution at U S WEST

SAS System Powers Web Measurement Solution at U S WEST SAS System Powers Web Measurement Solution at U S WEST Bob Romero, U S WEST Communications, Technical Expert - SAS and Data Analysis Dale Hamilton, U S WEST Communications, Capacity Provisioning Process

More information

Internet/Intranet, the Web & SAS

Internet/Intranet, the Web & SAS Dynamic Behavior from Static Web Applications Ted Durie, SAS, Overland Park, KS ABSTRACT Many Web applications, because of the infinite query combinations possible, require dynamic Web solutions. This

More information

SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC

SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC SAS/Warehouse Administrator Usage and Enhancements Terry Lewis, SAS Institute Inc., Cary, NC ABSTRACT SAS/Warehouse Administrator software makes it easier to build, maintain, and access data warehouses

More information

A Practical Introduction to SAS Data Integration Studio

A Practical Introduction to SAS Data Integration Studio ABSTRACT A Practical Introduction to SAS Data Integration Studio Erik Larsen, Independent Consultant, Charleston, SC Frank Ferriola, Financial Risk Group, Cary, NC A useful and often overlooked tool which

More information

Missing Pages Report. David Gray, PPD, Austin, TX Zhuo Chen, PPD, Austin, TX

Missing Pages Report. David Gray, PPD, Austin, TX Zhuo Chen, PPD, Austin, TX PharmaSUG2010 - Paper DM05 Missing Pages Report David Gray, PPD, Austin, TX Zhuo Chen, PPD, Austin, TX ABSTRACT In a clinical study it is important for data management teams to receive CRF pages from investigative

More information

SAS 9 Programming Enhancements Marje Fecht, Prowerk Consulting Ltd Mississauga, Ontario, Canada

SAS 9 Programming Enhancements Marje Fecht, Prowerk Consulting Ltd Mississauga, Ontario, Canada SAS 9 Programming Enhancements Marje Fecht, Prowerk Consulting Ltd Mississauga, Ontario, Canada ABSTRACT Performance improvements are the well-publicized enhancement to SAS 9, but what else has changed

More information

Utilizing the VNAME SAS function in restructuring data files

Utilizing the VNAME SAS function in restructuring data files AD13 Utilizing the VNAME SAS function in restructuring data files Mirjana Stojanovic, Duke University Medical Center, Durham, NC Donna Niedzwiecki, Duke University Medical Center, Durham, NC ABSTRACT Format

More information

Paper ###-YYYY. SAS Enterprise Guide: A Revolutionary Tool! Jennifer First, Systems Seminar Consultants, Madison, WI

Paper ###-YYYY. SAS Enterprise Guide: A Revolutionary Tool! Jennifer First, Systems Seminar Consultants, Madison, WI Paper ###-YYYY SAS Enterprise Guide: A Revolutionary Tool! Jennifer First, Systems Seminar Consultants, Madison, WI ABSTRACT Whether you are a novice or a pro with SAS, Enterprise Guide has something for

More information

INTRODUCTION TO SAS HOW SAS WORKS READING RAW DATA INTO SAS

INTRODUCTION TO SAS HOW SAS WORKS READING RAW DATA INTO SAS TO SAS NEED FOR SAS WHO USES SAS WHAT IS SAS? OVERVIEW OF BASE SAS SOFTWARE DATA MANAGEMENT FACILITY STRUCTURE OF SAS DATASET SAS PROGRAM PROGRAMMING LANGUAGE ELEMENTS OF THE SAS LANGUAGE RULES FOR SAS

More information

SAS Macro Programming for Beginners

SAS Macro Programming for Beginners ABSTRACT SAS Macro Programming for Beginners Lora D. Delwiche, Winters, CA Susan J. Slaughter, Avocet Solutions, Davis, CA Macro programming is generally considered an advanced topic. But, while macros

More information

CHAPTER 7 Using Other SAS Software Products

CHAPTER 7 Using Other SAS Software Products 77 CHAPTER 7 Using Other SAS Software Products Introduction 77 Using SAS DATA Step Features in SCL 78 Statements 78 Functions 79 Variables 79 Numeric Variables 79 Character Variables 79 Expressions 80

More information

Abstract. The next section will demonstrate the Oracle SQL script and the SAS program, and provide more detailed discussion of this automated process.

Abstract. The next section will demonstrate the Oracle SQL script and the SAS program, and provide more detailed discussion of this automated process. Automated Generation of SAS Access Views from Oracle Tables Xinsheng Lin, IMS America, Plymouth Meeting, PA Sheng Luo, Providian Corporation, Frazer, PA Abstract The authors have been involved in creating

More information

The Power of Combining Data with the PROC SQL

The Power of Combining Data with the PROC SQL ABSTRACT Paper CC-09 The Power of Combining Data with the PROC SQL Stacey Slone, University of Kentucky Markey Cancer Center Combining two data sets which contain a common identifier with a MERGE statement

More information

SAS/ACCESS Interface to R/3

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

More information

Using PROC SQL to Calculate FIRSTOBS David C. Tabano, Kaiser Permanente, Denver, CO

Using PROC SQL to Calculate FIRSTOBS David C. Tabano, Kaiser Permanente, Denver, CO Using PROC SQL to Calculate FIRSTOBS David C. Tabano, Kaiser Permanente, Denver, CO ABSTRACT The power of SAS programming can at times be greatly improved using PROC SQL statements for formatting and manipulating

More information

New Vs. Old Under the Hood with Procs CONTENTS and COMPARE Patricia Hettinger, SAS Professional, Oakbrook Terrace, IL

New Vs. Old Under the Hood with Procs CONTENTS and COMPARE Patricia Hettinger, SAS Professional, Oakbrook Terrace, IL Paper SS-03 New Vs. Old Under the Hood with Procs CONTENTS and COMPARE Patricia Hettinger, SAS Professional, Oakbrook Terrace, IL ABSTRACT There s SuperCE for comparing text files on the mainframe. Diff

More information

Choosing the Right Procedure

Choosing the Right Procedure 3 CHAPTER 1 Choosing the Right Procedure Functional Categories of Base SAS Procedures 3 Report Writing 3 Statistics 3 Utilities 4 Report-Writing Procedures 4 Statistical Procedures 5 Efficiency Issues

More information

InForm Functionality Reference Manual for Sites. Version 1.0

InForm Functionality Reference Manual for Sites. Version 1.0 InForm Functionality Reference Manual for Sites Version 1.0 1-Mar-2012 2012 by Merck & Co., Inc., Whitehouse Station, New Jersey, USA All Rights Reserved No part of this book may be reproduced in any form

More information

Using Templates Created by the SAS/STAT Procedures

Using Templates Created by the SAS/STAT Procedures Paper 081-29 Using Templates Created by the SAS/STAT Procedures Yanhong Huang, Ph.D. UMDNJ, Newark, NJ Jianming He, Solucient, LLC., Berkeley Heights, NJ ABSTRACT SAS procedures provide a large quantity

More information

A Table Driven ODS Macro Diane E. Brown, exponential Systems, Indianapolis, IN

A Table Driven ODS Macro Diane E. Brown, exponential Systems, Indianapolis, IN A Table Driven ODS Macro Diane E. Brown, exponential Systems, Indianapolis, IN ABSTRACT Tired of coding ODS statements and SAS output procedures for every report you write and having redundant or similar

More information

Quick and Efficient Way to Check the Transferred Data Divyaja Padamati, Eliassen Group Inc., North Carolina.

Quick and Efficient Way to Check the Transferred Data Divyaja Padamati, Eliassen Group Inc., North Carolina. ABSTRACT PharmaSUG 2016 - Paper QT03 Quick and Efficient Way to Check the Transferred Data Divyaja Padamati, Eliassen Group Inc., North Carolina. Consistency, quality and timelines are the three milestones

More information

Quick Data Definitions Using SQL, REPORT and PRINT Procedures Bradford J. Danner, PharmaNet/i3, Tennessee

Quick Data Definitions Using SQL, REPORT and PRINT Procedures Bradford J. Danner, PharmaNet/i3, Tennessee ABSTRACT PharmaSUG2012 Paper CC14 Quick Data Definitions Using SQL, REPORT and PRINT Procedures Bradford J. Danner, PharmaNet/i3, Tennessee Prior to undertaking analysis of clinical trial data, in addition

More information

SAS/ACCESS Data Set Options

SAS/ACCESS Data Set Options 43 CHAPTER 4 SAS/ACCESS Data Set Options Introduction 43 SAS/ACCESS Data Set Options 43 Introduction This chapter describes the SAS/ACCESS options that you can specify on a SAS data set in the form SAS/ACCESS-libref.dbms_table_name.

More information

CREATING A SUMMARY TABLE OF NORMALIZED (Z) SCORES

CREATING A SUMMARY TABLE OF NORMALIZED (Z) SCORES CREATING A SUMMARY TABLE OF NORMALIZED (Z) SCORES Walter W. OWen The Biostatistics Center The George Washington University ABSTRACT Data from the behavioral sciences are often analyzed by normalizing the

More information

How SAS Thinks Neil Howard, Basking Ridge, NJ

How SAS Thinks Neil Howard, Basking Ridge, NJ Paper HW01_05 How SAS Thinks Neil Howard, Basking Ridge, NJ ABSTRACT The DATA step is the most powerful tool in the SAS system. Understanding the internals of DATA step processing, what is happening and

More information

%Addval: A SAS Macro Which Completes the Cartesian Product of Dataset Observations for All Values of a Selected Set of Variables

%Addval: A SAS Macro Which Completes the Cartesian Product of Dataset Observations for All Values of a Selected Set of Variables %Addval: A SAS Macro Which Completes the Cartesian Product of Dataset Observations for All Values of a Selected Set of Variables Rich Schiefelbein, PRA International, Lenexa, KS ABSTRACT It is often useful

More information

Fall 2012 OASUS Questions and Answers

Fall 2012 OASUS Questions and Answers Fall 2012 OASUS Questions and Answers The following answers are provided to the benefit of the OASUS Users Group and are not meant to replace SAS Technical Support. Also, an Enterprise Guide project is

More information

Quality Control of Clinical Data Listings with Proc Compare

Quality Control of Clinical Data Listings with Proc Compare ABSTRACT Quality Control of Clinical Data Listings with Proc Compare Robert Bikwemu, Pharmapace, Inc., San Diego, CA Nicole Wallstedt, Pharmapace, Inc., San Diego, CA Checking clinical data listings with

More information

ET01. LIBNAME libref <engine-name> <physical-file-name> <libname-options>; <SAS Code> LIBNAME libref CLEAR;

ET01. LIBNAME libref <engine-name> <physical-file-name> <libname-options>; <SAS Code> LIBNAME libref CLEAR; ET01 Demystifying the SAS Excel LIBNAME Engine - A Practical Guide Paul A. Choate, California State Developmental Services Carol A. Martell, UNC Highway Safety Research Center ABSTRACT This paper is a

More information

A Simple Framework for Sequentially Processing Hierarchical Data Sets for Large Surveys

A Simple Framework for Sequentially Processing Hierarchical Data Sets for Large Surveys A Simple Framework for Sequentially Processing Hierarchical Data Sets for Large Surveys Richard L. Downs, Jr. and Pura A. Peréz U.S. Bureau of the Census, Washington, D.C. ABSTRACT This paper explains

More information

SAS Application Development Using Windows RAD Software for Front End

SAS Application Development Using Windows RAD Software for Front End Applications Development SAS Application Development Using Windows RAD Software for Front End Zhuan (John) Xu Blue Cross Blue Shield ofiowa & Big Creek Software, Des Moines, IA Abstract This paper presents

More information

An Automation Procedure for Oracle Data Extraction and Insertion

An Automation Procedure for Oracle Data Extraction and Insertion An Automation Procedure for Oracle Data Extraction and Insertion Shiqun S. Li, Smith Hanley, East Hanover, NJ David H. Wilcox, NYS Department of Health, Albany, NY ABSTRACT SAS software provides strong

More information

KEYWORDS Metadata, macro language, CALL EXECUTE, %NRSTR, %TSLIT

KEYWORDS Metadata, macro language, CALL EXECUTE, %NRSTR, %TSLIT MWSUG 2017 - Paper BB15 Building Intelligent Macros: Driving a Variable Parameter System with Metadata Arthur L. Carpenter, California Occidental Consultants, Anchorage, Alaska ABSTRACT When faced with

More information

Journey to the center of the earth Deep understanding of SAS language processing mechanism Di Chen, SAS Beijing R&D, Beijing, China

Journey to the center of the earth Deep understanding of SAS language processing mechanism Di Chen, SAS Beijing R&D, Beijing, China Journey to the center of the earth Deep understanding of SAS language processing Di Chen, SAS Beijing R&D, Beijing, China ABSTRACT SAS is a highly flexible and extensible programming language, and a rich

More information

100 THE NUANCES OF COMBINING MULTIPLE HOSPITAL DATA

100 THE NUANCES OF COMBINING MULTIPLE HOSPITAL DATA Paper 100 THE NUANCES OF COMBINING MULTIPLE HOSPITAL DATA Jontae Sanders, MPH, Charlotte Baker, DrPH, MPH, CPH, and C. Perry Brown, DrPH, MSPH, Florida Agricultural and Mechanical University ABSTRACT Hospital

More information

Extending the Scope of Custom Transformations

Extending the Scope of Custom Transformations Paper 3306-2015 Extending the Scope of Custom Transformations Emre G. SARICICEK, The University of North Carolina at Chapel Hill. ABSTRACT Building and maintaining a data warehouse can require complex

More information

Contents of SAS Programming Techniques

Contents of SAS Programming Techniques Contents of SAS Programming Techniques Chapter 1 About SAS 1.1 Introduction 1.1.1 SAS modules 1.1.2 SAS module classification 1.1.3 SAS features 1.1.4 Three levels of SAS techniques 1.1.5 Chapter goal

More information

Making a List, Checking it Twice (Part 1): Techniques for Specifying and Validating Analysis Datasets

Making a List, Checking it Twice (Part 1): Techniques for Specifying and Validating Analysis Datasets PharmaSUG2011 Paper CD17 Making a List, Checking it Twice (Part 1): Techniques for Specifying and Validating Analysis Datasets Elizabeth Li, PharmaStat LLC, Newark, California Linda Collins, PharmaStat

More information

Using SAS software to fulfil an FDA request for database documentation

Using SAS software to fulfil an FDA request for database documentation Using SAS software to fulfil an FDA request for database documentation Introduction Pantaleo Nacci, Adam Crisp Glaxo Wellcome R&D, UK Historically, a regulatory submission to seek approval for a new drug

More information

WHAT ARE SASHELP VIEWS?

WHAT ARE SASHELP VIEWS? Paper PN13 There and Back Again: Navigating between a SASHELP View and the Real World Anita Rocha, Center for Studies in Demography and Ecology University of Washington, Seattle, WA ABSTRACT A real strength

More information

Hidden in plain sight: my top ten underpublicized enhancements in SAS Versions 9.2 and 9.3

Hidden in plain sight: my top ten underpublicized enhancements in SAS Versions 9.2 and 9.3 Hidden in plain sight: my top ten underpublicized enhancements in SAS Versions 9.2 and 9.3 Bruce Gilsen, Federal Reserve Board, Washington, DC ABSTRACT SAS Versions 9.2 and 9.3 contain many interesting

More information

Using SAS 9.4M5 and the Varchar Data Type to Manage Text Strings Exceeding 32kb

Using SAS 9.4M5 and the Varchar Data Type to Manage Text Strings Exceeding 32kb ABSTRACT Paper 2690-2018 Using SAS 9.4M5 and the Varchar Data Type to Manage Text Strings Exceeding 32kb John Schmitz, Luminare Data LLC Database systems support text fields much longer than the 32kb limit

More information

Automated Checking Of Multiple Files Kathyayini Tappeta, Percept Pharma Services, Bridgewater, NJ

Automated Checking Of Multiple Files Kathyayini Tappeta, Percept Pharma Services, Bridgewater, NJ PharmaSUG 2015 - Paper QT41 Automated Checking Of Multiple Files Kathyayini Tappeta, Percept Pharma Services, Bridgewater, NJ ABSTRACT Most often clinical trial data analysis has tight deadlines with very

More information

Using SAS/SCL to Create Flexible Programs... A Super-Sized Macro Ellen Michaliszyn, College of American Pathologists, Northfield, IL

Using SAS/SCL to Create Flexible Programs... A Super-Sized Macro Ellen Michaliszyn, College of American Pathologists, Northfield, IL Using SAS/SCL to Create Flexible Programs... A Super-Sized Macro Ellen Michaliszyn, College of American Pathologists, Northfield, IL ABSTRACT SAS is a powerful programming language. When you find yourself

More information

An Approach Finding the Right Tolerance Level for Clinical Data Acceptance

An Approach Finding the Right Tolerance Level for Clinical Data Acceptance Paper P024 An Approach Finding the Right Tolerance Level for Clinical Data Acceptance Karen Walker, Walker Consulting LLC, Chandler Arizona ABSTRACT Highly broadcasted zero tolerance initiatives for database

More information

Introduction. Getting Started with the Macro Facility CHAPTER 1

Introduction. Getting Started with the Macro Facility CHAPTER 1 1 CHAPTER 1 Introduction Getting Started with the Macro Facility 1 Replacing Text Strings Using Macro Variables 2 Generating SAS Code Using Macros 3 Inserting Comments in Macros 4 Macro Definition Containing

More information

The Ins and Outs of %IF

The Ins and Outs of %IF Paper 1135-2017 The Ins and Outs of %IF M. Michelle Buchecker, ThotWave Technologies, LLC. ABSTRACT Have you ever had your macro code not work and you couldn't figure out why? Even something as simple

More information

An Introduction to Visit Window Challenges and Solutions

An Introduction to Visit Window Challenges and Solutions ABSTRACT Paper 125-2017 An Introduction to Visit Window Challenges and Solutions Mai Ngo, SynteractHCR In clinical trial studies, statistical programmers often face the challenge of subjects visits not

More information

SAS Data View and Engine Processing. Defining a SAS Data View. Advantages of SAS Data Views SAS DATA VIEWS: A VIRTUAL VIEW OF DATA

SAS Data View and Engine Processing. Defining a SAS Data View. Advantages of SAS Data Views SAS DATA VIEWS: A VIRTUAL VIEW OF DATA SAS DATA VIEWS: A VIRTUAL VIEW OF DATA John C. Boling SAS Institute Inc., Cary, NC Abstract The concept of a SAS data set has been extended or broadened in Version 6 of the SAS System. Two SAS file structures

More information

Lecture 1 Getting Started with SAS

Lecture 1 Getting Started with SAS SAS for Data Management, Analysis, and Reporting Lecture 1 Getting Started with SAS Portions reproduced with permission of SAS Institute Inc., Cary, NC, USA Goals of the course To provide skills required

More information

ABSTRACT INTRODUCTION THE GENERAL FORM AND SIMPLE CODE

ABSTRACT INTRODUCTION THE GENERAL FORM AND SIMPLE CODE Paper SA06 Painless Extraction: Options and Macros with PROC PRESENV Keith Fredlund, MS (candidate) Grand Valley State University, Allendale, Michigan; Thinzar Wai, MS (candidate) Grand Valley State University,

More information

Run your reports through that last loop to standardize the presentation attributes

Run your reports through that last loop to standardize the presentation attributes PharmaSUG2011 - Paper TT14 Run your reports through that last loop to standardize the presentation attributes Niraj J. Pandya, Element Technologies Inc., NJ ABSTRACT Post Processing of the report could

More information

USING DATA TO SET MACRO PARAMETERS

USING DATA TO SET MACRO PARAMETERS USING DATA TO SET MACRO PARAMETERS UPDATE A PREVIOUS EXAMPLE %macro report(regs=); %let r=1; %let region=%scan(&regs,&r); %do %until(&region eq ); options nodate pageno=1; ods pdf file="&region..pdf";

More information

Mapping Clinical Data to a Standard Structure: A Table Driven Approach

Mapping Clinical Data to a Standard Structure: A Table Driven Approach ABSTRACT Paper AD15 Mapping Clinical Data to a Standard Structure: A Table Driven Approach Nancy Brucken, i3 Statprobe, Ann Arbor, MI Paul Slagle, i3 Statprobe, Ann Arbor, MI Clinical Research Organizations

More information

Correcting for natural time lag bias in non-participants in pre-post intervention evaluation studies

Correcting for natural time lag bias in non-participants in pre-post intervention evaluation studies Correcting for natural time lag bias in non-participants in pre-post intervention evaluation studies Gandhi R Bhattarai PhD, OptumInsight, Rocky Hill, CT ABSTRACT Measuring the change in outcomes between

More information

Unlock SAS Code Automation with the Power of Macros

Unlock SAS Code Automation with the Power of Macros SESUG 2015 ABSTRACT Paper AD-87 Unlock SAS Code Automation with the Power of Macros William Gui Zupko II, Federal Law Enforcement Training Centers SAS code, like any computer programming code, seems to

More information

SYSTEM 2000 Essentials

SYSTEM 2000 Essentials 7 CHAPTER 2 SYSTEM 2000 Essentials Introduction 7 SYSTEM 2000 Software 8 SYSTEM 2000 Databases 8 Database Name 9 Labeling Data 9 Grouping Data 10 Establishing Relationships between Schema Records 10 Logical

More information

APPENDIX 4 Migrating from QMF to SAS/ ASSIST Software. Each of these steps can be executed independently.

APPENDIX 4 Migrating from QMF to SAS/ ASSIST Software. Each of these steps can be executed independently. 255 APPENDIX 4 Migrating from QMF to SAS/ ASSIST Software Introduction 255 Generating a QMF Export Procedure 255 Exporting Queries from QMF 257 Importing QMF Queries into Query and Reporting 257 Alternate

More information

capabilities and their overheads are therefore different.

capabilities and their overheads are therefore different. Applications Development 3 Access DB2 Tables Using Keylist Extraction Berwick Chan, Kaiser Permanente, Oakland, Calif Raymond Wan, Raymond Wan Associate Inc., Oakland, Calif Introduction The performance

More information

SAS Programming Techniques for Manipulating Metadata on the Database Level Chris Speck, PAREXEL International, Durham, NC

SAS Programming Techniques for Manipulating Metadata on the Database Level Chris Speck, PAREXEL International, Durham, NC PharmaSUG2010 - Paper TT06 SAS Programming Techniques for Manipulating Metadata on the Database Level Chris Speck, PAREXEL International, Durham, NC ABSTRACT One great leap that beginning and intermediate

More information

EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT)

EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT) EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT) DESCRIPTION: This example shows how to combine the data on respondents from the first two waves of Understanding Society into

More information

EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT)

EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT) EXAMPLE 3: MATCHING DATA FROM RESPONDENTS AT 2 OR MORE WAVES (LONG FORMAT) DESCRIPTION: This example shows how to combine the data on respondents from the first two waves of Understanding Society into

More information

Give m Their Way They ll Love it! Sarita Prasad Bedge, Family Care Inc., Portland, Oregon

Give m Their Way They ll Love it! Sarita Prasad Bedge, Family Care Inc., Portland, Oregon Give m Their Way They ll Love it! Sarita Prasad Bedge, Family Care Inc., Portland, Oregon ABSTRACT As many of us know, many users prefer their SAS data in MS Excel spreadsheet. And many of us also may

More information