Artisan crafted SAS programs


Madison Avenue has a new phrase to describe the things they are trying to sell to us: artisan crafted.  These days, there are artisan crafted breads and rolls, artisan crafted beers, artisan crafted coffees, artisan crafted soaps, and a host of other artisan crafted products.  Artisan crafted seems to have taken over from the word “scratch.”  There was a time when it seemed like every commercial wanted you to know that their products were “made from scratch”; many of them made from scratch daily.  While many of the same products are likely still made from scratch, apparently they are now done so by crafted artisans. ( defines artisan as:

  1. a person skilled in an applied art; a craftsperson.
  2. a person or company that makes a high-quality or distinctive product in small quantities, usually by hand or using traditional methods: our favorite local food artisans.

And, we don’t need a dictionary to know that “crafted” means fashioned, or created, or made.

So, what does this have to do with SAS?  Well, when you think about it, the SAS programs that you write from scratch are actually artisan crafted.  Sound a bit farfetched?  Think about it.

You use your personal knowledge of SAS to hand-craft a new program.  That program has to be specifically tailored to input the unique shape of the incoming data; whether it is stored in SAS data sets, tables from a relational data base, flat files, or spreadsheets.  The program must be precisely written to subset, sort, merge, or summarize the data as required.  The program needs to be customized to perform the particular calculations detailed in the specifications either in DATA steps or within SAS procedures.  The program has to be custom-made to get the fully processed data into the proper shape for output. Then, the program needs to be fashioned to produce the distinctive result set specified by your users; whether it is a report produced via the Output Delivery System, a SAS data set, or a data set in a different format.

Come on; stop smiling; it’s true!  If you have been programming in SAS for a while, then your SAS programs are indeed artisan crafted.  If you don’t think so, then make it a point to start giving them your own distinctive flair.

You can include artful touches in the programs you write that express both your own unique outlook and your own SAS craftsmanship.  Perhaps it is in the way that you construct a comment block at the top of a program.  Maybe it is how you use the SQL procedure to sort and merge instead of using PROC SORT and a DATA step.  Possibly, it is in the clever way that you macrotize a complicated program so it can be used by your colleagues.  Or, it may be the way that you adroitly use PROC REPORT in conjunction with the Output Delivery System to create professional-quality reports.  Whatever the case, your knowledge of SAS and your own unique perspective allow you to create SAS programs that are as distinct as you are.  So, be proud of your own SAS programming artistry the very next time you write a SAS program.

I hope you enjoyed reading this blog; it was artisan crafted!

Be sure to take a look at Michael Raithel's latest book How to Become a Top SAS Programmer.


About Author

Michael A. Raithel

Senior systems analyst for Westat and SAS Press author

Michael A. Raithel is a senior systems analyst for Westat, an employee-owned contract research organization in the Washington, DC area. An internationally recognized expert in the use of SAS software in mainframe and UNIX environments, he is the author of over 25 SAS technical papers and is a popular lecturer at SAS Global Forum and at regional SAS conferences. He has written four books for SAS; the most recent book is How to Become a Top SAS Programmer. A copy of the first edition Tuning SAS Applications in the MVS Environment, resides in the Smithsonian Institution of American History’s Permanent Research Collection of Information Technology.

Related Posts


  1. Michael A. Raithel on


    I would love to see some of your watercolors sometime!

    I agree with you 100%. There is immense satisfaction to writing a big, concise, well-crafted SAS program with clean lines that does exactly what is specified in the specs and produces world-class output. It is one of life's great pleasures!

    (aka Michael A. Raithel)

  2. Kathy Council on

    As an amateur watercolorist, I know the satisfaction I get when I have "artisan crafted" a new painting...especially when it is a gift or donated to an auction. Come to think of it, it is the same feeling I used to get when I crafted a really cool SAS program.

  3. James Willis on

    Thank you. I've been saying the same for years. I used to sell lumber, and tools that worked on lumber. The artisan is not the one who can cut and nail lumber. The artisan is the one who can shape and connect lumber.

  4. On the other hand, the great leaps forward in economic progress began when the items that were previously artisan crafted were able to be mass produced. For over 30 years now, I've seen commentary that software is "just around the corner" from experiencing the same productivity gains, but here we are still hand-coding, with all of the associated costs and risk of errors.

    A contrarian view,

  5. Chris Hemedinger on

    What's the proper term for "Artisan copied-and-pasted"? That's how many of my programs begin...

    • Lionel Teed on

      "Artisan copied-and-pasted".....Let's go with 'Artisan Replica', or AR!!!!

      Actually, up in the Farthermost reaches of the North we could also call that 'No-Name', a term used to refer to the product created by a successful Grocery chain. No 'branding' was used for the product, which was really a 'copy' of some other product, made by the 'name brand', but packaged and sold by the Grocery Chain as its own. The odd thing is that the product proved so succusful it actually became its own brand!

Back to Top