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

Size: px
Start display at page:

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

Transcription

1 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 of all or designated *.lst files in the input directory, and print number of pages designated of each table or listing in these directory. The SAS system and SAS/MACRO will help you process the studyrpt.sas macro to report the status of all designated *.lst files in the input directory, print one or more pages of each *.lst file, and create a batch file to run all the programs overnight. Introduction: This paper presents the studyrpt.sas macro, which is processed with the SAS system based upon the requirements of the macro as well as assignments defined by users. Overview: The studyrpt.sas macro will search all the *.lst files in specified directory to find the title or description of each *.lst file and count the output pages, and lines, find the creation date, last run date, and the file owner to produce a report file called studyrpt.lst. If the user set the macro variable prtpage=1 the studyrpt.sas macro will produce studydoc.lst file to include the first page of the *.lst files. This very useful option can be used by statisticians to produce table or listing shells for any new SAP that would include the location of the sample program for use by the statistical programmer. Finally the user can choose the creatbat parameter to optionally create a batch file that can be used to submit the entire program overnight or at the users leisure time. The macro program will create three optional reports in the directory specified by the OUTDIR parameter: Studtrpt.lst: A table including this is the output name, programmer name, creation date, last run date, maximum line per output, maximum page number, and the title (description). Studylst.lst: A file containing as many pages of each output document as specified by the user. Studylst.pdf: A file containing as many pages of each output document as specified by the user in Adobe Acrobat format. Method: Find a study you work on and need to have inventory or report about all the program files. Since any program will produce output with the extension *.lst, where * is the program file name then if we use *.lst files we will know a lot about our program files. Find the location of the original files and the location to store the studyrpt.sas macro output files. The user has the choice to add all the *.lst to one file for easy printing, or only the first page of each of *.lst to one file for use by statisticians to produce shells for any new SAP. The user has the choice to name the inventory or report output file. Macro inputs: The studyrpt.sas macro will need the following parameters: INDIR: Directory name, containing the *.lst files to be reported, where * is the files name. Example: indir=c:\iss\tabfig\dev OUTDIR: Directory name containing the reported files *.lst files are stored. Example: outdir=c:\iss\report INDEXF: Name of the *.lst files in the directory (default: blank). Example: indexf=eff_shft.lst ms_shft.lst cp_he.lst Or: indexf=cp*.lst (all the files beginning with cp) PRTPAGE: Number of pages to display for each file (default: 1)

2 Example: prtpage=1 to any integer Or: prtpage=no (No pages are printed. Only need report) Or: prtpage=all (All pages are printed) REPORT: If report file is requested (default: Yes) Example: report=no TITLE: The Report title Example: title= List Of All Output Files For Study XXX CREATBAT: If a batch file is requested to run all the program with one file Example: creatbat=no (default: YES) Helpful Hints: 1. Make sure your file have the extension *.lst. 2. Make sure the file you will report follows the standard output. If not do not worry the program will supply you with reports file. 3. Review out the report files in the outdir parameter (i.e. studyrpt.lst, studylst.lst, studylst.rtf). 4. Make sure you correct your *.lst files (i.e. all your format output files consistent with other output files) from the reports file. 5. Document your work for future reference (i.e. Working in two projects). 6. If you like to print all of your *.lst files choose prtpage=all so you have one file to send to the printer. 7. The macro assumes that there is a line between title and the body of output and another line between the body and the footnote. 8. You can use the debug parameter to debug the macro to check for error in the SAS output log file. 9. The macro will create a batch file to run all off SAS programs in the designated input directory. You can use Windows Scheduled tasks to schedule a task to run the batch file to run all the programs over night. 10. The macro will generate Acrobat Reader pdf format file to send it to others to review your outputworking project. CONCLUSION: A great deal of information and documentation can be gained by using this macro to report the status of working study in the input directory, inventory all the work done, and create a history of the study for future reference. TRADEMARKS: SAS is a registered trademark of the SAS Institute, Inc., in the USA and in other countries. Windows is a registered trademark of the Microsoft Corporation. Acknowledgment: The author would like to thank Ms. Tina Casteris for her review and valuable comments. REFERENCES: [1] SAS Institute, Inc., Cary, NC, SAS Guide to Macro Processing: Version 6, Second Edition. [2] SAS Institute, Inc., Cary, NC, SAS Procedures Guide: Version 6, Third Edition. [3] SAS Institute, Inc., Cary, NC, SAS Language Reference: Version 6, First Edition. CONTACT: Hany Aboutaleb Biogen Idec. 14 Cambridge Center Cambridge MA Tele. #: (617) Fax: (617) Internet: hany.aboutaleb@biogenidec.com

