Prove QC Quality Create SAS Datasets from RTF Files Honghua Chen, OCKHAM, Cary, NC

Size: px
Start display at page:

Download "Prove QC Quality Create SAS Datasets from RTF Files Honghua Chen, OCKHAM, Cary, NC"

Transcription

1 Prove QC Quality Create SAS Datasets from RTF Files Honghua Chen, OCKHAM, Cary, NC ABSTRACT Since collecting drug trial data is expensive and affects human life, the FDA and most pharmaceutical company SOPs require all datasets and TLFs to be checked by independent secondary QC programmers. Sometimes, comparing hundreds or even thousands pages of tables and listings is tedious and consumes a huge amount of QC programmer s time. This paper outlines a process flow to replace a primary SAS program with ODS RTF statements, create a temporary SAS program, execute the program to create a temporary RTF file [3], extract data from that RTF file to create primary final SAS dataset, and do the proc compare with QC final SAS dataset. The listing produced from proc compare can be saved for auditing purposes. The process can improve QC performance, reduce validation processing and paperwork, and finally prove QC quality. The full program, sample input RTF file and output dataset are available as appendices. INTRODUCTION There are two types of RTF outputs existing in the pharmaceutical industry. The first one involves converting SAS output files (.lst) to RTF and doing some post-processing. There are various techniques available through internet such as out2rtf (search support.sas.com) created for this type of output by David Ward dating back to May, Variations of that macro have played important roles for automation of post processing for.lst files. The other one is called in-text RTF which is created from the SAS ODS RFT function. This two dimensional table format is preferred by medical writers because copy and pasting the table will not cause values to be shifted between columns when this process is applied. A SAS dataset is also a two-dimensional table, so extracting an RTF file to a SAS dataset seems like a logical choice. THE ORIGINAL PROC REPORT PROCESS A pre-process (%prtsetup) before the proc report and a post-process (%pageprt) after the proc report are required for most pharmaceutical reporting systems. The pre-process sets up the destination of the report, font, page layout, etc... While the post-process adds page numbers and formats to the report according to the company s standards. See the following: libname testdata "/u01/home/hchen/company/drugname/protocols"; %prtsetup; proc report data=testdata.final nowd spacing=1 split='*' headline; columns ('--' subjid bthdt age sex newrace ethnic height weight); %pageprt; define subjid / order width=10; define bthdt / display 'Birth Date' width=10; define age / display width=7 'Age*(years)'; define sex / display width=6 'Sex'; define newrace / display width=9 flow 'Race'; define ethnic / display width=10 flow 'Ethnicity'; define height / width=6 'Height*(cm)'; define weight / width=6 'Weight*(kg)'; title2 'Listing of demographics and baseline characteristics'; title3 'Full Analysis Set'; 1

2 THE MODIFIED PROC REPORT PROCESS Using Perl search and replace [1], we replace the pre-process (%prtsetup) with options and ods rtf to set up a new temporary destination and the simplest format for the rtf file. Then we post-process (%pageprt) with ods rtf close. See the following: %let pgm_folderx=/u01/home/hchen/company/drugname/protocols; %let slashx =/; libname testdata "/u01/home/hchen/company/drugname/protocols"; ods listing close; options nodate nonumber ORIENTATION=LANDSCAPE device=sasemf; ods rtf file="&pgm_folderx.&slashx.l-dm-temp.rtf"; proc report ods rtf close; ods listing; EXTRACTING RTF OUTPUT TO SAS DATASET We do not need to understand RTF tags [2] and RTF parse [5] to do the job. Simply looking through the text within the RTF file and eliminating all unrelated rows and transforming the file to create the primary final dataset with variables col1 to coln and titles, column header, and footnotes dataset is all that is needed for the new method. See appendices II (source code) from data rtf_temp1 to data rtf_temp4. COMPLETING THE TASK The QC program creates the QC final dataset containing variables col1 to coln, and compares it to the primary final dataset using PROC COMPARE. proc compare base=primary_final compare=qc_final listall; proc compare base=primary_tit_colhd_ft compare=qc_tit_colhd_ft listall; CONCLUSION We discussed a method of producing a dataset from an rtf file. While the program is created for one company, with little emphasis on modification, transplanting the program to work for many is an achievable and possible goal. Former Chinese leader Deng Xiaoping [4] uttered his most famous quotation: "I don't care if it's a white cat or a black cat. It's a good cat as long as it catches mice." This quote can be interpreted here to mean that being creative, more effective and serving the objectives of the client is more important than whether one follows traditional ideology in this instance. REFERENCES [1] Shuguang Zhang Use Perl Regular Expressions in SAS [2] Sean M. Burke The Universal Document Format RTF Pocket Guide [3] BIOGEN IDEC SMART System Users Guide [4] WIKIPEDIA Deng Xiaoping [5] Duong Tran %RTFparser CONTACT INFORMATION Your comments and questions are valued and encouraged. Contact the author at: Honghua Chen OCKHAM 8000 Regency Parkway, Suite 360 Cary, North Carolina, Phone: hchen@ockham.com Web: 2

3 ACKNOWLEDGMENTS I would like to thank the Biogen Idec programming team in RTP, NC for their helpful suggestions and assistance in testing the program presented in this paper. I would also like to thank Adam Gilbert and Juliet Allen for their encouragement and assistance in reviewing the macro. SAS is a registered trademark of SAS Institute Inc. in the USA and other countries. indicates USA registration. Other brand and product names are trademarks of their respective companies. DISCLAIMER All code contained in this paper is provided as an AS IS basis, without warranty. The author makes no representation, or warranty, either or implied, with respect to the programs, their quality, accuracy, or fitness for a specific purpose. Therefore, the author shall have no liability to you or any other person or entity with respect to any liability, loss, or damage caused or alleged to have been caused directly or indirectly by the programs provided in this paper. This includes, but is not limited to, interruption of service, loss of data, loss of profits, or consequential damages from the use of these programs. 3

4 APPENDIX I (RTF TABLE): APPENDIX II (SOURCE CODE): %macro get_final(inpgm_folder=,pgm_folder=,pgm_name=,s_string=, e_string=,debug=no); *** Output a simple Perl program to SAS dataset qc_ods_rft ***; options NOQUOTELENMAX; data qc_ods_rtf; length pgm_code $200; pgm_code='open (INFILE,"' "&inpgm_folder" '/' "&pgm_name" '.sas" ) or die "can not open the input file";'; pgm_code='open (OUTFILE,">' "&pgm_folder" '/' "&pgm_name" '-temp.sas" ) or die "can not open output file";'; pgm_code='select (OUTFILE);'; 4

