Book Reviews

PROC DOCUMENT by Example Using SAS®
978-1-60764-667-9



"PROC DOCUMENT by Example Using SAS by Michael Tuchman is a comprehensive look at the DOCUMENT procedure. Currently, I believe PROC DOCUMENT is a highly underused procedure and after reading this book, I believe this will change. The book shows how easy and how useful the procedure really is. This manual is well written and easy to understand, and is a wonderful reference document. The SAS code in the examples is well documented, and readers will find it easy to modify the programs for their own use. This is a book that I will refer to again and again during my work."

Wendi Wright
Sr. Stat Analyst
CTB McGraw/Hill


"The SAS-supplied web documentation for the ODS Document Facility is thorough and helpful. However, having access to this book is akin to having an overstuffed sandwich from my favorite delicatessen on PA Route 309. It is far more satisfying. So my summary recommendation is simple: If you think the ODS Document Facility could be useful to you, do yourself a big favor and buy this book.

To fully appreciate the value of this much needed publication, you have to understand the value of the ODS Document Facility to the SAS toolset and how it fits into to your professional programming efforts. For clarity, when reference is made to the ODS Document Facility, I am talking about the ODS Document destination to store output where it can be replayed by PROC DOCUMENT.

Consider a SAS program where the output is just a data file that is shared only with a single successor program. As the program’s design evolves, you might first rely on a clever naming convention to identify later versions, and to insure that you are sharing the correct version of the created file or can “back-track.” More sophisticated developers might use a version control system such as Concurrent Versions System (CVS) or a disk backup system that takes periodic snapshots of created files.

Now suppose that you are sharing SAS analytic procedure output. You create a prototype report for your colleagues. They suggest some presentation style improvements. Are you going to rerun your analysis from the beginning to modify the look of the presentation? What if the analysis takes a long time to rerun? Would it not be better to revise the style without having to rerun the data steps and procedures that created it?

Michael Tuchman’s book will help you exploit the ODS Document destination faster and easier than if you proceed with only the standard SAS documentation. Where the standard documentation provides only the syntax and a few examples, this book is a comprehensive walk-through of the features of PROC DOCUMENT, providing copious examples. The insights in this book come from the author’s extensive experimenting with this procedure.

One especially helpful feature of Michael Tuchman’s book is that he does not presume that the reader is already familiar with the SAS ODS. Chapter 2 provides the reader with the introduction to ODS that is necessary to understand how PROC DOCUMENT changes the process. Later chapters illustrate how to take full control of replaying the object in your ODS DOCUMENT output with PROC DOCUMENT. One significant advantage of using the ODS DOCUMENT destination is that you can store and replay portions of your analytic output as needed, saving personal and natural resources.

Another advantage of the ODS DOCUMENT destination that I might not have identified without this book is that you can apply or modify a WHERE clause as you would with other SAS procedures. Again, the advantage is the ability to modify and replay analytic output without the expense of rerunning the process that created it. Similarly, if you decide to change your titles and footnotes, this book shows you how to do so without the need to regenerate the output stored by the ODS DOCUMENT destination.

As some of my Philadelphia-area SAS colleagues know, I am a big fan of using SAS data set labels. I was delighted to learn from this book that the ODS DOCUMENT facility also allows the setting of labels via the SETLABEL= feature. Similarly, my colleagues are also big fans of PROC FORMAT. Thus, I appreciate the coverage of how the ODS Destination handles temporary and permanent formats.

Chapter 6 provides a fulsome discussion of how to manage the folders and objects in ODS Destination stored output objects. Similarly, Chapter 7 fully describes how to customize the replay of ODS Destination objects. Chapter 8 will be helpful to analysts who use ODS to output SAS data sets for future use. Without Chapter 9, it probably would not occur to me that you could import data and text files to an existing ODS DOCUMENT destination.

One of the strengths of Michael Tuchman’s treatment of the ODS DOCUMENT Facility is that he periodically advises readers to use certain features sparingly. I first noticed this in Chapter 4 in the _LABELPATH discussion. Similarly, the reader is cautioned to carefully employ SASEDOC, which allows one to create SAS data sets from SAS document entries. Such cautions can save SAS users from taking unproductive paths.

It is a pleasure to finally have an authoritative book on a SAS feature that can significantly conserve the time and computer resources available to SAS analytics users."

Michael Davis
Analytics Manager
Health Market Science, Inc.