3 The Program: Program ID: Studyrpt.sas Source pgm: None Description: Report the status of all or designated lst files in the input directory (studyrpt.lst) and print the number of pages designated in the parameter prtpage= of each table in these files (trialrpt.lst) Created: July 2003 Contact persons: Hany Aboutaleb (Biogen, 7125) Input parameters: indir = input directory where the lst files are located indexf= names of the lst files out of which pages are printed and reported (default: all lst files in the directory (blank)) example: fnames=eff3.lst eff4.lst lbrun.lst, or: fnames=eff*.lst, (all lst files beginning with eff) outdir= output directory for the output files, trialrpt.lst and trialrpt.doc prtpage= number of pages to display for each table (default: 1) options: 1 to any integer No (No pages are printed. Only need report) All (All pages are printed) report= if report file is requested (default: Yes) option: No creatbat= if a batch file is requested to run all the program with one file (default: YES) option: No debug= if the user request to debug the log (default: NO) option: Yes Note: Include formatprt.sas program to format the programmer name Modification log: Date Reason Person %* Set SAS options; Options nodate nonumber nobyline nomprint fmterr ls=156 ps=52 nosource Nomlogic nosymbolgen nomprint nomlogic nomacrogen compress=no formchar= " = -/\<>*" ; %* To format the user names with fancy format; %include 'C:\bg12\formatprt.sas'; %macro Studyrpt(indir=, indexf=, outdir=, prtpage=1, title=, /* Report title */ report=yes, creatbat=yes, debug=no) ; %if %upcase(&debug)=yes %Then options macrogen symbolgen mlogic mprint; %local parmerr del dir; %put; %put <> BiogenIdec SYSTEM MACRO Studyrpt: Report the status of all or designated lst files in the input directory; %put; Determine the OS specific directory command %if %scan(&sysscp,1) = HP %then %let sep=/; %*let dir=%str(ls -x1); %*let del=rm; %*let username =%sysget(logname); %else options noxwait xsync; %let sep=\; %*let dir=%str(dir/b); %*let del=del;

4 Prepare macro variables ; %let indir=%upcase(&indir); %let outdir=%upcase(&outdir); %let creatbat=%upcase(&creatbat); %let report=%upcase(&report); %let linesize = %sysfunc(getoption(linesize)) ; %let parmerr=0; /** GET PHYSICAL DIRECTORY OF SAS WORK SPACE **/ %let workdir=%sysfunc(pathname(work)); Define the page break character ; %let cc=12; %let under = %qsysfunc(repeat(_,70)) ; %let underh= %str( )%qsysfunc(repeat(_,70)) ; %let empty = %qsysfunc(repeat(%str( ),70)) ; Break fnames parameter, if not empty %let nfnm=0; %***Number of list file in the input directory**; %if %upcase(&prtpage)=no %then %let hpage=no; %let prtpage=0; %else %if %upcase(&prtpage)=all %then %let hpage=all; %let prtpage=6868; %else %if %index( ,%substr(&prtpage,1,1)) ne 0 %then %let hpage=&prtpage; Validate parameters %* Test if the &indir and &outdir exist and give warnings if not; %if %sysfunc(fileexist(&indir))=0 %then %put ERROR: Directory &indir does not exist ***; %let parmerr=1; %if %sysfunc(fileexist(&outdir))=0 %then %put ERROR: Directory &outdir does not exist ***; %let parmerr=1; %* Test if the prtpage= parameter is a positive integer; %do h=1 %to %length(&prtpage); %if %index( ,%substr(&prtpage,&h,1))=0 %then %put ERROR: Check your prtpage= parameter. It must be a positive integer, a No or an All ***; %let parmerr=1; %* Test if the creatbat= parameter is filled out correctly; %if &creatbat^=yes and &creatbat^=no %then %put ERROR: Check your creatbat= parameter. It must be either Yes or No ***; %let parmerr=1; %* Test if the report= parameter is filled out correctly; %if &report^=yes and &report^=no %then %put ERROR: Check your report= parameter. It must be either Yes or No ***; %let parmerr=1; Quit the program if you have any wrong Input parameters - %if (&parmerr) %then %goto quit;

