ABSTRACT INTRODUCTION
|
|
- Luke Parker
- 7 years ago
- Views:
Transcription
1 Automating Concatenation of PDF/RTF Reports Using ODS DOCUMENT Shirish Nalavade, eclinical Solutions, Mansfield, MA Shubha Manjunath, Independent Consultant, New London, CT ABSTRACT As part of clinical trial reporting, a large number of PDF/RTF reports are created and at the completion of a major milestone in a study, it is required to combine all reports in a single document for easy delivery and review. Output Delivery System (ODS) in V9.2 provides new and enhanced capabilities to programmers for reporting and displaying clinical trials results. One such enhancement to ODS is the introduction of PROC DOCUMENT, which provides greater flexibility to modify/update reports. Apart from selectively displaying listing/graphs in the report, we can utilize ODS DOCUMENT capability to concatenate files and replay it in different destinations as a single document. Currently, SAS does not provide a capability to append RTF/PDF files, appending file is feasible only by using third party software outside SAS. We will explore a scenario that requires appending number of PDF files and provides details on a utility program that automates the concatenation process by using the output saved as an ODS DOCUMENT itemstore. This presentation will demonstrate how to dynamically handle output objects that are captured/saved from PROC DOCUMENT. Also illustrated in this paper is how to capture output objects from a reporting procedure, create document folders, list all permanent documents in a library, list and store information of a document in a dataset and copy and replay all objects to PDF, or any other destination (LISTING, HTML, RTF etc). INTRODUCTION With ODS DOCUMENT in production in SAS9 and with new enhancements in V9.2, it is now possible to accomplish the task of concatenating files with relative ease. From our earlier implementation of DOCUMENT procedure, we were aware of modifying bookmark nodes, updating titles, replaying selective reports and so we decided to explore more on other capabilities of this procedure. As a result, this utility was created to automate concatenation process within SAS. This utility provides user the functionality to combine any number of objects and any types of objects (reports, graphs, and tables) stored in different document folders and replay them in a single PDF report. Before implementation of our PROC DOCUMENT solution, concatenation of PDF reports was done by using Adobe s Acrobat Professional product. This was a two step process, one to create PDF reports using SAS and then use Adobe s product outside SAS to combine all individual files and create one document. Similarly, to concatenate RTF files using SAS, there was no easy way to combine reports other than having knowledge of RTF native code and manipulate it in SAS. This process is very well explained in reference 2. But these two processes either required manual interruption or required to learn a new coding language which was not very desirable. Our scenario had lots of reporting programs that created PDF reports of tables, listings, and graphs. For a typical study, the number of reports can go well beyond a hundred. For the purposes of illustration and to explain the core functionality of this utility macro, we will use simplified examples of SAS programs that create listing, graph and summary reports with and without BYGROUPS. These examples will illustrate how the DOCUMENT objects are defined and stored when used with different procedures (PROC 1
2 REPORT, PROC GPLOT) and using different options like BYGROUPS. We will also illustrate how to dynamically handle these objects to replay them to a single PDF or any other ODS destination. ODS DOCUMENT SYNTAX The following section provides the core structure of the utility. We will review the syntax of ODS DOCUMENT which is essential to understand the concepts presented in this paper. For a complete understanding of this procedure, readers are encouraged to read reference 2, which introduces DOCUMENT procedure in greater detail. First, let us look at how a document object is created for each reporting program; we will add documents from three procedures to illustrate how the document information is stored when created with different procedures. Document stores are created by enclosing the procedure within ODS DOCUMENT statements as shown below ODS DOCUMENT NAME =rptout.doc1(write); title1 "Listing of Site By Country"; title2 "Provides Sales By Quarter"; PROC REPORT data = totals NOWD; column dept site quarter sales; RUN; footnote j=r "Created on &sysdate9."; ODS DOCUMENT CLOSE; Opens the DOCUMENT destination and creates the document store doc1. For our application, as we wanted to utilize these objects for concatenation, we wrote the objects to a permanent location given by libref rptout. The NAME= option assigns the name doc1 to the ODS DOCUMENT store that contains the information from reporting procedure program with write access. With write access, if ODS DOCUMENT already exists in SAS session then all its contents are overwritten. This is essential because we only need the latest output every time the reporting macro is executed. If no option is specified then the default is update and every time the report is executed, then new outputs are appended to the existing object in the document store. This is not desirable because during replaying, we will end up displaying all the iteration of this report. We only need the most updated entry in the document. 2 Corresponding statement to close a current document or to stop storing output. Similarly, we will add documents for other procedures, one created by proc report using BY statement and the other from proc gchart that creates a basic graph. ODS DOCUMENT NAME =rptout.doc2(write); title1 "Listing of Site By Country"; title2 "Provides Sales By Quarter"; PROC REPORT data = totals NOWD; by site; column dept site quarter sales; RUN; footnote j=r "Created on &sysdate9."; ODS DOCUMENT CLOSE; ODS DOCUMENT NAME =rptout.doc3(write); goptions reset=all border; title "Total Sales"; footnote j=r "Created on &sysdate9."; 2
3 PROC GCHART data=totals; format sales dollar8.; block site / sumvar=sales; RUN; QUIT; ODS DOCUMENT CLOSE; When using interactive SAS environment, these documents can be explored by issuing odsdocument or odsdoc command in the command line (Fig1 below displays all documents created). In later sections, we will see how to dynamically handle the documents properties, (specifically the document path), to combine all itemstores from individual documents to a single document and replay them to the output destination. Fig1: Documents created in permanent location. MACRO CALL Once all reporting procedures are executed and corresponding PDF reports and DOCUMENT objects created and stored in a permanent library, the next step is to call the utility macro to combine and replay all DOCUMENTS. As our reporting scenario created individual document store from each reporting program, we create a new document in work directory that contains all itemstores from individual DOCUMENT and replay them to a single PDF or any ODS destination requested. The call to the utility macro looks like below 3
4 %AppendFiles(indir =, /*location of the directory to read individual documents */ outdir=, /*Output directory where the concatenated document should be saved */ filename=, /* filename of the final document */ filetype= /*the output file type required (permissible values are PDF RTF HTML LISTING delimited by space).*/ ); The processing sequence of the utility macro is 1. Create a temporary dataset containing a list of all document names located in the permanent directory referred by indir parameter. 2. Loop through each document to get the property information of itemstores in each document and output this to another dataset. 3. Finally, copy all objects to a temporary document to replay to a PDF destination or any destination requested through filetype parameter. Sounds like a complex process but actually it simpler when we look at the actual program, so let s jump into it. This process is depicted in figure2 below Individual documents created from reporting programs Create a list of documents to concatenate and loop through each of them to extract path information of each object Copy path information of reporting objects from all documents to a temporary new document Replay all objects from new document to the requested output destination(s) Document 1 (a) Report #1(b) New Document Document 2 Report #1 Report #2.... Document n Document 1 Document 2 Document n Document 1/Report #1 Document 2/Report #1 Document 2/Report #2.. Document n/graph #1.. Graph #1 Fig2: Utility Processing First step is to get a list of documents created during the reporting process. Using PROC DOCUMENT, we can get a list of all documents that were created and stored in a permanent location during the reporting process by using following code 4
5 libname rptout "&indir"; ods output documents = ods_obj_library (keep=name); PROC DOCUMENT; doc library=rptout quit; ods output close; 4 3 Creates a libname reference from the indir input parameter. 4 Creates a temporary dataset ods_obj_library containing the document names. The documents option creates a list of all documents stored in the location referenced by rptout. DOC statement lists the ODS DOCUMENTs in SAS library rptout in alphabetical order. 5 Figure3 below shows the content of temporary dataset ods_obj_library. Figure3: List of documents Next, from the temporary dataset ods_obj_library created above, we get a count of all documents and create a macro variable of each document name as shown below data _null_; set ods_obj_library end=last; call symput(compress("name" _n_),trim(left(name))); if last then call symput( 'lib_count', trim(left(put(_n_,best.))) ); run; This is required to loop through each document and create temporary dataset to store path information of all itemstores, which is explained below ODS DOCUMENT NAME = all_doc(write); ODS DOCUMENT CLOSE; %if &lib_count ne 0 %then %do; /* count not zero*/ %local _j; %do _j = 1 %to &lib_count; /* document loop */ 8 ods output properties = ods_obj_properties; PROC DOCUMENT NAME = &&name&_j; list /levels = all; quit; ods output close; 9 ods listing; 6 Creates a new document in work folder to temporarily hold all itemstore objects to be replayed 7 It is important to note that, the newly created document must be closed. If not closed then below message is displayed in the log when trying to add itemstores later 5
6 ERROR: Cannot open document Work.all_doc. An application already has it open. Did you forget to do "ODS DOCUMENT CLOSE;"?. 8 Checks for zero counts, if no documents found at the rptout location then exit the utility else loop through each document. 9 Creates a temporary dataset with document properties containing path information of each itemstore in the document. Figure4 below shows listing of document properties created during each iteration of the loop. This information is also stored in ods_obj_properties dataset created above. At each iteration of the loop, the contents of this dataset is updated with property information of the document in current loop. For Ex: if it s the first loop then ods_obj_properties dataset will contain properties of Rptout.Doc1 document store and so on Figure4: Document properties Once we get the path information of all items in the document store, the next step is to iterate through each of the entries and select the ones to be replayed in the final document. Specifically, we are interested in the objects with Type other than Dir. In our example, these entries are highlighted above. To extract only these entries we need to loop through each document store to get a count and path of entries and copy those to a new document to be replayed later in a single document. This is explained below 6
7 data _null_; set ods_obj_properties end=last; if type ne "Dir" then do; count+1; call symput('path' trim(left(count)),path); end; if last then call symput('total',count); run; PROC DOCUMENT name=&&name&_j(read); doc all_doc; %do i=1 %to &total; copy &&path&i to \work.all_doc\; %end; quit; 14 %end; /* document loop */ 10 Creates a macro parameter of the path for each entry corresponding to a Table/Graph in the document. 11 Gets the total count of objects in the current document. This count may vary depending on the options used to create the report. In our example, we created one report without by group and one with by group. For the table created without by group there is only one entry for table but there will be a corresponding entry in the document for each by group for the table created using by groups. (Refer Figure 3). 12 Specifies the name of current document in the loop and its access mode (Read). 13 Opens the newly created document (in step 6 above) in update mode (default). Copies all objects from individual document to the new document in work directory. 14 Once we loop through all individual documents and copy all objects to a single document, the next step is to replay these objects to the requested output destination. The code to replay all objects is below %if %length(&filetype) > 0 %then %do; %local _i _file; %let _i=1; %do %while(%scan(&list,&_i,%str( )) ne %str()); %let _file = %scan(&list,&_i,%str( )); %if %upcase(&_file) eq PDF %then ods pdf file= &outdir\&filename..pdf ;; %if %upcase(&_file) eq PDF %then ods rtf file= &outdir\&filename..rtf ;; %if %upcase(&_file) eq HTML %then ods html file= &outdir\&filename..htm ;; %end; %let _i = %eval(&_i+1); %end; PROC DOCUMENT name=work.all_doc; replay / dest=( &filetype ); quit; ods _all_ close; ods listing; %end; /* count not zero*/ 7
8 15 Through the filetype macro parameter, there can be multiple output destinations requested. Based on this list, loop through the list and open appropriate ODS destination. The final document will be stored in the libref passed through outdir macro parameter. 16 Replays all objects from all_doc document to destinations requested through filetype parameter. Figure5 below shows screenshot of concatenated reports in RTF. Figure5: Concatenated output. Above example illustrated how we can dynamically extract object s path information and concatenate them using list, copy, and replay statement in PROC DOCUMENT. Apart from these statements, PROC DOCUMENT offers numerous other options to enhance the output. We can insert notes before or after the table, update bookmark nodes and also update the title and footnotes. Using these options user can have complete control to update and replay the objects. We will not discuss these options but readers are encouraged to refer ODS user guide for more information on enhancements. Below are a few assumptions to remember before running this utility. 1. All individual reporting programs are executed and document objects are created and stored in a permanent library. 2. There is at least one document output object created by executing the reporting macro. 3. The ordering of reports in the final document depends on the order in which the original documents are read. 8
9 CONCLUSION Using PROC DOCUMENT procedure it is now possible to streamline the process of concatenating PDF reports which otherwise was done using third party software outside SAS. The enhancement options in PROC DOCUMENT provide a complete control on how a report should be structured and displayed. Also, as the objects are stored in a permanent library we have the flexibility to pick and choose what reports to replay in the concatenated document without re-running the reporting programs. REFERENCES 1. SAS(R) 9.2 Output Delivery System: User's Guide 2. Have It Your Way: Rearrange and Replay Your Output with ODS DOCUMENT by Cynthia L. Zender, SAS Institute Inc., Cary, NC 3. Utilizing SAS to Automate the Concatenation of Multiple Proc Report RTF Tables by Andrew Newcomer DISCLAIMER SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. indicates USA registration. Other brand and product names are registered trademarks or trademarks of their respective companies. CONTACT INFORMATION Your comments and questions are valued and encouraged. Contact the authors at: Shirish Nalavade eclinical Solutions, A Division of Eliassen Group 603 West St Mansfield, MA Work Phone: snalavade@eclinicalsol.com or at shirish.nalavade@gmail.com Shubha Manjunath Independent Consultant, New London, CT skashyap301@gmail.com Code presented in this paper is simplified version of the production code to illustrate the core functionality of the utility. Sample code is available from the author upon request. 9
Using Macros to Automate SAS Processing Kari Richardson, SAS Institute, Cary, NC Eric Rossland, SAS Institute, Dallas, TX
Paper 126-29 Using Macros to Automate SAS Processing Kari Richardson, SAS Institute, Cary, NC Eric Rossland, SAS Institute, Dallas, TX ABSTRACT This hands-on workshop shows how to use the SAS Macro Facility
More informationUsing SAS/GRAPH Software to Create Graphs on the Web Himesh Patel, SAS Institute Inc., Cary, NC Revised by David Caira, SAS Institute Inc.
Paper 189 Using SAS/GRAPH Software to Create Graphs on the Web Himesh Patel, SAS Institute Inc., Cary, NC Revised by David Caira, SAS Institute Inc., Cary, NC ABSTRACT This paper highlights some ways of
More informationFrom The Little SAS Book, Fifth Edition. Full book available for purchase here.
From The Little SAS Book, Fifth Edition. Full book available for purchase here. Acknowledgments ix Introducing SAS Software About This Book xi What s New xiv x Chapter 1 Getting Started Using SAS Software
More informationSAS ODS. Greg Jenkins
SAS ODS Greg Jenkins 1 Overview ODS stands for the Output Delivery System ODS allows output from the Data Step & SAS procedures to presented in a more useful way. ODS also allows for some of the output
More informationWe begin by defining a few user-supplied parameters, to make the code transferable between various projects.
PharmaSUG 2013 Paper CC31 A Quick Patient Profile: Combining External Data with EDC-generated Subject CRF Titania Dumas-Roberson, Grifols Therapeutics, Inc., Durham, NC Yang Han, Grifols Therapeutics,
More informationSAS ODS HTML + PROC Report = Fantastic Output Girish K. Narayandas, OptumInsight, Eden Prairie, MN
SA118-2014 SAS ODS HTML + PROC Report = Fantastic Output Girish K. Narayandas, OptumInsight, Eden Prairie, MN ABSTRACT ODS (Output Delivery System) is a wonderful feature in SAS to create consistent, presentable
More informationAutomated distribution of SAS results Jacques Pagé, Les Services Conseils HARDY, Quebec, Qc
Paper 039-29 Automated distribution of SAS results Jacques Pagé, Les Services Conseils HARDY, Quebec, Qc ABSTRACT This paper highlights the programmable aspects of SAS results distribution using electronic
More informationYou have got SASMAIL!
You have got SASMAIL! Rajbir Chadha, Cognizant Technology Solutions, Wilmington, DE ABSTRACT As SAS software programs become complex, processing times increase. Sitting in front of the computer, waiting
More informationInternet/Intranet, the Web & SAS. II006 Building a Web Based EIS for Data Analysis Ed Confer, KGC Programming Solutions, Potomac Falls, VA
II006 Building a Web Based EIS for Data Analysis Ed Confer, KGC Programming Solutions, Potomac Falls, VA Abstract Web based reporting has enhanced the ability of management to interface with data in a
More informationHow To Write A Clinical Trial In Sas
PharmaSUG2013 Paper AD11 Let SAS Set Up and Track Your Project Tom Santopoli, Octagon, now part of Accenture Wayne Zhong, Octagon, now part of Accenture ABSTRACT When managing the programming activities
More informationBuilding a Web Based EIS for Data Analysis Ed Confer, KGC Programming Solutions, Potomac Falls, VA
Building a Web Based EIS for Data Analysis Ed Confer, KGC Programming Solutions, Potomac Falls, VA Abstract Web based reporting has enhanced the ability of management to interface with data in a point
More informationSAS Macros as File Management Utility Programs
Paper 219-26 SAS Macros as File Management Utility Programs Christopher J. Rook, EDP Contract Services, Bala Cynwyd, PA Shi-Tao Yeh, EDP Contract Services, Bala Cynwyd, PA ABSTRACT This paper provides
More informationEssential Project Management Reports in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA
Essential Project Management Reports in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA ABSTRACT Throughout the course of a clinical trial the Statistical Programming group is
More informationLabels, Labels, and More Labels Stephanie R. Thompson, Rochester Institute of Technology, Rochester, NY
Paper FF-007 Labels, Labels, and More Labels Stephanie R. Thompson, Rochester Institute of Technology, Rochester, NY ABSTRACT SAS datasets include labels as optional variable attributes in the descriptor
More informationSAS Enterprise Guide A Quick Overview of Developing, Creating, and Successfully Delivering a Simple Project
Paper 156-29 SAS Enterprise Guide A Quick Overview of Developing, Creating, and Successfully Delivering a Simple Project Ajaz (A.J.) Farooqi, Walt Disney Parks and Resorts, Lake Buena Vista, FL ABSTRACT
More informationPharmaSUG 2014 Paper CC23. Need to Review or Deliver Outputs on a Rolling Basis? Just Apply the Filter! Tom Santopoli, Accenture, Berwyn, PA
PharmaSUG 2014 Paper CC23 Need to Review or Deliver Outputs on a Rolling Basis? Just Apply the Filter! Tom Santopoli, Accenture, Berwyn, PA ABSTRACT Wouldn t it be nice if all of the outputs in a deliverable
More informationImporting Excel File using Microsoft Access in SAS Ajay Gupta, PPD Inc, Morrisville, NC
ABSTRACT PharmaSUG 2012 - Paper CC07 Importing Excel File using Microsoft Access in SAS Ajay Gupta, PPD Inc, Morrisville, NC In Pharmaceuticals/CRO industries, Excel files are widely use for data storage.
More informationBetter Safe than Sorry: A SAS Macro to Selectively Back Up Files
Better Safe than Sorry: A SAS Macro to Selectively Back Up Files Jia Wang, Data and Analytic Solutions, Inc., Fairfax, VA Zhengyi Fang, Social & Scientific Systems, Inc., Silver Spring, MD ABSTRACT SAS
More informationA robust and flexible approach to automating SAS jobs under Unix Mike Atkinson, with the Ministry of Health Services, British Columbia
A robust and flexible approach to automating SAS jobs under Unix Mike Atkinson, with the Ministry of Health Services, British Columbia Abstract So you ve got a Unix server that is terrific for running
More informationData Presentation. Paper 126-27. Using SAS Macros to Create Automated Excel Reports Containing Tables, Charts and Graphs
Paper 126-27 Using SAS Macros to Create Automated Excel Reports Containing Tables, Charts and Graphs Tugluke Abdurazak Abt Associates Inc. 1110 Vermont Avenue N.W. Suite 610 Washington D.C. 20005-3522
More informationReport Customization Using PROC REPORT Procedure Shruthi Amruthnath, EPITEC, INC., Southfield, MI
Paper SA12-2014 Report Customization Using PROC REPORT Procedure Shruthi Amruthnath, EPITEC, INC., Southfield, MI ABSTRACT SAS offers powerful report writing tools to generate customized reports. PROC
More informationEXTRACTING DATA FROM PDF FILES
Paper SER10_05 EXTRACTING DATA FROM PDF FILES Nat Wooding, Dominion Virginia Power, Richmond, Virginia ABSTRACT The Adobe Portable Document File (PDF) format has become a popular means of producing documents
More informationCreating Word Tables using PROC REPORT and ODS RTF
Paper TT02 Creating Word Tables using PROC REPORT and ODS RTF Carey G. Smoak,, Pleasanton, CA ABSTRACT With the introduction of the ODS RTF destination, programmers now have the ability to create Word
More informationI Didn t Know SAS Enterprise Guide Could Do That!
Paper SAS016-2014 I Didn t Know SAS Enterprise Guide Could Do That! Mark Allemang, SAS Institute Inc., Cary, NC ABSTRACT This presentation is for users who are familiar with SAS Enterprise Guide but might
More informationDescriptive Statistics Categorical Variables
Descriptive Statistics Categorical Variables 3 Introduction... 41 Computing Frequency Counts and Percentages... 42 Computing Frequencies on a Continuous Variable... 44 Using Formats to Group Observations...
More informationLet SAS Write Your SAS/GRAPH Programs for You Max Cherny, GlaxoSmithKline, Collegeville, PA
Paper TT08 Let SAS Write Your SAS/GRAPH Programs for You Max Cherny, GlaxoSmithKline, Collegeville, PA ABSTRACT Creating graphics is one of the most challenging tasks for SAS users. SAS/Graph is a very
More informationManaging Tables in Microsoft SQL Server using SAS
Managing Tables in Microsoft SQL Server using SAS Jason Chen, Kaiser Permanente, San Diego, CA Jon Javines, Kaiser Permanente, San Diego, CA Alan L Schepps, M.S., Kaiser Permanente, San Diego, CA Yuexin
More informationSUGI 29 Applications Development
Backing up File Systems with Hierarchical Structure Using SAS/CONNECT Fagen Xie, Kaiser Permanent Southern California, California, USA Wansu Chen, Kaiser Permanent Southern California, California, USA
More informationDynamic Decision-Making Web Services Using SAS Stored Processes and SAS Business Rules Manager
Paper SAS1787-2015 Dynamic Decision-Making Web Services Using SAS Stored Processes and SAS Business Rules Manager Chris Upton and Lori Small, SAS Institute Inc. ABSTRACT With the latest release of SAS
More informationManaging very large EXCEL files using the XLS engine John H. Adams, Boehringer Ingelheim Pharmaceutical, Inc., Ridgefield, CT
Paper AD01 Managing very large EXCEL files using the XLS engine John H. Adams, Boehringer Ingelheim Pharmaceutical, Inc., Ridgefield, CT ABSTRACT The use of EXCEL spreadsheets is very common in SAS applications,
More informationChoosing the Best Method to Create an Excel Report Romain Miralles, Clinovo, Sunnyvale, CA
Choosing the Best Method to Create an Excel Report Romain Miralles, Clinovo, Sunnyvale, CA ABSTRACT PROC EXPORT, LIBNAME, DDE or excelxp tagset? Many techniques exist to create an excel file using SAS.
More informationCustomized Excel Output Using the Excel Libname Harry Droogendyk, Stratia Consulting Inc., Lynden, ON
Paper SIB-105 Customized Excel Output Using the Excel Libname Harry Droogendyk, Stratia Consulting Inc., Lynden, ON ABSTRACT The advent of the ODS ExcelXP tagset and its many features has afforded the
More informationPaper 23-28. Hot Links: Creating Embedded URLs using ODS Jonathan Squire, C 2 RA (Cambridge Clinical Research Associates), Andover, MA
Paper 23-28 Hot Links: Creating Embedded URLs using ODS Jonathan Squire, C 2 RA (Cambridge Clinical Research Associates), Andover, MA ABSTRACT With SAS/BASE version 8, one can create embedded HTML links
More informationPaper 2917. Creating Variables: Traps and Pitfalls Olena Galligan, Clinops LLC, San Francisco, CA
Paper 2917 Creating Variables: Traps and Pitfalls Olena Galligan, Clinops LLC, San Francisco, CA ABSTRACT Creation of variables is one of the most common SAS programming tasks. However, sometimes it produces
More informationCounting the Ways to Count in SAS. Imelda C. Go, South Carolina Department of Education, Columbia, SC
Paper CC 14 Counting the Ways to Count in SAS Imelda C. Go, South Carolina Department of Education, Columbia, SC ABSTRACT This paper first takes the reader through a progression of ways to count in SAS.
More informationSQL Pass-Through and the ODBC Interface
SQL Pass-Through and the ODBC Interface Jessica Hampton, CIGNA Corporation, Bloomfield, CT ABSTRACT Does SAS implicit SQL pass-through sometimes fail to meet your needs? Do you sometimes need to communicate
More informationPharmaSUG2011 - Paper AD11
PharmaSUG2011 - Paper AD11 Let the system do the work! Automate your SAS code execution on UNIX and Windows platforms Niraj J. Pandya, Element Technologies Inc., NJ Vinodh Paida, Impressive Systems Inc.,
More informationPharmaSUG 2015 - Paper QT26
PharmaSUG 2015 - Paper QT26 Keyboard Macros - The most magical tool you may have never heard of - You will never program the same again (It's that amazing!) Steven Black, Agility-Clinical Inc., Carlsbad,
More informationIntegrating VoltDB with Hadoop
The NewSQL database you ll never outgrow Integrating with Hadoop Hadoop is an open source framework for managing and manipulating massive volumes of data. is an database for handling high velocity data.
More informationSearch and Replace in SAS Data Sets thru GUI
Search and Replace in SAS Data Sets thru GUI Edmond Cheng, Bureau of Labor Statistics, Washington, DC ABSTRACT In managing data with SAS /BASE software, performing a search and replace is not a straight
More informationQuick Start to Data Analysis with SAS Table of Contents. Chapter 1 Introduction 1. Chapter 2 SAS Programming Concepts 7
Chapter 1 Introduction 1 SAS: The Complete Research Tool 1 Objectives 2 A Note About Syntax and Examples 2 Syntax 2 Examples 3 Organization 4 Chapter by Chapter 4 What This Book Is Not 5 Chapter 2 SAS
More informationSENDING EMAILS IN SAS TO FACILITATE CLINICAL TRIAL. Frank Fan, Clinovo, Sunnyvale CA
SENDING EMAILS IN SAS TO FACILITATE CLINICAL TRIAL Frank Fan, Clinovo, Sunnyvale CA WUSS 2011 Annual Conference October 2011 TABLE OF CONTENTS 1. ABSTRACT... 3 2. INTRODUCTION... 3 3. SYSTEM CONFIGURATION...
More informationCombining External PDF Files by Integrating SAS and Adobe Acrobat Brandon Welch, Rho, Inc., Chapel Hill, NC Ryan Burns, Rho, Inc.
Paper BB-15 Combining External PDF Files by Integrating SAS and Adobe Acrobat Brandon Welch, Rho, Inc, Chapel Hill, NC Ryan Burns, Rho, Inc, Chapel Hill, NC ABSTRACT As SAS programmers of various disciplines,
More informationAutomation of Large SAS Processes with Email and Text Message Notification Seva Kumar, JPMorgan Chase, Seattle, WA
Automation of Large SAS Processes with Email and Text Message Notification Seva Kumar, JPMorgan Chase, Seattle, WA ABSTRACT SAS includes powerful features in the Linux SAS server environment. While creating
More informationEXST SAS Lab Lab #4: Data input and dataset modifications
EXST SAS Lab Lab #4: Data input and dataset modifications Objectives 1. Import an EXCEL dataset. 2. Infile an external dataset (CSV file) 3. Concatenate two datasets into one 4. The PLOT statement will
More informationParallel Data Preparation with the DS2 Programming Language
ABSTRACT Paper SAS329-2014 Parallel Data Preparation with the DS2 Programming Language Jason Secosky and Robert Ray, SAS Institute Inc., Cary, NC and Greg Otto, Teradata Corporation, Dayton, OH A time-consuming
More informationA Method for Cleaning Clinical Trial Analysis Data Sets
A Method for Cleaning Clinical Trial Analysis Data Sets Carol R. Vaughn, Bridgewater Crossings, NJ ABSTRACT This paper presents a method for using SAS software to search SAS programs in selected directories
More informationStreamlining Reports: A Look into Ad Hoc and Standardized Processes James Jenson, US Bancorp, Saint Paul, MN
Working Paper 138-2010 Streamlining Reports: A Look into Ad Hoc and Standardized Processes James Jenson, US Bancorp, Saint Paul, MN Abstract: This paper provides a conceptual framework for quantitative
More informationWhile this graph provides an overall trend to the data, the shear volume of data presented on it leaves several questions unanswered.
1 CC-06 Quick and Easy Visualization of Longitudinal data with the WEBFRAME graphics device Kevin P. Delaney MPH, Centers for Disease Control and Prevention, Atlanta, GA Abstract: Data Visualization is
More informationSending Emails in SAS to Facilitate Clinical Trial Frank Fan, Clinovo, Sunnyvale, CA
Sending Emails in SAS to Facilitate Clinical Trial Frank Fan, Clinovo, Sunnyvale, CA ABSTRACT Email has drastically changed our ways of working and communicating. In clinical trial data management, delivering
More informationCreate an Excel report using SAS : A comparison of the different techniques
Create an Excel report using SAS : A comparison of the different techniques Romain Miralles, Clinovo, Sunnyvale, CA Global SAS Forum 2011 April 2011 1 1. ABSTRACT Many techniques exist to create an Excel
More informationABSTRACT INTRODUCTION SESUG 2012. Paper PO-08
SESUG 2012 Paper PO-08 Using Windows Batch Files to Sequentially Execute Sets of SAS Programs Efficiently Matthew Psioda, Department of Biostatistics, The University of North Carolina at Chapel Hill, Chapel
More informationA Recursive SAS Macro to Automate Importing Multiple Excel Worksheets into SAS Data Sets
PharmaSUG2011 - Paper CC10 A Recursive SAS Macro to Automate Importing Multiple Excel Worksheets into SAS Data Sets Wenyu Hu, Merck Sharp & Dohme Corp., Upper Gwynedd, PA Liping Zhang, Merck Sharp & Dohme
More informationCDW DATA QUALITY INITIATIVE
Loading Metadata to the IRS Compliance Data Warehouse (CDW) Website: From Spreadsheet to Database Using SAS Macros and PROC SQL Robin Rappaport, IRS Office of Research, Washington, DC Jeff Butler, IRS
More informationCHAPTER 1 Overview of SAS/ACCESS Interface to Relational Databases
3 CHAPTER 1 Overview of SAS/ACCESS Interface to Relational Databases About This Document 3 Methods for Accessing Relational Database Data 4 Selecting a SAS/ACCESS Method 4 Methods for Accessing DBMS Tables
More informationVisualizing Key Performance Indicators using the GKPI Procedure Brian Varney, COMSYS, a Manpower Company, Portage, MI
Paper 66-2010 Visualizing Key Performance Indicators using the GKPI Procedure Brian Varney, COMSYS, a Manpower Company, Portage, MI ABSTRACT The GKPI procedure is new in SAS 9.2 SAS/Graph. This new procedure
More informationAN INTRODUCTION TO MACRO VARIABLES AND MACRO PROGRAMS Mike S. Zdeb, New York State Department of Health
AN INTRODUCTION TO MACRO VARIABLES AND MACRO PROGRAMS Mike S. Zdeb, New York State Department of Health INTRODUCTION There are a number of SAS tools that you may never have to use. Why? The main reason
More informationNew Tricks for an Old Tool: Using Custom Formats for Data Validation and Program Efficiency
New Tricks for an Old Tool: Using Custom Formats for Data Validation and Program Efficiency S. David Riba, JADE Tech, Inc., Clearwater, FL ABSTRACT PROC FORMAT is one of the old standards among SAS Procedures,
More informationOrder from Chaos: Using the Power of SAS to Transform Audit Trail Data Yun Mai, Susan Myers, Nanthini Ganapathi, Vorapranee Wickelgren
Paper CC-027 Order from Chaos: Using the Power of SAS to Transform Audit Trail Data Yun Mai, Susan Myers, Nanthini Ganapathi, Vorapranee Wickelgren ABSTRACT As survey science has turned to computer-assisted
More informationOpenIMS 4.2. Document Management Server. User manual
OpenIMS 4.2 Document Management Server User manual OpenSesame ICT BV Index 1 INTRODUCTION...4 1.1 Client specifications...4 2 INTRODUCTION OPENIMS DMS...5 2.1 Login...5 2.2 Language choice...5 3 OPENIMS
More informationSAS Credit Scoring for Banking 4.3
SAS Credit Scoring for Banking 4.3 Hot Fix 1 SAS Banking Intelligence Solutions ii SAS Credit Scoring for Banking 4.3: Hot Fix 1 The correct bibliographic citation for this manual is as follows: SAS Institute
More information2. Installation Instructions - Windows (Download)
Planning Your Installation Gridgen Zip File Extraction 2. Installation Instructions - Windows (Download) First time installation of Gridgen is fairly simple. It mainly involves downloading a complete version
More informationSAS Add in to MS Office A Tutorial Angela Hall, Zencos Consulting, Cary, NC
Paper CS-053 SAS Add in to MS Office A Tutorial Angela Hall, Zencos Consulting, Cary, NC ABSTRACT Business folks use Excel and have no desire to learn SAS Enterprise Guide? MS PowerPoint presentations
More informationABSTRACT TECHNICAL DESIGN INTRODUCTION FUNCTIONAL DESIGN
Overview of a Browser-Based Clinical Report Generation Tool Paul Gilbert, DataCeutics, Pottstown PA Greg Weber, DataCeutics Teofil Boata, Purdue Pharma ABSTRACT In an effort to increase reporting quality
More informationAn Introduction to SAS/SHARE, By Example
Paper 020-29 An Introduction to SAS/SHARE, By Example Larry Altmayer, U.S. Census Bureau, Washington, DC ABSTRACT SAS/SHARE software is a useful tool for allowing several users to simultaneously access
More informationTips and Tricks for Creating Multi-Sheet Microsoft Excel Workbooks the Easy Way with SAS. Vincent DelGobbo, SAS Institute Inc.
Paper HOW-071 Tips and Tricks for Creating Multi-Sheet Microsoft Excel Workbooks the Easy Way with SAS Vincent DelGobbo, SAS Institute Inc., Cary, NC ABSTRACT Transferring SAS data and analytical results
More informationPaper 278-27. Jeff House, SAS, Cary, NC
s Architecture Paper 278-27 Enterprise-Wide Deployment of Windows Using ation Technologies Jeff House,, Cary, NC ABSTRACT This paper is intended for administrators who are responsible for deploying software
More informationMicrosoft Dynamics NAV Connector. User Guide
Microsoft Dynamics NAV Connector User Guide Microsoft Dynamics NAV Connector, version 1.0 Copyright Bottomline Technologies, Inc. 2008. All Rights Reserved Information in this document is subject to change
More informationUsing the Acrobat tab in Microsoft Word: Setting PDF Preferences
Using the Acrobat tab in Microsoft Word: Setting PDF Preferences IT Documentation Team, January 2015 (Reviewed July 2015) If you have Adobe Acrobat Pro XI installed on your PC 1, you ll see an additional
More informationApplications Development ABSTRACT PROGRAM DESIGN INTRODUCTION SAS FEATURES USED
Checking and Tracking SAS Programs Using SAS Software Keith M. Gregg, Ph.D., SCIREX Corporation, Chicago, IL Yefim Gershteyn, Ph.D., SCIREX Corporation, Chicago, IL ABSTRACT Various checks on consistency
More information9.1 SAS/ACCESS. Interface to SAP BW. User s Guide
SAS/ACCESS 9.1 Interface to SAP BW User s Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2004. SAS/ACCESS 9.1 Interface to SAP BW: User s Guide. Cary, NC: SAS
More informationBeyond the Basics: Advanced REPORT Procedure Tips and Tricks Updated for SAS 9.2 Allison McMahill Booth, SAS Institute Inc.
ABSTRACT PharmaSUG 2011 - Paper SAS-AD02 Beyond the Basics: Advanced REPORT Procedure Tips and Tricks Updated for SAS 9.2 Allison McMahill Booth, SAS Institute Inc., Cary, NC, USA This paper is an update
More informationAN ANIMATED GUIDE: SENDING SAS FILE TO EXCEL
Paper CC01 AN ANIMATED GUIDE: SENDING SAS FILE TO EXCEL Russ Lavery, Contractor for K&L Consulting Services, King of Prussia, U.S.A. ABSTRACT The primary purpose of this paper is to provide a generic DDE
More informationIt s not the Yellow Brick Road but the SAS PC FILES SERVER will take you Down the LIBNAME PATH= to Using the 64-Bit Excel Workbooks.
Pharmasug 2014 - paper CC-47 It s not the Yellow Brick Road but the SAS PC FILES SERVER will take you Down the LIBNAME PATH= to Using the 64-Bit Excel Workbooks. ABSTRACT William E Benjamin Jr, Owl Computer
More informationChapter 2 The Data Table. Chapter Table of Contents
Chapter 2 The Data Table Chapter Table of Contents Introduction... 21 Bringing in Data... 22 OpeningLocalFiles... 22 OpeningSASFiles... 27 UsingtheQueryWindow... 28 Modifying Tables... 31 Viewing and Editing
More informationProgramming Tricks For Reducing Storage And Work Space Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA.
Paper 23-27 Programming Tricks For Reducing Storage And Work Space Curtis A. Smith, Defense Contract Audit Agency, La Mirada, CA. ABSTRACT Have you ever had trouble getting a SAS job to complete, although
More informationGet in Control! Configuration Management for SAS Projects John Quarantillo, Westat, Rockville, MD
AD004 Get in Control! Configuration Management for SAS Projects John Quarantillo, Westat, Rockville, MD Abstract SAS applications development can benefit greatly from the use of Configuration Management/Source
More informationIntegrating SAS and Excel: an Overview and Comparison of Three Methods for Using SAS to Create and Access Data in Excel
Integrating SAS and Excel: an Overview and Comparison of Three Methods for Using SAS to Create and Access Data in Excel Nathan Clausen, U.S. Bureau of Labor Statistics, Washington, DC Edmond Cheng, U.S.
More informationShare Point Document Management For Sage 100 ERP
Share Point Document Management For Sage 100 ERP 457 Palm Drive Glendale, CA 91202 818-956-3744 818-956-3746 sales@iigservices.com www.iigservices.com Share Point Document Management 2 Information in this
More informationPaper FF-014. Tips for Moving to SAS Enterprise Guide on Unix Patricia Hettinger, Consultant, Oak Brook, IL
Paper FF-014 Tips for Moving to SAS Enterprise Guide on Unix Patricia Hettinger, Consultant, Oak Brook, IL ABSTRACT Many companies are moving to SAS Enterprise Guide, often with just a Unix server. A surprising
More information7. Data Packager: Sharing and Merging Data
7. Data Packager: Sharing and Merging Data Introduction The Epi Info Data Packager tool provides an easy way to share data with other users or to merge data collected by multiple users into a single database
More informationAn email macro: Exploring metadata EG and user credentials in Linux to automate email notifications Jason Baucom, Ateb Inc.
SESUG 2012 Paper CT-02 An email macro: Exploring metadata EG and user credentials in Linux to automate email notifications Jason Baucom, Ateb Inc., Raleigh, NC ABSTRACT Enterprise Guide (EG) provides useful
More informationPROC SQL for SQL Die-hards Jessica Bennett, Advance America, Spartanburg, SC Barbara Ross, Flexshopper LLC, Boca Raton, FL
PharmaSUG 2015 - Paper QT06 PROC SQL for SQL Die-hards Jessica Bennett, Advance America, Spartanburg, SC Barbara Ross, Flexshopper LLC, Boca Raton, FL ABSTRACT Inspired by Christianna William s paper on
More informationThe Basics of Creating Graphs with SAS/GRAPH Software Jeff Cartier, SAS Institute Inc., Cary, NC
Paper 63-27 The Basics of Creating Graphs with SAS/GRAPH Software Jeff Cartier, SAS Institute Inc., Cary, NC ABSTRACT SAS/GRAPH software is a very powerful tool for creating a wide range of business and
More informationNetClient CS Document Management Portal User Guide. version 9.x
NetClient CS Document Management Portal User Guide version 9.x TL 23560 (6/9/11) Copyright Information Text copyright 2001-2011 by Thomson Reuters/Tax & Accounting. All rights reserved. Video display images
More informationWilliam E Benjamin Jr, Owl Computer Consultancy, LLC
So, You ve Got Data Enterprise Wide (SAS, ACCESS, EXCEL, MySQL, Oracle, and Others); Well, Let SAS Enterprise Guide Software Point-n-Click Your Way to Using It. William E Benjamin Jr, Owl Computer Consultancy,
More informationExtending the Metadata Security Audit Reporting Capabilities of the Audit and Performance Measurement Package October 2010
Extending the Metadata Security Audit Reporting Capabilities of the Audit and Performance Measurement Package October 2010 ENTERPRISE EXCELLENCE CENTER Table of Contents 1 Introduction... 1 2 Metadata
More informationCombining SAS LIBNAME and VBA Macro to Import Excel file in an Intriguing, Efficient way Ajay Gupta, PPD Inc, Morrisville, NC
ABSTRACT PharmaSUG 2013 - Paper CC11 Combining SAS LIBNAME and VBA Macro to Import Excel file in an Intriguing, Efficient way Ajay Gupta, PPD Inc, Morrisville, NC There are different methods such PROC
More informationFlat Pack Data: Converting and ZIPping SAS Data for Delivery
Flat Pack Data: Converting and ZIPping SAS Data for Delivery Sarah Woodruff, Westat, Rockville, MD ABSTRACT Clients or collaborators often need SAS data converted to a different format. Delivery or even
More informationOVERVIEW OF THE ENTERPRISE GUIDE INTERFACE
Paper HOW-007 Graphing the Easy Way with SAS Enterprise Guide (or How to Look Good With Less Effort) Stephanie R. Thompson, Rochester Institute of Technology, Rochester, NY ABSTRACT Have you ever wanted
More informationEMC SourceOne for Microsoft SharePoint Storage Management Version 7.1
EMC SourceOne for Microsoft SharePoint Storage Management Version 7.1 Installation Guide 302-000-227 REV 01 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748-9103 1-508-435-1000 www.emc.com Copyright
More informationInstallation & Maintenance Guide
The instruction booklet is also included on the CD in Word and Acrobat formats, which may be easier to print. (If you want to install Acrobat Reader run d:\acroread\setup.exe (where d:\ is the identifier
More informationThe presentation will include a code review and presentation of reports that appear in both English and Italian.
SAS Reporting in English, ed anche in italiano: A Methodology for Creating Reports in Two Languages Deborah Testa, Seven of Nine Systems, Inc. Studio City, CA ABSTRACT Project Leonardo was a disease management
More informationKEY FEATURES OF SOURCE CONTROL UTILITIES
Source Code Revision Control Systems and Auto-Documenting Headers for SAS Programs on a UNIX or PC Multiuser Environment Terek Peterson, Alliance Consulting Group, Philadelphia, PA Max Cherny, Alliance
More informationProjectTrackIt: Automate your project using SAS
Paper PP09 ProjectTrackIt: Automate your project using SAS Abhishek Bakshi, Cytel, Pune, India ABSTRACT Entering information in a project programming tracker is one of the menial tasks taking up time which
More informationInstant Interactive SAS Log Window Analyzer
ABSTRACT Paper 10240-2016 Instant Interactive SAS Log Window Analyzer Palanisamy Mohan, ICON Clinical Research India Pvt Ltd Amarnath Vijayarangan, Emmes Services Pvt Ltd, India An interactive SAS environment
More informationHands-On Workshops HW003
HW003 Connecting the SAS System to the Web: An Introduction to SAS/IntrNet Application Dispatcher Vincent Timbers, Penn State, University Park, PA ABSTRACT There are several methods for accessing the SAS
More informationInterfacing SAS Software, Excel, and the Intranet without SAS/Intrnet TM Software or SAS Software for the Personal Computer
Interfacing SAS Software, Excel, and the Intranet without SAS/Intrnet TM Software or SAS Software for the Personal Computer Peter N. Prause, The Hartford, Hartford CT Charles Patridge, The Hartford, Hartford
More informationSAS 9.3 Foundation for Microsoft Windows
Software License Renewal Instructions SAS 9.3 Foundation for Microsoft Windows Note: In this document, references to Microsoft Windows or Windows include Microsoft Windows for x64. SAS software is licensed
More information