A self-proclaimed SAS zealot since 1975, Frank DiIorio is President of CodeCrafters Inc., a consulting firm specializing in pharmaceutical applications and SAS training. He is the author of the popular SAS Applications Programming: A Gentle Introduction and Quick Start to Data Analysis with SAS. He has written over 60 papers about SAS and is a frequent speaker at local, regional and international SAS conferences. DiIorio is Past President of the SouthEast SAS Users Group and was co-chair of its 1994 and 1996 conferences. In 2007, he was a co-founder of the Research Triangle CDISC Users Group. DiIorio was one of six recipients of the SAS Silver Circle Award in 2006.
How long have you been using SAS®?
What SAS products have you used in the past? What products and solutions are you currently using?
Most of my SAS usage is Base SAS. This is not as restrictive as it may seem, given the power of SQL, the DATA step, the macro language and ODS.
What is a problem you have solved using SAS?
One of the key deliverables for submissions to the FDA is a PDF that describes data set and variable-level characteristics for the submitted data. The company I worked for was a contract research organization (CRO), which meant that we had to be responsive to clients' subtle variations in the content and presentation of the PDF. Everything seemed to vary: portrait versus landscape; the amount of data set-level detail; the color of hyperlinks (really); whether to populate the bookmarks panel; etc. Using the macro language and a library of ODS styles, I developed a generalized macro that produces PDFs that satisfy the highly varied requests of the clients. The design is robust and the macro is well-documented, so when the inevitable happens (different formatting, RTF instead of PDF, and so on), modifications are easy to make and validate.
What is the most innovative way you have used SAS?
Data set specifications for one of our company's key deliverables were written using Microsoft Word. This meant that variable names and attributes had to be manually entered by programmers. The process was time-consuming and error-prone (not to mention tedious). We formed a small team that moved the specifications out of Word and into Oracle. Once the specifications were programmatically accessible, it opened the door to a variety of applications: macros written in SAS that read the Oracle tables and generate ATTRIBUTE statements, programs that display the tables as a specification document similar to the old Word format, and so on. Using SAS to move the specifications out of Word and into Oracle, as metadata, improved program quality, shortened data set development time and saved significant amounts of programmer time (and onerous typing). Similar use of metadata has greatly simplified other parts of project workflow – titles and footnotes for tables are now held in metadata and inserted into programs via easily called macros.
What is your most memorable SAS moment?
In 1981, I was a programmer at the University of North Carolina, Chapel Hill. One of our Help Desk customers was moving to New Zealand and needed assistance moving programs and data to tape. Before she left I gave her my résumé, and she promised to circulate it (remember that this predated the Web by a decade). A year later I received a call from the Bank of New Zealand, asking if I'd interview in its New York office for a position developing a management reporting system. I started the job three months later. The data and programming challenges were more complex than anyone could have predicted, but we were able to meet our deadlines, in part because of the coding flexibility introduced by the then-newfangled SAS macro language. The Bank of New Zealand job gave me more than two years in the most beautiful country in the world, and convinced me that "SAS programmer" was a viable career path.
How has SAS changed in the time you have been using it?
It's "wider" (the solutions) and "deeper" (there's much richer functionality in the Base SAS language). I've also watched recognition evolve from "SAS – that's statistics, right?" to not having to explain what it is (it's become mainstream, in other words). There's also been tremendous growth in opportunities to become part of the SAS community of programmers – more conferences, more opportunities for writing books.
Have you ever attended a SAS users group meeting or SAS Global Forum? If yes, please list them.
Yes! Many, many SUGIs, SESUG, NESUG, and local users group meetings. At least 100 – please don't make me list them all.
Has your work with SAS been influenced by any other members of the SAS community?
I always read Ian Whitlock's SAS-L postings and papers. I greatly admire his creativity and his willingness to explain at length the intricacies of his uniquely insightful coding techniques. Others whose papers and posts I seek out include Art Carpenter, Andrew Karp, Russ Lavery, Richard DeVenezia, Lex Jansen, Jeff Abolafia, and Greg Steffens. There are others, too numerous to enumerate here, who during conversation or in a paper, have given me that "Wow! I didn't know/forgot that SAS could do that!" rush that keeps me both humble and informed.
If you could point a new SAS user to one resource, what would it be?
I wish I could say my first book – SAS Applications Programming: A Gentle Introduction – but it's out of date. A more current and less self-serving answer would be lexjansen.com, a repository of probably thousands of SAS Global Forum, SUGI, regional and other conference papers.