5 Delete the existing temporary and output files if there are any - %if %sysfunc(fileexist(&outdir&sep.studylst.lst)) %then filename delfil pipe "del &outdir&sep.studylst.lst" ; infile delfil lrecl=200 pad; input delf $200.; %if %sysfunc(fileexist(&outdir&sep.studylst.pdf)) %then filename delfil pipe "del &outdir&sep.studylst.pdf" ; infile delfil lrecl=200 pad; input delf $200.; %if %sysfunc(fileexist(&outdir&sep.studyrpt.lst)) %then filename delfil pipe "del &outdir&sep.studyrpt.lst" ; infile delfil lrecl=200 pad; input delf $200.; %if %sysfunc(fileexist(&outdir&sep.runprog.bat)) %then filename delfil pipe "del &outdir&sep.runprog.bat" ; infile delfil lrecl=200 pad; input delf $200.; Count the file and create macro variables for those files - %if %length(&indexf)>0 %then %let count=1; %let fnm&count=%scan(&fnames,&count,%str( )); %do %while(%length(&&fn&count)>0); %let count=%eval(&count+1); %let fnm&count=%scan(&fnames,&count,%str( )); %let nfnm=%eval(&count-1); %* Read input directory ; %else %if %length(&indexf)=<1 %then filename all_list pipe "dir &indir\*.lst/q/tc"; length text $200; infile all_list lrecl=200 pad missover; input text 1-200; text=lowcase(text); retain i 0; i=i+1; call symput('text' trim(left(put(i,8.))),trim(left(text))); call symput('ntext',trim(left(put(i,8.)))); %let j=0; %do i=1 %to &ntext; %if %index(%bquote(%upcase(&&text&i)),.lst)>0 %then %let j=%eval(&j+1); %let pro&j=%substr(%bquote(&&text&i), %index(%bquote(&&text&i),%scan(%bquote(&&text&i),4,%str( )))); %let pro&j=%substr(%bquote(&&pro&j),1,%index(%bquote(%upcase(&&pro&j)),%str( ))-1); %let pro&j=%scan(%bquote(&&pro&j),2,'\'); %let cdt&j=%substr(%bquote(&&text&i), %index(%bquote(&&text&i),%scan(%bquote(&&text&i),1,%str( )))); %let cdt&j=%substr(%bquote(&&cdt&j),1,%index(%bquote(%upcase(&&cdt&j)),%str( ))-1); %let fnm&j=%substr(%bquote(&&text&i), %index(%bquote(&&text&i),%scan(%bquote(&&text&i),5,%str( )))); %let fnm&j=%substr(%bquote(&&fnm&j),1,%index(%bquote(%upcase(&&fnm&j)),.lst)-1); %let nfnm=&j;

6 %if %upcase(&debug)=yes %Then %put NFNM=&nfnm; Read each file to determine report contained %if &nfnm>0 %then %do x=1 %to &nfnm; %let fname=%unquote(&&fnm&x); filename lists "&indir&sep&&fnm&x...lst"; Data _null_; infile lists truncover ; length line $25000; input line $char.; retain cnt 0; outf='f' trim(left(put(&x,8.))); call symput('outf' trim(left(put(&x,8.))),trim(left(outf))); if index(line,"&under") then stop; else if index(line,"&empty") then if index(trim(upcase(line)),'page') eq 0 then cnt=cnt+1; call symput( 'tit' left(cnt),trim(left(line))); call symput('ntit',trim(left(put(cnt,8.)))); %if %upcase(&debug)=yes %Then %put _user_; %let tlist=; %do i=1 %to %eval(&ntit); %if %length(&tlist)^=0 %then %if %index((%upcase(&tlist)),obs) %then %let tlist='check this program'; %else %let tlist=&tlist %bquote(&&tit&i); %else %let tlist=%bquote(&&tit&i); %if %upcase(&debug)=yes %Then %put tlist=&&tlist; data _null_ ; length buffer $200 ; infile lists lrecl=200 pad missover end=eof; input buffer $ 1-200; retain allpgno 0 line_num flag 1 progdate ; if _n_=1 then first=&cc; else first=input(substr(buffer,1,1),bits8.); if first=&cc then if flag then flag=0; allpgno=allpgno+1; line_num=_n_; if index(upcase(buffer),'date:') ne 0 then progdate=compress(substr(buffer,(index(upcase(buffer),'date:')+5),12)); if eof then call symput('progdt',trim(progdate)); call symput('linex',trim(left(put(line_num,8.)))); call symput('pagex',trim(left(put(allpgno,8.)))); data &&outf&x(keep=buffer); length buffer $25000; infile lists lrecl=200 pad missover length=len; input buffer $varying200. len; retain prtpage 0 flag 1 ;

7 if _n_=1 then first=&cc; else first=input(substr(buffer,1,1),bits8.);; if first=&cc then if flag then flag=0; prtpage=prtpage+1; if prtpage<=&pagex and prtpage<=&prtpage; data y&x; length filen $50 tit $25000; %if %length(&&fnm&x) ne 0 %then filen=compress("&&fnm&x");; program=put("&&pro&x",$prog.); creat=input("&&cdt&x",mmddyy10.); tit=trim(left("&&tlist")); linenum="&linex"; %if %length(&progdt) ne 0 %then progdate=left("&progdt");; pagemax="&pagex"; format creat date9.; This is where we loop thru to SET the data sets. data report; set %do x = 1 %to &nfnm; y&x ; data report; set report; retain lines 0 pagenum 0 ; where tit ne ''; if _n_=1 then lines = 0; pagenum + 1; lines + 1; if lines >=13 then lines = 1 ; pagenum + 1 ; end ; proc sql noprint; select left(put(max(pagenum),3.)) into: totpages from report; quit; Generate output inventory file filename outftb "&outdir&sep.studyrpt.lst"; proc printto print=outftb new; title1 ' '; title2 " &title on &sysdate &systime"; title3 " Directory: %upcase(&indir)"; title4 "Page #byval(pagenum) of &totpages"; footnote; proc report data=report split='\' center missing nowindows headline spacing=1 ls=158 ps=55; by pagenum ; where tit ne ''; columns filen program creat progdate linenum pagemax tit; define filen/order order=data flow width=20 "OUTPUT NAME"; define program/order order=data flow width=15 "PROGRAMMER NAME"; define creat/order order=data format=date9. width=9 'CREATION DATE'; define progdate/order order=data width=9 'LAST RUN DATE'; define linenum/order order=data width=4 'MAX LINE NO.'; define pagemax/order order=data width=4 'MAX PAGE NO.'; define tit/width=75 flow 'DESCRIPTION '; break after progdate/skip; compute after;* _page_; txt1="note 1: &nfnm LST FILES HAVE BEEN PROCESSED IN THE DIRECTORY."; %if &prtpage>0 %then txt2="note 2: &hpage PAGE OF EACH TABLE IS PRINTED INTO THE FILE STUDYRPT.LST.";; txt4="source: Studyrpt.sas"; &linesize*'_' ; txt1 $&linesize..; txt4 $50. ; endcomp;

8 proc printto; title1; title2; title3; title4; Generate output file to Print designated pages to the file studylst.lst %if &prtpage>0 %then %do x=1 %to &nfnm; set &&outf&x; file "&outdir&sep.studylst.lst" mod; len=200; if _n_=1 then buffer='0c'x buffer; put buffer $varying200. len; Generate PDF output format file to Print designated pages to the file studylst.pdf ods pdf close; %if &prtpage>0 %then ods pdf file="studylst.pdf" nopdfnote NOTOC; *ods printer printer="acrobat Distiller" file="&outdir&sep.studylst.pdf"; %do x=1 %to &nfnm; set &&outf&x; file print; len=200; if _n_=1 then buffer='0c'x buffer; put buffer $varying200. len; *ods printer close; ods pdf close; Generate batch file to run designated programs %if &creatbat=yes %then data x; file "&outdir&sep.runprog.bat"; put 'path=%path%;"c:\program Files\SAS Institute\SAS\V8"'; %do y=1 %to &nfnm; put 'sas ' "&indir\&&fnm&y...sas" ' -nostatuswin -nologo'; %if %upcase(&debug)=yes %Then %put _user_; Quit the program in case of any parameter erro %quit: %if (&parmerr) %then %put ERROR: Macro Studyrpt stopped because of error. **** ; %mend Studyrpt; Sample macro call %Studyrpt( indir=m:\bg12psoriasis\wp-1201\csr_2004\dev, indexf=, outdir=c:\personal\2004_paper\, prtpage=1, title=list Of All Output Files For Study XXX, report=yes, creatbat=yes, debug=no);

9 Sample output Files: Studylst.lst Listing of Adverse Events for Patients Who Discontinued Study Due to an Adverse Event Page 1 of 2 Onset Adverse Event Relationship Day of to Treatment Center- Event Day of Investigator Preferred Severity Study Drug Group Patient (a) Withdrawal Term (b) Term (MedDRA) (b) (b) (a) *=Adverse Event was serious. (b) Investigator assessment. SOURCE: \ISS\Study XXX\AEDISC_LIST.SAS DATE: 08NOV2004 Studylst.pdf Listing of Adverse Events for Patients Who Discontinued Study Due to an Adverse Event Page 1 of 2 Onset Adverse Event Relationship Day of to Treatment Center- Event Day of Investigator Preferred Severity Study Drug Group Patient (a) Withdrawal Term (b) Term (MedDRA) (b) (b) (a) *=Adverse Event was serious. (b) Investigator assessment. SOURCE: \ISS\Study XXX\AEDISC_LIST.SAS DATE: 08NOV2004

10 Studyrpt.lst List Of All Output Files For Study XXX on 16DEC04 11:50 Directory: c:\iss\study xxx Page 1 of 7 MAX MAX CREATION LAST RUN LINE PAGE OUTPUT NAME PROGRAMMER NAME DATE DATE NO. NO. DESCRIPTION aedisc_list Aboutaleb, Hany 16SEP NOV Listing of Adverse Events for Patients Who Discontinued Study Due to an Adverse Event aeglossary Aboutaleb, Hany 16SEP NOV Adverse Event Glossary aept8 Aboutaleb, Hany 16SEP NOV Incidence of Treatment-Emergent Adverse Events by Preferred Term With an Incidence of 8% or More NOTE 1: 76 LST FILES HAVE BEEN PROCESSED IN THE DIRECTORY. Source: Studyrpt.sas Runprog.bat path=%path%;"c:\program Files\SAS Institute\SAS\V8" sas C:\ISS\Study xxx\aedisc_list.sas -nostatuswin -nologo sas C:\ISS\Study XXX\aeglossary.sas -nostatuswin -nologo

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

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

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

Logging the Log Magic: Pulling the Rabbit out of the Hat

Logging the Log Magic: Pulling the Rabbit out of the Hat ABSTRACT PharmaSUG2010 - Paper TT08 Logging the Log Magic: Pulling the Rabbit out of the Hat Adel Fahmy, BenchWorkzz, Austin, Texas Program Validation includes checking both program Log and Logic. Program

More information

A Tutorial on the SAS Macro Language

A Tutorial on the SAS Macro Language HW152 SESUG 2015 A Tutorial on the SAS Macro Language John J. Cohen, Advanced Data Concepts LLC, Newark, DE ABSTRACT The SAS Macro language is another language that rests on top of regular SAS code. If

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

How to use UNIX commands in SAS code to read SAS logs

How to use UNIX commands in SAS code to read SAS logs SESUG Paper 030-2017 How to use UNIX commands in SAS code to read SAS logs James Willis, OptumInsight ABSTRACT Reading multiple logs at the end of a processing stream is tedious when the process runs on

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

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

Posters. Paper

Posters. Paper Paper 212-26 Using SAS/AF to Create a SAS Program File Explorer Rob Nelson, Centers for Disease Control and Prevention, Atlanta, GA Janet Royalty, Centers for Disease Control and Prevention, Atlanta, GA

More information

How a Code-Checking Algorithm Can Prevent Errors

How a Code-Checking Algorithm Can Prevent Errors How a Code-Checking Algorithm Can Prevent Errors SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries.

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

Cutting the SAS LOG down to size Malachy J. Foley, University of North Carolina at Chapel Hill, NC

Cutting the SAS LOG down to size Malachy J. Foley, University of North Carolina at Chapel Hill, NC Paper SY05 Cutting the SAS LOG down to size Malachy J. Foley, University of North Carolina at Chapel Hill, NC ABSTRACT Looking through a large SAS LOG (say 250 pages) for NOTE's and WARNING's that might

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

Paper CC16. William E Benjamin Jr, Owl Computer Consultancy LLC, Phoenix, AZ

Paper CC16. William E Benjamin Jr, Owl Computer Consultancy LLC, Phoenix, AZ Paper CC16 Smoke and Mirrors!!! Come See How the _INFILE_ Automatic Variable and SHAREBUFFERS Infile Option Can Speed Up Your Flat File Text-Processing Throughput Speed William E Benjamin Jr, Owl Computer

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

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

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

Prove QC Quality Create SAS Datasets from RTF Files Honghua Chen, OCKHAM, Cary, NC 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

More information

Why & How To Use SAS Macro Language: Easy Ways To Get More Value & Power from Your SAS Software Tools

Why & How To Use SAS Macro Language: Easy Ways To Get More Value & Power from Your SAS Software Tools Why & How To Use SAS Macro Language: Easy Ways To Get More Value & Power from Your SAS Software Tools LeRoy Bessler PhD Bessler Consulting and Research Strong Smart Systems Mequon, WI, USA Le_Roy_Bessler@wi.rr.com

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

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

Demystifying Inherited Programs

Demystifying Inherited Programs Demystifying Inherited Programs Have you ever inherited a program that leaves you scratching your head trying to figure it out? If you have not, chances are that some time in the future you will. While

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

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

Macros are a block of code that can be executed/called on demand

Macros are a block of code that can be executed/called on demand What Are These Macros are a block of code that can be executed/called on demand Global variables are variables that you assign a value to, which can be referenced anywhere within your program. (Leah s

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

Make Your Life a Little Easier: A Collection of SAS Macro Utilities. Pete Lund, Northwest Crime and Social Research, Olympia, WA

Make Your Life a Little Easier: A Collection of SAS Macro Utilities. Pete Lund, Northwest Crime and Social Research, Olympia, WA Make Your Life a Little Easier: A Collection of SAS Macro Utilities Pete Lund, Northwest Crime and Social Research, Olympia, WA ABSTRACT SAS Macros are used in a variety of ways: to automate the generation

More information

A Way to Work with Invoice Files in SAS

A Way to Work with Invoice Files in SAS A Way to Work with Invoice Files in SAS Anjan Matlapudi and J. Daniel Knapp Pharmacy Informatics, PerformRx, The Next Generation PBM, 200 Stevens Drive, Philadelphia, PA 19113 ABSTRACT This paper illustrates

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

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

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

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

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

Debugging. Where to start? John Ladds, SAS Technology Center, Statistics Canada.

Debugging. Where to start? John Ladds, SAS Technology Center, Statistics Canada. Debugging Where to start? John Ladds, SAS Technology Center, Statistics Canada Come out of the desert of ignorance to the OASUS of knowledge Did it work? I don t see any red. So it must have worked, right?

More information

Using UNIX Shell Scripting to Enhance Your SAS Programming Experience

Using UNIX Shell Scripting to Enhance Your SAS Programming Experience Using UNIX Shell Scripting to Enhance Your SAS Programming Experience By James Curley SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute

More information

When Powerful SAS Meets PowerShell TM

When Powerful SAS Meets PowerShell TM PharmaSUG 2018 - Paper QT-06 When Powerful SAS Meets PowerShell TM Shunbing Zhao, Merck & Co., Inc., Rahway, NJ, USA Jeff Xia, Merck & Co., Inc., Rahway, NJ, USA Chao Su, Merck & Co., Inc., Rahway, NJ,

More information

PharmaSUG China Paper 059

PharmaSUG China Paper 059 PharmaSUG China 2016 - Paper 059 Using SAS @ to Assemble Output Report Files into One PDF File with Bookmarks Sam Wang, Merrimack Pharmaceuticals, Inc., Cambridge, MA Kaniz Khalifa, Leaf Research Services,

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

TLF Management Tools: SAS programs to help in managing large number of TLFs. Eduard Joseph Siquioco, PPD, Manila, Philippines

TLF Management Tools: SAS programs to help in managing large number of TLFs. Eduard Joseph Siquioco, PPD, Manila, Philippines PharmaSUG China 2018 Paper AD-58 TLF Management Tools: SAS programs to help in managing large number of TLFs ABSTRACT Eduard Joseph Siquioco, PPD, Manila, Philippines Managing countless Tables, Listings,

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

Using UNIX Shell Scripting to Enhance Your SAS Programming Experience

Using UNIX Shell Scripting to Enhance Your SAS Programming Experience Paper 2412-2018 Using UNIX Shell Scripting to Enhance Your SAS Programming Experience James Curley, Eliassen Group ABSTRACT This series will address three different approaches to using a combination of

More information

Working the System: Our Best SAS Options Patrick Thornton, SRI International, Menlo Park, CA Iuliana Barbalau, Adecco, Pleasanton, CA

Working the System: Our Best SAS Options Patrick Thornton, SRI International, Menlo Park, CA Iuliana Barbalau, Adecco, Pleasanton, CA ABSTRACT Working the System: Our Best SAS Options Patrick Thornton, SRI International, Menlo Park, CA Iuliana Barbalau, Adecco, Pleasanton, CA This paper provides an overview of SAS system options, and

More information

Using SAS to Control the Post Processing of Microsoft Documents Nat Wooding, J. Sargeant Reynolds Community College, Richmond, VA

Using SAS to Control the Post Processing of Microsoft Documents Nat Wooding, J. Sargeant Reynolds Community College, Richmond, VA Using SAS to Control the Post Processing of Microsoft Documents Nat Wooding, J. Sargeant Reynolds Community College, Richmond, VA Chen, SUGI 31, showed how to use SAS and VBA to automate the post processing

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

Foundations and Fundamentals. SAS System Options: The True Heroes of Macro Debugging Kevin Russell and Russ Tyndall, SAS Institute Inc.

Foundations and Fundamentals. SAS System Options: The True Heroes of Macro Debugging Kevin Russell and Russ Tyndall, SAS Institute Inc. SAS System Options: The True Heroes of Macro Debugging Kevin Russell and Russ Tyndall, SAS Institute Inc., Cary, NC ABSTRACT It is not uncommon for the first draft of any macro application to contain errors.

More information

Check Please: An Automated Approach to Log Checking

Check Please: An Automated Approach to Log Checking ABSTRACT Paper 1173-2017 Check Please: An Automated Approach to Log Checking Richann Watson, Experis In the pharmaceutical industry, we find ourselves having to re-run our programs repeatedly for each

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

Using Unnamed and Named Pipes

Using Unnamed and Named Pipes 227 CHAPTER 12 Using Unnamed and Named Pipes Overview of Pipes 227 Using Unnamed Pipes 228 Unnamed Pipe Syntax 228 Using Redirection Sequences 229 Unnamed Pipe Example 229 Using Named Pipes 230 Named Pipe

More information

Electricity Forecasting Full Circle

Electricity Forecasting Full Circle Electricity Forecasting Full Circle o Database Creation o Libname Functionality with Excel o VBA Interfacing Allows analysts to develop procedural prototypes By: Kyle Carmichael Disclaimer The entire presentation

More information

PharmaSUG China. model to include all potential prognostic factors and exploratory variables, 2) select covariates which are significant at

PharmaSUG China. model to include all potential prognostic factors and exploratory variables, 2) select covariates which are significant at PharmaSUG China A Macro to Automatically Select Covariates from Prognostic Factors and Exploratory Factors for Multivariate Cox PH Model Yu Cheng, Eli Lilly and Company, Shanghai, China ABSTRACT Multivariate