5 pgm_code='while (<INFILE>){'; pgm_code='s/' "&s_string" '/ods listing close; options nodate nonumber' ' ORIENTATION=LANDSCAPE device=sasemf; '; pgm_code='ods rtf file="&pgm_folderx.' '&slashx.' "&pgm_name" '-temp.rtf";/g;'; pgm_code='s/' "&e_string" '/ods rtf close; ods listing; /g;'; pgm_code='print; }'; pgm_code='close (INFILE);'; pgm_code='close (OUTFILE);'; *** Call BIOGEN SMART utility macro putpgm to write out perl program qc_ods_rtf.sas ***; %let exe_lib =&pgm_folder/; %include "/biostats/macros/smart/putpgm.sas"; %putpgm(qc_ods_rtf); *** Execute the perl program qc_ods_rft.sas to create a modified primary program &pgm_name.-temp.sas ***; x "perl &pgm_folder/qc_ods_rtf.sas"; data temp000; length pgm_code $200; pgm_code='%let pgm_folderx=' "&pgm_folder" ';'; pgm_code='%let slashx =/;'; %putpgm(temp000); x "cat &pgm_folder./temp000.sas &pgm_folder./&pgm_name.-temp.sas > &pgm_folder./&pgm_name.-temp2.sas" *** Execute the modified primary program &pgm_name.-temp.sas ***; %include "&pgm_folder./&pgm_name.-temp2.sas"; *** Read in the rtf file &pgm_name.-temp.rtf created from &pgm_name.-temp.sas ***; data rtf_input; infile "&pgm_folder./&pgm_name.-temp.rtf" delimiter='00'x MISSOVER DSD lrecl=32767 firstobs=1; format f1 $500.; input f1 $ ; *** Extract text from cells ***; data rtf_temp1; set rtf_input; 5

6 length text $1000; *** Keep all cells from the table ***; if ( index(f1,'\cell}') or index(f1,'\row}') or index(f1,'\trowd\') ) > 0 ; *** Delete column titles ***; if ( index(f1,'\b\') ) = 0; *** Find start position of text ***; pos1 = index(f1,'{'); *** Find end position of text ***; pos2 = index(f1,'\cell}'); lengthx = pos2 - pos1-1; if pos1 ^= 0 and pos2 ^= 0 then do; if pos2 = pos1 + 1 then text = ' '; else text = substr(f1,pos1+1, lengthx); data rtf_input1; set rtf_input; length f1x $1000; retain delx 0 f1x ''; if (index(f1,'\b\') > 0 and index(f1,'\line}') > 0) then do; f1x = trim(left(f1)); delx = 1; delete; if delx = 1 and index(f1,'\line}') > 0 then do; f1x = trim(left(f1x)) trim(left(f1)); delete; if delx = 1 and index(f1,'\cell}') > 0 then do; f1x = trim(left(f1x)) trim(left(f1)); delx = 0; f1 = tranwrd(f1x,'{\line}',' '); f1 = tranwrd(f1,'\~',' '); f1x = ' '; data rtf_tit_foot1; set rtf_input1; length text $1000; retain group 0 ; if index(f1,'\bkmkend') > 0 then group = 2000; if index(f1,'\header') > 0 then group = 1000; if index(f1,'\footer') > 0 then group = 3000; group = group + 1; *** Keep all cells from the table ***; *** keep column titles ***; if ((index(f1,'\b\') and index(f1,'\cell}')) or index(f1,'\row}') or index(f1,'\trowd\') ) > 0 ; 6

