As the first step in the decommissioning of sasCommunity.org the site has been converted to read-only mode.
Here are some tips for How to share your SAS knowledge with your professional network.
Talk:SAS Programming and Data Visualization Techniques
The latest book in Phil Holland’s Power User’s Guide series, SAS Programming and Data Visualization Techniques, is an unmitigated tour de force. It contains fourteen fact-filled chapters covering three very relevant main topic areas: Programming and Efficiency Techniques, External Interfaces, and Data Visualization. As with the other books in the Power User’s Guide series, this book is written in Phil’s authoritative, but conversation style and has lots and lots of code examples that illustrate real-world SAS programming solutions.
There are so many usable programming gems in this book—even for very experienced SAS programming professionals—that it is hard to call them all out in a brief review. However, three specifically come to mind because they can save any organization much more than the price of the book.
Part I: Programming Efficiency Techniques, Chapter 1: The Basics of Efficient SAS Coding. In this chapter, Phil discusses speed versus low maintenance. It is a very nuanced discussion that should make seasoned SAS programmers reconsider what they might have thought was the obvious choice.
Part II: External Interfaces, Chapter 4: SAS to R to SAS. Because of its powerful statistical and graphic capabilities, its low price (it is actually free), and its popularity in academic institutions, R has gained entry into the programming infrastructure of many organizations—including my own. So, sooner or later you are going to need to interface with R; and when you do, you will reach for the examples in this chapter.
Part II: External Interfaces, Chapter 8: Everyday Uses for the SAS Output Delivery System (ODS). The section titled Disguising a Web Page is absolutely brilliant and worth the price of the book. I have bookmarked that page and already begun using this simple, but deeply clever technique in my own SAS programs.
My prediction is that when you purchase SAS Programming and Data Visualization Techniques: A Power User’s Guide, it will not sit in your programming bookshelf between other SAS programming books. Instead, it will be beside your keyboard on your desk with pages dog-eared and a dozen yellow sticky-notes protruding from various pages. Mark my word!
My SAS programming library includes several entries from this author. Phil Holland writes in a clear, conversational style that effectively explains complex and yet practical techniques to improve your SAS programming. This book has proved to be no different - so many little gems and plenty of comparisons to help you understand why one technique is better than others.
The data visualization chapters guide you through detailed explanations for coding everything from bar charts, box plots and even scatter plots! Most are just a few simple lines of code that can be customized to create really simple and attractive output. The ODS templates were much easy to code than I had suspected. If you are coding data visualizations - this is the book for you.
I've known Philip for years and attended many of his presentations and read several of his books.
This book is an incredibly rich set of examples for data visualization and is now my go to resource for producing graphical output.
The chapter on efficiency, specifically on first defining what kind of efficiency (machine or person time) is incredibly insightful and should be a must read for anyone who writes SAS programs.
This book needs to be on your bookshelf.
The next big SAS book is now here. With details and practical SAS examples, Phil shows how easy it is to improve program efficiency and customize your SAS environment. The output screenshots make it easy to confirm your results as well as check out the references for more information. Phil’s master of lookup table techniques enables him to compare and contract advanced techniques such as hash tables with more traditional SAS methods.
He does not stop at data management techniques. Phil goes outside of the box with interfaces to SAS including R and Perl for example. He also shows methods for migrating from SAS/Graph to ODS Graphics both standard and customization with Graph Template Language. This helps to transform data to information.
The next big SAS book is a true must for all serious SAS professional programmers.
Phil has always been a pioneer in SAS programming techniques notably in the more esoteric aspects. He frequently writes on the combination of SAS and other programming languages which can be linked to create more interesting softwares and solutions to business problems. Being one of the pioneers of graphical template language, Phil has championed the use of visualisations to demonstrate clear business insights to many problems. This book is the culmination of years of field experience of Phil in the use of SAS. The book is guaranteed to deliver new techniques to anyone from beginners to veterans.
It is pleasing to see this book tackle an increasingly common discussion right from the start: Efficiency. Not just how quickly your program runs, rather how easily your program is maintained whilst respecting good programming practices. A section is dedicated to interfaces including SAS and R, which will be relevant for many recent graduates who have R skills from their studies and seek to interleave this with the industrial strength of SAS. Visualization in the final section brings even experienced SAS programmers up to date with the latest SAS graphics procedure. The final chapters bring the ultimate level of control and flexibility to life with the Graphics Template Language. Overall this book brings a breadth of SAS experience in combination with several excellent example programs, making this book more than justify its place on the SAS programmer’s bookshelf.
Philip Holland is one of my favorite SAS authors because of his talent for whittling complex topics down to the critical concepts. This book brings together his work on seemingly disparate topics: SAS programming efficiency, external interfaces, and data visualization. As different as these topics are, they are all challenges that professional SAS programmers face on a regular basis. As someone who does not know R, I did find myself wishing for more from the chapter on interfacing SAS with R, but that's not a criticism since teaching R is not the purpose of this book. This book is NOT for rank beginners. However, intermediate to advanced professional SAS programmers (and even experienced programmers who are new to SAS) will find this book useful and enlightening.
By the way, this book replaces two of Holland's previous books: "Power User's Guide to SAS Programming" and "Power User's Guide to SAS Graph Templates" which are now both "retired" and out of print.
This book is called "A Power User's Guide" not so much because it is FOR power users as because using these techniques MAKES you a power user. Highly recommended.
If you are still using PROC GPLOT, PROC GCHART and other SAS/GRAPH procedures to produce your graphics then you should seriously consider getting Phil Holland's latest book “SAS Programming and Data Visualization Techniques: A Power User’s Guide”. Chapter 11 of this book gives you detailed steps on how to convert a plethora of SAS/GRAPH plots to better looking ODS Graphics plots in SAS versions 9.2, 9.3 and 9.4 where applicable, and I am certain that a SAS/GRAPH plot similar to your plot which needs converting is in there. I particularly like that this book is honest in which SAS/GRAPH procedures are easier to convert to ODS Graphics, such as the book states that converting clustered horizontal bar charts will be more difficult than converting a scatter plot. However with the guidance from the book it will still be easier if you wanted to convert your plots. You can tell that a lot of research has gone into the conversion process.
This book is not for only those who want to convert from SAS/GRAPH it also guides new ODS Graphics users on how to use PROC SGPLOT, SGPANEL and SGSCATTER to create their required plots. This book also gently introduces Graph Template Language (GTL) to the new user and shows the new user how the simpler SGPLOT, SGPANEL and SGSCATTER procedures can generate GTL. For those new users that prefer not to code, but still want to get the benefit of the crisp, attractive ODS Graphics, Chapter 10 of this book shows how you can use ODS Graphics Designer to create graphics from a Graphics User Interface, that is point-and-click graphics.
This book isn’t only for those converting from SAS/GRAPH or new ODS Graphics users it is also very valuable to the more experienced ODS Graphics user, particularly those who want to learn more on Graph Template Language (GTL). This book gives examples of different methods of annotation, and how you can use the DYNAMIC options and conditional statements in your templates to make your templates more flexible and reusable.
I like that this book performs a huge amount of contrasts and comparisons, such as GPLOT vs GCHART, SAS/GRAPH vs ODS Graphics, SGPLOT vs GTL, "Easy" vs "Hard", Creating marker labels using Annotate vs Creating marker labels using INSET statement, etc. This book is very comprehensive. You can easily forget that the Data Visualization section is one section out of three sections, which are in the book. The other two sections relate to Programming Efficiency Techniques and External Interfaces, which you are guaranteed to find some valuable information within those chapters. I predict that this book will be a great resource to you!
Typos and Corrections
There is probably at least one typo in the book. See if you can be the first to find it.--Philip R Holland 24 August 2015
Posted by Susan Slaughter: Here are a few typos I found. Does this mean I'm the first?
p. 47 delete the word "for" in "select an image format that is compatible with for all the expected output destinations."
p. 72 the 6 in "chapter 6" links to http://dx.doi.org/10.1007/9781484205693_6 which is a page that says "DOI not found"
p. 102 something is missing from the second paragraph "ODS HTML output is read as if it were anTo make Microsoft Excel"
p. 106 "PROC PRING"
p. 111 Starting with SAS 9.3, ODS Graphics is turned on by default in the SAS windowing environment in Windows and UNIX. It is still off by default in batch mode or other operating environments. This seems like a detail that would interest readers of this book.
Posted by Kriss Harris: Here are a few typos I found.
p. 113 Consider changing the following text "The template structure and syntax are not shown until the final advanced user chapter 13." to something similar as "The template structure and syntax are not shown until chapter 13, the customizing graph templates chapter."
Suggestions for Additional Topics
Assuming that there will be a Second Edition, what are some topics that you would like to see added to the book?