More information

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

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

Making an RTF file Out of a Text File, With SAS Paper CC13

Making an RTF file Out of a Text File, With SAS Paper CC13 Making an RTF file Out of a Text File, With SAS Paper CC13 David Franklin Independent SAS Consultant While you are waiting, some trivia. Q is the only letter in the alphabet that does not appear in the

More information

Routing Output. Producing Output with SAS Software CHAPTER 6

Routing Output. Producing Output with SAS Software CHAPTER 6 125 CHAPTER 6 Routing Output Producing Output with SAS Software 125 The Default Routings for the SAS Log and Procedure Output 126 Changing the Default Routings 127 Using the Print Dialog Box 128 Printing

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

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

Write SAS Code to Generate Another SAS Program A Dynamic Way to Get Your Data into SAS

Write SAS Code to Generate Another SAS Program A Dynamic Way to Get Your Data into SAS Paper 175-29 Write SAS Code to Generate Another SAS Program A Dynamic Way to Get Your Data into SAS Linda Gau, Pro Unlimited @ Genentech, Inc., South San Francisco, CA ABSTRACT In this paper we introduce

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

An Introduction to Macros Deb Cassidy

An Introduction to Macros Deb Cassidy Paper #HW03 An Introduction to Macros Deb Cassidy Abstract A search in the proceedings for SUGI 24-28 for the word "macro" had over 1,000 hits. Why are macros so popular? A quick glance through the papers