7 *** Find start position of text ***; pos1 = index(f1,'{'); *** Find end position of text ***; pos2 = index(f1,'\cell}'); lengthx = pos2 - pos1-1; if pos1 ^= 0 and pos2 ^= 0 then do; if pos2 = pos1 + 1 then text = ' '; else text = substr(f1,pos1+1, lengthx); if text = '' or index(text,' ') > 0 then delete; proc sort nodupkey; by group text; data rtf_tit_foot2; set rtf_input; length text $1000; retain keepx 0 group 3000 ; *** keep footnotes created by macro setft ***; if index(f1,' ') > 0 and index(f1,'\line}') > 0 then do; keepx = 1; group = 3000; if keepx = 1 then group = group + 1; if keepx = 1 and index(f1,'\cell}') > 0 then keepx = 0; text = tranwrd(f1,'{\line}',' '); text = tranwrd(text,'\~',' '); if keepx = 0 then delete; if keepx = 1 and group = 3001 then delete; if text = '' then delete; proc sort nodupkey; by group text; *** Find the maximum column number ***; data rtf_temp2(drop= tot) tot_temp(keep = grp tot); set rtf_temp1; retain grp 0 col -1; if index(f1,'\trowd\') > 0 then do; grp = grp + 1; col = -1; col = col + 1; output rtf_temp2; if index(f1,'\row') > 0 then do; tot = col; output tot_temp; data rtf_temp3; 7

8 merge rtf_temp2(in=a) tot_temp(in=b); by grp; if a; proc sql noprint; select max(tot) into :max_tot from tot_temp; quit; %put ****&max_tot****; *** Delete titles and footnotes cells ***; data rtf_temp4; set rtf_temp3; if tot = &max_tot; if col = 0 or col = &max_tot then delete; *** create SAS dataset with variable col1 to coln ***; proc transpose data=rtf_temp4 out=rtf_temp5 prefix=col; by grp; id col; var text; *** Get the result ***; data primary_tit_colhd_ft; set rtf_tit_foot1 rtf_tit_foot2; if index(text,'source: ') > 0 then delete; keep text group; data primary_final; set rtf_temp5; *** delete rows if all cells are blank ***; length col $1000; col = %do i = 1 %to &max_tot - 2; trim(left(col&i)) %trim(left(col%eval(&max_tot - 1))); if col = '' then delete; drop grp _name_ col; %if %upcase(&debug)=no %then %do; *** Delete perl prigram qc_ods_rtf.sas ***; x "rm &pgm_folder./qc_ods_rtf.sas"; *** Delete the modified primary program &pgm_name.-temp.sas ***; x "rm &pgm_folder./&pgm_name.-temp.sas"; x "rm &pgm_folder./&pgm_name.-temp2.sas"; x "rm &pgm_folder./temp000.sas"; 8

9 *** Delete the rtf file &pgm_name-temp.rtf ***; x "rm &pgm_folder./&pgm_name.-temp.rtf"; proc datasets library=work memtype=data nolist nowarn; delete rtf_temp1 rtf_temp2 rtf_temp3 rtf_temp4 rtf_temp5 qc_ods_rtf tot_temp rtf_input rtf_input1 rtf_tit_foot1 rtf_tit_foot2 temp000; quit;; % %mend get_final; *** Call get_final macro to create SAS dataset PRIMARY_FINAL ***; %include "/u01/home/hchen/macros/get_final.sas"; %get_final(inpgm_folder=%str(/u01/home/hchen/company/drugname/protocols ), pgm_folder=%str(/u01/home/hchen/company/drugname/protocols), pgm_name=l-dm, s_string=%nrstr(%prtsetup;), e_string=%nrstr(%pageprt;),debug=yes); * Use the backslash (\) character to escape any type of character ; * that might interfere with perl code. Use '%\*' if you want to ; * replace '%*' in SAS code; %get_final(inpgm_folder=%str(/u01/home/hchen/company/drugname/protocols ), pgm_folder=%str(/u01/home/hchen/company/drugname/protocols), pgm_name=l-dm2, s_string=%nrstr(%\*prtsetup;), e_string=%nrstr(%\*pageprt;),debug=no); *** Begin of QC program ***; *** End of QC program ***; data qc_final; length col1-col8 $1000; set final; col1 = subjid; col2 = analset; col2 = brthdtc; col3 = agex; col4 = sex; col5 = racex; col6 = ethnic; col7 = htx; col8 = wtx; keep col1-col8; 9

10 APPENDIX III (SAS DATASETS): 10

A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY

A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY PharmaSUG 2014 - Paper BB14 A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY ABSTRACT Clinical Study

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

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

CC13 An Automatic Process to Compare Files. Simon Lin, Merck & Co., Inc., Rahway, NJ Huei-Ling Chen, Merck & Co., Inc., Rahway, NJ

CC13 An Automatic Process to Compare Files. Simon Lin, Merck & Co., Inc., Rahway, NJ Huei-Ling Chen, Merck & Co., Inc., Rahway, NJ CC13 An Automatic Process to Compare Files Simon Lin, Merck & Co., Inc., Rahway, NJ Huei-Ling Chen, Merck & Co., Inc., Rahway, NJ ABSTRACT Comparing different versions of output files is often performed

More information

Essential ODS Techniques for Creating Reports in PDF Patrick Thornton, SRI International, Menlo Park, CA

Essential ODS Techniques for Creating Reports in PDF Patrick Thornton, SRI International, Menlo Park, CA Thornton, S. P. (2006). Essential ODS techniques for creating reports in PDF. Paper presented at the Fourteenth Annual Western Users of the SAS Software Conference, Irvine, CA. Essential ODS Techniques

More information

A Practical and Efficient Approach in Generating AE (Adverse Events) Tables within a Clinical Study Environment

A Practical and Efficient Approach in Generating AE (Adverse Events) Tables within a Clinical Study Environment A Practical and Efficient Approach in Generating AE (Adverse Events) Tables within a Clinical Study Environment Abstract Jiannan Hu Vertex Pharmaceuticals, Inc. When a clinical trial is at the stage of

More information

Procedure for Stamping Source File Information on SAS Output Elizabeth Molloy & Breda O'Connor, ICON Clinical Research

Procedure for Stamping Source File Information on SAS Output Elizabeth Molloy & Breda O'Connor, ICON Clinical Research Procedure for Stamping Source File Information on SAS Output Elizabeth Molloy & Breda O'Connor, ICON Clinical Research ABSTRACT In the course of producing a report for a clinical trial numerous drafts

More information

ODS/RTF Pagination Revisit

ODS/RTF Pagination Revisit PharmaSUG 2018 - Paper QT-01 ODS/RTF Pagination Revisit Ya Huang, Halozyme Therapeutics, Inc. Bryan Callahan, Halozyme Therapeutics, Inc. ABSTRACT ODS/RTF combined with PROC REPORT has been used to generate

More information

Tips and Tricks to Create In-text Tables in Clinical Trial Repor6ng Using SAS

Tips and Tricks to Create In-text Tables in Clinical Trial Repor6ng Using SAS Tips and Tricks to Create In-text Tables in Clinical Trial Repor6ng Using SAS By Rafi Rahi - by Murshed Siddick 1 Overview In-text tables in CTR Produc

More information

How to Keep Multiple Formats in One Variable after Transpose Mindy Wang

How to Keep Multiple Formats in One Variable after Transpose Mindy Wang How to Keep Multiple Formats in One Variable after Transpose Mindy Wang Abstract In clinical trials and many other research fields, proc transpose are used very often. When many variables with their individual

More information

There s No Such Thing as Normal Clinical Trials Data, or Is There? Daphne Ewing, Octagon Research Solutions, Inc., Wayne, PA

There s No Such Thing as Normal Clinical Trials Data, or Is There? Daphne Ewing, Octagon Research Solutions, Inc., Wayne, PA Paper HW04 There s No Such Thing as Normal Clinical Trials Data, or Is There? Daphne Ewing, Octagon Research Solutions, Inc., Wayne, PA ABSTRACT Clinical Trials data comes in all shapes and sizes depending

More information

Data Quality Review for Missing Values and Outliers

Data Quality Review for Missing Values and Outliers Paper number: PH03 Data Quality Review for Missing Values and Outliers Ying Guo, i3, Indianapolis, IN Bradford J. Danner, i3, Lincoln, NE ABSTRACT Before performing any analysis on a dataset, it is often

More information

A Macro to Create Program Inventory for Analysis Data Reviewer s Guide Xianhua (Allen) Zeng, PAREXEL International, Shanghai, China

A Macro to Create Program Inventory for Analysis Data Reviewer s Guide Xianhua (Allen) Zeng, PAREXEL International, Shanghai, China PharmaSUG 2018 - Paper QT-08 A Macro to Create Program Inventory for Analysis Data Reviewer s Guide Xianhua (Allen) Zeng, PAREXEL International, Shanghai, China ABSTRACT As per Analysis Data Reviewer s

More information

PharmaSUG China 2018 Paper AD-62

PharmaSUG China 2018 Paper AD-62 PharmaSUG China 2018 Paper AD-62 Decomposition and Reconstruction of TLF Shells - A Simple, Fast and Accurate Shell Designer Chengeng Tian, dmed Biopharmaceutical Co., Ltd., Shanghai, China ABSTRACT Table/graph

More information

Clinical Data Visualization using TIBCO Spotfire and SAS

Clinical Data Visualization using TIBCO Spotfire and SAS ABSTRACT SESUG Paper RIV107-2017 Clinical Data Visualization using TIBCO Spotfire and SAS Ajay Gupta, PPD, Morrisville, USA In Pharmaceuticals/CRO industries, you may receive requests from stakeholders

More information

Post-Processing.LST files to get what you want

Post-Processing.LST files to get what you want Paper CC04 Post-Processing.LST files to get what you want Edward Foster, Oxford Pharmaceutical Sciences, UK ABSTRACT SAS has a range of procedures you can use to create table and listing output. These

More information

ODS DOCUMENT, a practical example. Ruurd Bennink, OCS Consulting B.V., s-hertogenbosch, the Netherlands

ODS DOCUMENT, a practical example. Ruurd Bennink, OCS Consulting B.V., s-hertogenbosch, the Netherlands Paper CC01 ODS DOCUMENT, a practical example Ruurd Bennink, OCS Consulting B.V., s-hertogenbosch, the Netherlands ABSTRACT The ODS DOCUMENT destination (in short ODS DOCUMENT) is perhaps the most underutilized

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

IT S THE LINES PER PAGE THAT COUNTS Jonathan Squire, C2RA, Cambridge, MA Johnny Tai, Comsys, Portage, MI

IT S THE LINES PER PAGE THAT COUNTS Jonathan Squire, C2RA, Cambridge, MA Johnny Tai, Comsys, Portage, MI IT S THE LINES PER PAGE THAT COUNTS Jonathan Squire, C2RA, Cambridge, MA Johnny Tai, Comsys, Portage, MI ABSTRACT When the bodytitle option is used to keep titles and footnotes independent of the table

More information

PharmaSUG 2013 CC26 Automating the Labeling of X- Axis Sanjiv Ramalingam, Vertex Pharmaceuticals, Inc., Cambridge, MA

PharmaSUG 2013 CC26 Automating the Labeling of X- Axis Sanjiv Ramalingam, Vertex Pharmaceuticals, Inc., Cambridge, MA PharmaSUG 2013 CC26 Automating the Labeling of X- Axis Sanjiv Ramalingam, Vertex Pharmaceuticals, Inc., Cambridge, MA ABSTRACT Labeling of the X-axis usually involves a tedious axis statement specifying

More information

Paper An Automated Reporting Macro to Create Cell Index An Enhanced Revisit. Shi-Tao Yeh, GlaxoSmithKline, King of Prussia, PA

Paper An Automated Reporting Macro to Create Cell Index An Enhanced Revisit. Shi-Tao Yeh, GlaxoSmithKline, King of Prussia, PA ABSTRACT Paper 236-28 An Automated Reporting Macro to Create Cell Index An Enhanced Revisit When generating tables from SAS PROC TABULATE or PROC REPORT to summarize data, sometimes it is necessary to

More information

Using GSUBMIT command to customize the interface in SAS Xin Wang, Fountain Medical Technology Co., ltd, Nanjing, China

Using GSUBMIT command to customize the interface in SAS Xin Wang, Fountain Medical Technology Co., ltd, Nanjing, China PharmaSUG China 2015 - Paper PO71 Using GSUBMIT command to customize the interface in SAS Xin Wang, Fountain Medical Technology Co., ltd, Nanjing, China One of the reasons that SAS is widely used as the

More information

LST in Comparison Sanket Kale, Parexel International Inc., Durham, NC Sajin Johnny, Parexel International Inc., Durham, NC

LST in Comparison Sanket Kale, Parexel International Inc., Durham, NC Sajin Johnny, Parexel International Inc., Durham, NC ABSTRACT PharmaSUG 2013 - Paper PO01 LST in Comparison Sanket Kale, Parexel International Inc., Durham, NC Sajin Johnny, Parexel International Inc., Durham, NC The need for producing error free programming

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

A Macro that can Search and Replace String in your SAS Programs

A Macro that can Search and Replace String in your SAS Programs ABSTRACT MWSUG 2016 - Paper BB27 A Macro that can Search and Replace String in your SAS Programs Ting Sa, Cincinnati Children s Hospital Medical Center, Cincinnati, OH In this paper, a SAS macro is introduced

More information

footnote1 height=8pt j=l "(Rev. &sysdate)" j=c "{\b\ Page}{\field{\*\fldinst {\b\i PAGE}}}";

footnote1 height=8pt j=l (Rev. &sysdate) j=c {\b\ Page}{\field{\*\fldinst {\b\i PAGE}}}; Producing an Automated Data Dictionary as an RTF File (or a Topic to Bring Up at a Party If You Want to Be Left Alone) Cyndi Williamson, SRI International, Menlo Park, CA ABSTRACT Data dictionaries are

More information

Automating Comparison of Multiple Datasets Sandeep Kottam, Remx IT, King of Prussia, PA

Automating Comparison of Multiple Datasets Sandeep Kottam, Remx IT, King of Prussia, PA Automating Comparison of Multiple Datasets Sandeep Kottam, Remx IT, King of Prussia, PA ABSTRACT: Have you ever been asked to compare new datasets to old datasets while transfers of data occur several

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

SAS Graphs in Small Multiples Andrea Wainwright-Zimmerman, Capital One, Richmond, VA

SAS Graphs in Small Multiples Andrea Wainwright-Zimmerman, Capital One, Richmond, VA Paper SIB-113 SAS Graphs in Small Multiples Andrea Wainwright-Zimmerman, Capital One, Richmond, VA ABSTRACT Edward Tufte has championed the idea of using "small multiples" as an effective way to present

More information

Presentation Quality Bulleted Lists Using ODS in SAS 9.2. Karl M. Kilgore, PhD, Cetus Group, LLC, Timonium, MD

Presentation Quality Bulleted Lists Using ODS in SAS 9.2. Karl M. Kilgore, PhD, Cetus Group, LLC, Timonium, MD Presentation Quality Bulleted Lists Using ODS in SAS 9.2 Karl M. Kilgore, PhD, Cetus Group, LLC, Timonium, MD ABSTRACT Business reports frequently include bulleted lists of items: summary conclusions from

More information

Keeping Track of Database Changes During Database Lock

Keeping Track of Database Changes During Database Lock Paper CC10 Keeping Track of Database Changes During Database Lock Sanjiv Ramalingam, Biogen Inc., Cambridge, USA ABSTRACT Higher frequency of data transfers combined with greater likelihood of changes

More information

3N Validation to Validate PROC COMPARE Output

3N Validation to Validate PROC COMPARE Output ABSTRACT Paper 7100-2016 3N Validation to Validate PROC COMPARE Output Amarnath Vijayarangan, Emmes Services Pvt Ltd, India In the clinical research world, data accuracy plays a significant role in delivering

More information

A Macro to replace PROC REPORT!?

A Macro to replace PROC REPORT!? Paper TS03 A Macro to replace PROC REPORT!? Katja Glass, Bayer Pharma AG, Berlin, Germany ABSTRACT Some companies have macros for everything. But is that really required? Our company even has a macro to

More information

A Macro To Generate a Study Report Hany Aboutaleb, Biogen Idec, Cambridge, MA

A Macro To Generate a Study Report Hany Aboutaleb, Biogen Idec, Cambridge, MA Paper PO26 A Macro To Generate a Study Report Hany Aboutaleb, Biogen Idec, Cambridge, MA Abstract: Imagine that you are working on a study (project) and you would like to generate a report for the status

More information

PDF Multi-Level Bookmarks via SAS

PDF Multi-Level Bookmarks via SAS Paper TS04 PDF Multi-Level Bookmarks via SAS Steve Griffiths, GlaxoSmithKline, Stockley Park, UK ABSTRACT Within the GlaxoSmithKline Oncology team we recently experienced an issue within our patient profile

More information

Developing Data-Driven SAS Programs Using Proc Contents

Developing Data-Driven SAS Programs Using Proc Contents Developing Data-Driven SAS Programs Using Proc Contents Robert W. Graebner, Quintiles, Inc., Kansas City, MO ABSTRACT It is often desirable to write SAS programs that adapt to different data set structures

More information

Multiple Graphical and Tabular Reports on One Page, Multiple Ways to Do It Niraj J Pandya, CT, USA

Multiple Graphical and Tabular Reports on One Page, Multiple Ways to Do It Niraj J Pandya, CT, USA Paper TT11 Multiple Graphical and Tabular Reports on One Page, Multiple Ways to Do It Niraj J Pandya, CT, USA ABSTRACT Creating different kind of reports for the presentation of same data sounds a normal

More information

Advanced Visualization using TIBCO Spotfire and SAS

Advanced Visualization using TIBCO Spotfire and SAS PharmaSUG 2018 - Paper DV-04 ABSTRACT Advanced Visualization using TIBCO Spotfire and SAS Ajay Gupta, PPD, Morrisville, USA In Pharmaceuticals/CRO industries, you may receive requests from stakeholders

More information

The Dataset Diet How to transform short and fat into long and thin

The Dataset Diet How to transform short and fat into long and thin Paper TU06 The Dataset Diet How to transform short and fat into long and thin Kathryn Wright, Oxford Pharmaceutical Sciences, UK ABSTRACT What do you do when you are given a dataset with one observation

More information

PharmaSUG Paper TT10 Creating a Customized Graph for Adverse Event Incidence and Duration Sanjiv Ramalingam, Octagon Research Solutions Inc.

PharmaSUG Paper TT10 Creating a Customized Graph for Adverse Event Incidence and Duration Sanjiv Ramalingam, Octagon Research Solutions Inc. Abstract PharmaSUG 2011 - Paper TT10 Creating a Customized Graph for Adverse Event Incidence and Duration Sanjiv Ramalingam, Octagon Research Solutions Inc. Adverse event (AE) analysis is a critical part

More information

SAS Drug Development Program Portability

SAS Drug Development Program Portability PharmaSUG2011 Paper SAS-AD03 SAS Drug Development Program Portability Ben Bocchicchio, SAS Institute, Cary NC, US Nancy Cole, SAS Institute, Cary NC, US ABSTRACT A Roadmap showing how SAS code developed

More information

An Easy Way to Split a SAS Data Set into Unique and Non-Unique Row Subsets Thomas E. Billings, MUFG Union Bank, N.A., San Francisco, California

An Easy Way to Split a SAS Data Set into Unique and Non-Unique Row Subsets Thomas E. Billings, MUFG Union Bank, N.A., San Francisco, California An Easy Way to Split a SAS Data Set into Unique and Non-Unique Row Subsets Thomas E. Billings, MUFG Union Bank, N.A., San Francisco, California This work by Thomas E. Billings is licensed (2017) under

More information

Compute; Your Future with Proc Report

Compute; Your Future with Proc Report Paper PO10 Compute; Your Future with Proc Report Ian J Dixon, GlaxoSmithKline, Harlow, UK Suzanne E Johnes, GlaxoSmithKline, Harlow, UK ABSTRACT PROC REPORT is widely used within the pharmaceutical industry

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

PharmaSUG Paper AD21

PharmaSUG Paper AD21 PharmaSUG2010 - Paper AD21 Operational Uses of Patient Profiles Even in an ectd and SDTM World Terek Peterson, Octagon Research Solutions, Wayne, PA Sanjiv Ramalingam, Octagon Research Solutions, Wayne,

More information

Chapter 2: Getting Data Into SAS

Chapter 2: Getting Data Into SAS Chapter 2: Getting Data Into SAS Data stored in many different forms/formats. Four categories of ways to read in data. 1. Entering data directly through keyboard 2. Creating SAS data sets from raw data

More information

Use That SAP to Write Your Code Sandra Minjoe, Genentech, Inc., South San Francisco, CA

Use That SAP to Write Your Code Sandra Minjoe, Genentech, Inc., South San Francisco, CA Paper DM09 Use That SAP to Write Your Code Sandra Minjoe, Genentech, Inc., South San Francisco, CA ABSTRACT In this electronic age we live in, we usually receive the detailed specifications from our biostatistician

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

Utilizing SAS for Cross- Report Verification in a Clinical Trials Setting

Utilizing SAS for Cross- Report Verification in a Clinical Trials Setting Utilizing SAS for Cross- Report Verification in a Clinical Trials Setting Daniel Szydlo, SCHARP/Fred Hutch, Seattle, WA Iraj Mohebalian, SCHARP/Fred Hutch, Seattle, WA Marla Husnik, SCHARP/Fred Hutch,

More information

Validation Summary using SYSINFO

Validation Summary using SYSINFO Validation Summary using SYSINFO Srinivas Vanam Mahipal Vanam Shravani Vanam Percept Pharma Services, Bridgewater, NJ ABSTRACT This paper presents a macro that produces a Validation Summary using SYSINFO

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

186 Statistics, Data Analysis and Modeling. Proceedings of MWSUG '95

186 Statistics, Data Analysis and Modeling. Proceedings of MWSUG '95 A Statistical Analysis Macro Library in SAS Carl R. Haske, Ph.D., STATPROBE, nc., Ann Arbor, M Vivienne Ward, M.S., STATPROBE, nc., Ann Arbor, M ABSTRACT Statistical analysis plays a major role in pharmaceutical

More information

Automated Macros to Extract Data from the National (Nationwide) Inpatient Sample (NIS)

Automated Macros to Extract Data from the National (Nationwide) Inpatient Sample (NIS) Paper 3327-2015 Automated Macros to Extract Data from the National (Nationwide) Inpatient Sample (NIS) Ravi Gaddameedi, California State University, Eastbay, CA; Usha Kreaden, Intuitive Surgical, Sunnyvale,

More information

TLFs: Replaying Rather than Appending William Coar, Axio Research, Seattle, WA

TLFs: Replaying Rather than Appending William Coar, Axio Research, Seattle, WA ABSTRACT PharmaSUG 2013 - Paper PO16 TLFs: Replaying Rather than Appending William Coar, Axio Research, Seattle, WA In day-to-day operations of a Biostatistics and Statistical Programming department, we

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

Moving Data and Results Between SAS and Excel. Harry Droogendyk Stratia Consulting Inc.

Moving Data and Results Between SAS and Excel. Harry Droogendyk Stratia Consulting Inc. Moving Data and Results Between SAS and Excel Harry Droogendyk Stratia Consulting Inc. Introduction SAS can read ( and write ) anything Introduction In the end users want EVERYTHING in. Introduction SAS

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

Using V9 ODS LAYOUT to Simplify Generation of Individual Case Summaries Ling Y. Chen, Rho, Inc., Newton, MA

Using V9 ODS LAYOUT to Simplify Generation of Individual Case Summaries Ling Y. Chen, Rho, Inc., Newton, MA Paper PO02 Using V9 ODS LAYOUT to Simplify Generation of Individual Case Summaries Ling Y. Chen, Rho, Inc., Newton, MA ABSTRACT Up until now, individual case summaries involve complicated data _null_ coding

More information

Exporting Variable Labels as Column Headers in Excel using SAS Chaitanya Chowdagam, MaxisIT Inc., Metuchen, NJ

Exporting Variable Labels as Column Headers in Excel using SAS Chaitanya Chowdagam, MaxisIT Inc., Metuchen, NJ Paper 74924-2011 Exporting Variable Labels as Column Headers in Excel using SAS Chaitanya Chowdagam, MaxisIT Inc., Metuchen, NJ ABSTRACT Excel output is the desired format for most of the ad-hoc reports

More information

Summary Table for Displaying Results of a Logistic Regression Analysis

Summary Table for Displaying Results of a Logistic Regression Analysis PharmaSUG 2018 - Paper EP-23 Summary Table for Displaying Results of a Logistic Regression Analysis Lori S. Parsons, ICON Clinical Research, Medical Affairs Statistical Analysis ABSTRACT When performing

More information

Using PROC SQL to Generate Shift Tables More Efficiently

Using PROC SQL to Generate Shift Tables More Efficiently ABSTRACT SESUG Paper 218-2018 Using PROC SQL to Generate Shift Tables More Efficiently Jenna Cody, IQVIA Shift tables display the change in the frequency of subjects across specified categories from baseline

More information

Tales from the Help Desk 6: Solutions to Common SAS Tasks

Tales from the Help Desk 6: Solutions to Common SAS Tasks SESUG 2015 ABSTRACT Paper BB-72 Tales from the Help Desk 6: Solutions to Common SAS Tasks Bruce Gilsen, Federal Reserve Board, Washington, DC In 30 years as a SAS consultant at the Federal Reserve Board,

More information

Give me EVERYTHING! A macro to combine the CONTENTS procedure output and formats. Lynn Mullins, PPD, Cincinnati, Ohio

Give me EVERYTHING! A macro to combine the CONTENTS procedure output and formats. Lynn Mullins, PPD, Cincinnati, Ohio PharmaSUG 2014 - Paper CC43 Give me EVERYTHING! A macro to combine the CONTENTS procedure output and formats. Lynn Mullins, PPD, Cincinnati, Ohio ABSTRACT The PROC CONTENTS output displays SAS data set

More information

SD10 A SAS MACRO FOR PERFORMING BACKWARD SELECTION IN PROC SURVEYREG

SD10 A SAS MACRO FOR PERFORMING BACKWARD SELECTION IN PROC SURVEYREG Paper SD10 A SAS MACRO FOR PERFORMING BACKWARD SELECTION IN PROC SURVEYREG Qixuan Chen, University of Michigan, Ann Arbor, MI Brenda Gillespie, University of Michigan, Ann Arbor, MI ABSTRACT This paper

More information

SAS Log Summarizer Finding What s Most Important in the SAS Log

SAS Log Summarizer Finding What s Most Important in the SAS Log Paper CC-037 SAS Log Summarizer Finding What s Most Important in the SAS Log Milorad Stojanovic RTI International Education Surveys Division RTP, North Carolina ABSTRACT Validity of SAS programs is an

More information

%ANYTL: A Versatile Table/Listing Macro

%ANYTL: A Versatile Table/Listing Macro Paper AD09-2009 %ANYTL: A Versatile Table/Listing Macro Yang Chen, Forest Research Institute, Jersey City, NJ ABSTRACT Unlike traditional table macros, %ANTL has only 3 macro parameters which correspond

More information

General Methods to Use Special Characters Dennis Gianneschi, Amgen Inc., Thousand Oaks, CA

General Methods to Use Special Characters Dennis Gianneschi, Amgen Inc., Thousand Oaks, CA General Methods to Use Special Characters Dennis Gianneschi, Amgen Inc., Thousand Oaks, CA ABSTRACT This paper presents three general methods to use special characters in SAS procedure output as well as

More information

ABSTRACT INTRODUCTION TRICK 1: CHOOSE THE BEST METHOD TO CREATE MACRO VARIABLES

ABSTRACT INTRODUCTION TRICK 1: CHOOSE THE BEST METHOD TO CREATE MACRO VARIABLES An Efficient Method to Create a Large and Comprehensive Codebook Wen Song, ICF International, Calverton, MD Kamya Khanna, ICF International, Calverton, MD Baibai Chen, ICF International, Calverton, MD

More information

Data Edit-checks Integration using ODS Tagset Niraj J. Pandya, Element Technologies Inc., NJ Vinodh Paida, Impressive Systems Inc.

Data Edit-checks Integration using ODS Tagset Niraj J. Pandya, Element Technologies Inc., NJ Vinodh Paida, Impressive Systems Inc. PharmaSUG2011 - Paper DM03 Data Edit-checks Integration using ODS Tagset Niraj J. Pandya, Element Technologies Inc., NJ Vinodh Paida, Impressive Systems Inc., TX ABSTRACT In the Clinical trials data analysis

More information

My Reporting Requires a Full Staff Help!

My Reporting Requires a Full Staff Help! ABSTRACT Paper GH-03 My Reporting Requires a Full Staff Help! Erin Lynch, Daniel O Connor, Himesh Patel, SAS Institute Inc., Cary, NC With cost cutting and reduced staff, everyone is feeling the pressure

More information

Reading in Data Directly from Microsoft Word Questionnaire Forms

Reading in Data Directly from Microsoft Word Questionnaire Forms Paper 1401-2014 Reading in Data Directly from Microsoft Word Questionnaire Forms Sijian Zhang, VA Pittsburgh Healthcare System ABSTRACT If someone comes to you with hundreds of questionnaire forms in Microsoft

More information

SAS Clinical Data Integration Server 2.1

SAS Clinical Data Integration Server 2.1 SAS Clinical Data Integration Server 2.1 User s Guide Preproduction Documentation THIS DOCUMENT IS A PREPRODUCTION DRAFT AND IS PROVIDED BY SAS INSTITUTE INC. ON AN AS IS BASIS WITHOUT WARRANTY OF ANY

More information

%MISSING: A SAS Macro to Report Missing Value Percentages for a Multi-Year Multi-File Information System

%MISSING: A SAS Macro to Report Missing Value Percentages for a Multi-Year Multi-File Information System %MISSING: A SAS Macro to Report Missing Value Percentages for a Multi-Year Multi-File Information System Rushi Patel, Creative Information Technology, Inc., Arlington, VA ABSTRACT It is common to find

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 Few Quick and Efficient Ways to Compare Data

A Few Quick and Efficient Ways to Compare Data A Few Quick and Efficient Ways to Compare Data Abraham Pulavarti, ICON Clinical Research, North Wales, PA ABSTRACT In the fast paced environment of a clinical research organization, a SAS programmer has

More information

Regaining Some Control Over ODS RTF Pagination When Using Proc Report Gary E. Moore, Moore Computing Services, Inc., Little Rock, Arkansas

Regaining Some Control Over ODS RTF Pagination When Using Proc Report Gary E. Moore, Moore Computing Services, Inc., Little Rock, Arkansas PharmaSUG 2015 - Paper QT40 Regaining Some Control Over ODS RTF Pagination When Using Proc Report Gary E. Moore, Moore Computing Services, Inc., Little Rock, Arkansas ABSTRACT When creating RTF files using

More information

Chapter 6: Modifying and Combining Data Sets

Chapter 6: Modifying and Combining Data Sets Chapter 6: Modifying and Combining Data Sets The SET statement is a powerful statement in the DATA step. Its main use is to read in a previously created SAS data set which can be modified and saved as

More information

SAS PROGRAMMING AND APPLICATIONS (STAT 5110/6110): FALL 2015 Module 2

SAS PROGRAMMING AND APPLICATIONS (STAT 5110/6110): FALL 2015 Module 2 SAS PROGRAMMING AND APPLICATIONS (STAT 5110/6110): FALL 2015 Department of MathemaGcs and StaGsGcs Phone: 4-3620 Office: Parker 364- A E- mail: carpedm@auburn.edu Web: hup://www.auburn.edu/~carpedm/stat6110

More information

Untangling and Reformatting NT PerfMon Data to Load a UNIX SAS Database With a Software-Intelligent Data-Adaptive Application

Untangling and Reformatting NT PerfMon Data to Load a UNIX SAS Database With a Software-Intelligent Data-Adaptive Application Paper 297 Untangling and Reformatting NT PerfMon Data to Load a UNIX SAS Database With a Software-Intelligent Data-Adaptive Application Heather McDowell, Wisconsin Electric Power Co., Milwaukee, WI LeRoy

More information

Paper PO07. %RiTEN. Duong Tran, Independent Consultant, London, Great Britain

Paper PO07. %RiTEN. Duong Tran, Independent Consultant, London, Great Britain Paper PO07 %RiTEN Duong Tran, Independent Consultant, London, Great Britain ABSTRACT For years SAS programmers within the Pharmaceutical industry have been searching for answers to produce tables and listings

More information

The Impossible An Organized Statistical Programmer Brian Spruell and Kevin Mcgowan, SRA Inc., Durham, NC

The Impossible An Organized Statistical Programmer Brian Spruell and Kevin Mcgowan, SRA Inc., Durham, NC Paper CS-061 The Impossible An Organized Statistical Programmer Brian Spruell and Kevin Mcgowan, SRA Inc., Durham, NC ABSTRACT Organization is the key to every project. It provides a detailed history of

More information

A Macro to Manage Table Templates Mark Mihalyo, Community Care Behavioral Health Organization, Pittsburgh, PA

A Macro to Manage Table Templates Mark Mihalyo, Community Care Behavioral Health Organization, Pittsburgh, PA A Macro to Manage Table Templates Mark Mihalyo, Community Care Behavioral Health Organization, Pittsburgh, PA ABSTRACT The scenario: Data must be placed in a table or chart design provided by the company

More information

PharmaSUG Paper AD09

PharmaSUG Paper AD09 PharmaSUG 2015 - Paper AD09 The Dependency Mapper: How to save time on changes post database lock Apoorva Joshi, Biogen, Cambridge, MA Shailendra Phadke, Eliassen Group, Wakefield, MA ABSTRACT We lay emphasis

More information

Hash Objects for Everyone

Hash Objects for Everyone SESUG 2015 Paper BB-83 Hash Objects for Everyone Jack Hall, OptumInsight ABSTRACT The introduction of Hash Objects into the SAS toolbag gives programmers a powerful way to improve performance, especially

More information

Indenting with Style

Indenting with Style ABSTRACT Indenting with Style Bill Coar, Axio Research, Seattle, WA Within the pharmaceutical industry, many SAS programmers rely heavily on Proc Report. While it is used extensively for summary tables

More information

3. Almost always use system options options compress =yes nocenter; /* mostly use */ options ps=9999 ls=200;

3. Almost always use system options options compress =yes nocenter; /* mostly use */ options ps=9999 ls=200; Randy s SAS hints, updated Feb 6, 2014 1. Always begin your programs with internal documentation. * ***************** * Program =test1, Randy Ellis, first version: March 8, 2013 ***************; 2. Don

More information

Statistics and Data Analysis. Common Pitfalls in SAS Statistical Analysis Macros in a Mass Production Environment

Statistics and Data Analysis. Common Pitfalls in SAS Statistical Analysis Macros in a Mass Production Environment Common Pitfalls in SAS Statistical Analysis Macros in a Mass Production Environment Huei-Ling Chen, Merck & Co., Inc., Rahway, NJ Aiming Yang, Merck & Co., Inc., Rahway, NJ ABSTRACT Four pitfalls are commonly

More information

Plot Your Custom Regions on SAS Visual Analytics Geo Maps

Plot Your Custom Regions on SAS Visual Analytics Geo Maps SESSION 2885 Plot Your Custom Regions on SAS Visual Analytics Geo Maps Jitendra N. Pandey SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute

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

SAS 101. Based on Learning SAS by Example: A Programmer s Guide Chapter 21, 22, & 23. By Tasha Chapman, Oregon Health Authority

SAS 101. Based on Learning SAS by Example: A Programmer s Guide Chapter 21, 22, & 23. By Tasha Chapman, Oregon Health Authority SAS 101 Based on Learning SAS by Example: A Programmer s Guide Chapter 21, 22, & 23 By Tasha Chapman, Oregon Health Authority Topics covered All the leftovers! Infile options Missover LRECL=/Pad/Truncover

More information

If You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC

If You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC Paper 2417-2018 If You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC ABSTRACT Reading data effectively in the DATA step requires knowing the implications

More information

An Animated Guide: Proc Transpose

An Animated Guide: Proc Transpose ABSTRACT An Animated Guide: Proc Transpose Russell Lavery, Independent Consultant If one can think about a SAS data set as being made up of columns and rows one can say Proc Transpose flips the columns

More information

SAS Clinical Data Integration 2.4

SAS Clinical Data Integration 2.4 SAS Clinical Data Integration 2.4 User s Guide SAS Documentation The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2013. SAS Clinical Data Integration 2.4: User's Guide.

More information

A Useful Macro for Converting SAS Data sets into SAS Transport Files in Electronic Submissions

A Useful Macro for Converting SAS Data sets into SAS Transport Files in Electronic Submissions Paper FC07 A Useful Macro for Converting SAS Data sets into SAS Transport Files in Electronic Submissions Xingshu Zhu and Shuping Zhang Merck Research Laboratories, Merck & Co., Inc., Blue Bell, PA 19422

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

ODS or DDE for Data Presentation -- A Preliminary Comparison of Output from Different Sources John He, Cephalon, Inc.

ODS or DDE for Data Presentation -- A Preliminary Comparison of Output from Different Sources John He, Cephalon, Inc. Paper 145-28 ODS or DDE for -- A Preliminary Comparison of Output from Different Sources John He, Cephalon, Inc., West Chester, PA ABSTRACT To present the data in a desired format from different sources,

More information

Omitting Records with Invalid Default Values

Omitting Records with Invalid Default Values Paper 7720-2016 Omitting Records with Invalid Default Values Lily Yu, Statistics Collaborative Inc. ABSTRACT Many databases include default values that are set inappropriately. These default values may

More information

PharmaSUG Paper PO22

PharmaSUG Paper PO22 PharmaSUG 2015 - Paper PO22 Challenges in Developing ADSL with Baseline Data Hongyu Liu, Vertex Pharmaceuticals Incorporated, Boston, MA Hang Pang, Vertex Pharmaceuticals Incorporated, Boston, MA ABSTRACT

More information

PhUSE US Connect 2018 Paper CT06 A Macro Tool to Find and/or Split Variable Text String Greater Than 200 Characters for Regulatory Submission Datasets

PhUSE US Connect 2018 Paper CT06 A Macro Tool to Find and/or Split Variable Text String Greater Than 200 Characters for Regulatory Submission Datasets PhUSE US Connect 2018 Paper CT06 A Macro Tool to Find and/or Split Variable Text String Greater Than 200 Characters for Regulatory Submission Datasets Venkata N Madhira, Shionogi Inc, Florham Park, USA

More information

An Efficient Method to Create Titles for Multiple Clinical Reports Using Proc Format within A Do Loop Youying Yu, PharmaNet/i3, West Chester, Ohio

An Efficient Method to Create Titles for Multiple Clinical Reports Using Proc Format within A Do Loop Youying Yu, PharmaNet/i3, West Chester, Ohio PharmaSUG 2012 - Paper CC12 An Efficient Method to Create Titles for Multiple Clinical Reports Using Proc Format within A Do Loop Youying Yu, PharmaNet/i3, West Chester, Ohio ABSTRACT Do you know how to

More information