More information

Using PROC REPORT to Cross-Tabulate Multiple Response Items Patrick Thornton, SRI International, Menlo Park, CA

Using PROC REPORT to Cross-Tabulate Multiple Response Items Patrick Thornton, SRI International, Menlo Park, CA Using PROC REPORT to Cross-Tabulate Multiple Response Items Patrick Thornton, SRI International, Menlo Park, CA ABSTRACT This paper describes for an intermediate SAS user the use of PROC REPORT to create

More information

My objective is twofold: Examine the capabilities of MP Connect and apply those capabilities to a real-world application.

My objective is twofold: Examine the capabilities of MP Connect and apply those capabilities to a real-world application. Abstract MP CONNECT: Warp Engine for SAS (Multi-Processing in the Sun Solaris Environment). Pablo J. Nogueras CitiFinancial International, Risk Management Technology, Irving, Texas When you are assigned

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

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

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

Pros and Cons of Interactive SAS Mode vs. Batch Mode Irina Walsh, ClinOps, LLC, San Francisco, CA

Pros and Cons of Interactive SAS Mode vs. Batch Mode Irina Walsh, ClinOps, LLC, San Francisco, CA Pros and Cons of Interactive SAS Mode vs. Batch Mode Irina Walsh, ClinOps, LLC, San Francisco, CA ABSTRACT It is my opinion that SAS programs can be developed in either interactive or batch mode and produce

More information

MISSOVER, TRUNCOVER, and PAD, OH MY!! or Making Sense of the INFILE and INPUT Statements. Randall Cates, MPH, Technical Training Specialist

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

More information

ABSTRACT DATA CLARIFCIATION FORM TRACKING ORACLE TABLE INTRODUCTION REVIEW QUALITY CHECKS

ABSTRACT DATA CLARIFCIATION FORM TRACKING ORACLE TABLE INTRODUCTION REVIEW QUALITY CHECKS 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

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

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

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

e. That's accomplished with:

e. That's accomplished with: Make Your Life a Little Easier: A Collection of SAs Macro Utilities Pete Lund, Northwest Crime and Social Research, Olympia, WA ABSTRACT SAs Macros are used in a variety of ways: to automate the generation

More information

Two useful macros to nudge SAS to serve you

Two useful macros to nudge SAS to serve you Two useful macros to nudge SAS to serve you David Izrael, Michael P. Battaglia, Abt Associates Inc., Cambridge, MA Abstract This paper offers two macros that augment the power of two SAS procedures: LOGISTIC

More information

Using SAS Macro to Include Statistics Output in Clinical Trial Summary Table

Using SAS Macro to Include Statistics Output in Clinical Trial Summary Table Using SAS Macro to Include Statistics Output in Clinical Trial Summary Table Amy C. Young, Ischemia Research and Education Foundation, San Francisco, CA Sharon X. Zhou, Ischemia Research and Education

More information

2. Don t forget semicolons and RUN statements The two most common programming errors.

2. Don t forget semicolons and RUN statements The two most common programming errors. Randy s SAS hints March 7, 2013 1. Always begin your programs with internal documentation. * ***************** * Program =test1, Randy Ellis, March 8, 2013 ***************; 2. Don t forget semicolons and

More information

SURVIVING THE SAS MACRO JUNGLE BY USING YOUR OWN PROGRAMMING TOOLKIT

SURVIVING THE SAS MACRO JUNGLE BY USING YOUR OWN PROGRAMMING TOOLKIT PharmaSUG 2016 Paper BB11 SURVIVING THE SAS MACRO JUNGLE BY USING YOUR OWN PROGRAMMING TOOLKIT KEVIN RUSSELL Photo credit: Geoff Gallice / CC by 2.0 TOOLS FOR YOUR MACRO PROGRAMMING TOOLKIT The DOSUBL

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

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

title1 "Visits at &string1"; proc print data=hospitalvisits; where sitecode="&string1";

title1 Visits at &string1; proc print data=hospitalvisits; where sitecode=&string1; PharmaSUG 2012 Paper TF01 Macro Quoting to the Rescue: Passing Special Characters Mary F. O. Rosenbloom, Edwards Lifesciences LLC, Irvine, CA Art Carpenter, California Occidental Consultants, Anchorage,

More information

STAT:5400 Computing in Statistics. Other software packages. Microsoft Excel spreadsheet very convenient for entering data in flatfile

STAT:5400 Computing in Statistics. Other software packages. Microsoft Excel spreadsheet very convenient for entering data in flatfile STAT:5400 Computing in Statistics Other Software Packages Proc import A bit on SAS macro language Lecture 26 ov 2, 2016 Kate Cowles 374 SH, 335-0727 kate-cowles@uiowaedu Other software packages Microsoft

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

Coders' Corner. Paper Scrolling & Downloading Web Results. Ming C. Lee, Trilogy Consulting, Denver, CO. Abstract.

Coders' Corner. Paper Scrolling & Downloading Web Results. Ming C. Lee, Trilogy Consulting, Denver, CO. Abstract. Paper 71-25 Scrolling & Downloading Web Results Ming C. Lee, Trilogy Consulting, Denver, CO Abstract Since the inception of the INTERNET and Web Browsers, the need for speedy information to make split

More information

Cover the Basics, Tool for structuring data checking with SAS Ole Zester, Novo Nordisk, Denmark

Cover the Basics, Tool for structuring data checking with SAS Ole Zester, Novo Nordisk, Denmark ABSTRACT PharmaSUG 2014 - Paper IB04 Cover the Basics, Tool for structuring data checking with SAS Ole Zester, Novo Nordisk, Denmark Data Cleaning and checking are essential parts of the Stat programmer

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

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

Using Dynamic Data Exchange

Using Dynamic Data Exchange 145 CHAPTER 8 Using Dynamic Data Exchange Overview of Dynamic Data Exchange 145 DDE Syntax within SAS 145 Referencing the DDE External File 146 Determining the DDE Triplet 146 Controlling Another Application

More information

Chasing the log file while running the SAS program

Chasing the log file while running the SAS program Paper 1762-2014 Chasing the log file while running the SAS program Harun Rasheed, Cognizant Technology Solutions; Amarnath Vijayarangan, Genpact ABSTRACT Prompt error alerts through emails while an error

More information

Top-Down Programming with SAS Macros Edward Heaton, Westat, Rockville, MD

Top-Down Programming with SAS Macros Edward Heaton, Westat, Rockville, MD Paper P813 Top-Down Programming with SAS Macros Edward Heaton, Westat, Rockville, MD ABSTRACT Structured, top-down programming techniques are not intuitively obvious in the SAS language, but macros can

More information

SAS Macro Dynamics: from Simple Basics to Powerful Invocations Rick Andrews, Office of Research, Development, and Information, Baltimore, MD

SAS Macro Dynamics: from Simple Basics to Powerful Invocations Rick Andrews, Office of Research, Development, and Information, Baltimore, MD ABSTRACT CODERS CORNER SAS Macro Dynamics: from Simple Basics to Powerful Invocations Rick Andrews, Office of Research, Development, and Information, Baltimore, MD The SAS Macro Facility offers a mechanism

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

Using DDE with Microsoft Excel and SAS to Collect Data from Hundreds of Users

Using DDE with Microsoft Excel and SAS to Collect Data from Hundreds of Users Using DDE with Microsoft Excel and SAS to Collect Data from Hundreds of Users Russell Denslow and Yan Li Sodexho Marriott Services, Orlando, FL ABSTRACT A process is demonstrated in this paper to automatically

More information

Let SAS Help You Easily Find and Access Your Folders and Files

Let SAS Help You Easily Find and Access Your Folders and Files Paper 11720-2016 Let SAS Help You Easily Find and Access Your Folders and Files ABSTRACT Ting Sa, Cincinnati Children s Hospital Medical Center In this paper, a SAS macro is introduced that can help users

More information

Principles of Automation

Principles of Automation Principles of Automation The Problem Over 200 reports to be run either daily, weekly, or monthly Reports take between 30 minutes and 4 hours of analyst time to run Changes to existing reports and new reports

More information

Fly over, drill down, and explore

Fly over, drill down, and explore ABSTRACT Paper 79-2013 Fly over, drill down, and explore Suzanne Brown, HealthInsight New Mexico, Albuquerque, NM Data often have a spatial dimension, whether it is a five-year financial plan and annual

More information

Your Own SAS Macros Are as Powerful as You Are Ingenious

Your Own SAS Macros Are as Powerful as You Are Ingenious Paper CC166 Your Own SAS Macros Are as Powerful as You Are Ingenious Yinghua Shi, Department Of Treasury, Washington, DC ABSTRACT This article proposes, for user-written SAS macros, separate definitions

More information

Internet, Intranets, and The Web

Internet, Intranets, and The Web Paper 175-25 Security on the Web using SAS/IntrNet Software and HTML Ming C. Lee, Trilogy Consulting, Denver, CO Abstract The increase in INTERNET usage from both companies and from the general public

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

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

A Time Saver for All: A SAS Toolbox Philip Jou, Baylor University, Waco, TX

A Time Saver for All: A SAS Toolbox Philip Jou, Baylor University, Waco, TX South Central SAS Users Group 2016 A Time Saver for All: A SAS Toolbox Philip Jou, Baylor University, Waco, TX ABSTRACT SAS Macros are a useful tool to any SAS Programmer. A macro variable can be used

More information

Macros: Data Listings With Power. Daphne Ewing, Synteract, Inc., Ambler, PA

Macros: Data Listings With Power. Daphne Ewing, Synteract, Inc., Ambler, PA Paper 185-27 Macros: Data Listings With Power Daphne Ewing, Synteract, Inc., Ambler, PA ABSTRACT Displaying a variety of data in a consistent manner can be tedious and frustrating. Making adjustments to

More information

Programming Tips and Examples for Your Toolkit, III John Morrill, Pharmion Corporation, Overland Park, KS

Programming Tips and Examples for Your Toolkit, III John Morrill, Pharmion Corporation, Overland Park, KS Paper TT15 Programming Tips and Examples for Your Toolkit, III John Morrill, Pharmion Corporation, Overland Park, KS ABSTRACT This paper is a continuation of a series of PharmaSUG papers containing several

More information