Susan Slaughter

Details, details: Updates to The Little SAS Book

In Everything, Little SAS Book Series, Publishing, SAS on November 10, 2022 at 11:26 am

Earlier this year we quietly updated The Little SAS Book, Sixth Edition.  While these changes didn’t get a lot of attention, they are, in our opinion, critical to keeping The Little SAS Book useful and accurate. This is especially important for beginners who can’t be expected to know the history of SAS software or how it is evolving.

The updates include countless small changes, but mostly fall into a few broad categories:

  • References to SAS University Edition have been deleted.  When we wrote the Sixth Edition not so long ago, we had no way of knowing that SAS University Edition would soon be relegated to the great bit-bucket in the sky.  As of August 21, 2021, SAS University Edition is no longer supported by SAS Institute.  Microsoft forced this change when they stopped supporting virtual machines in which SAS University Edition ran.  Fortunately for people learning SAS, there is another option: SAS OnDemand for Academics is a cloud-based version of SAS that is free for non-commercial use.
  • We also clarified discussions of data set names, filenames, and paths.  The SAS language is not sensitive to case.  This is still true.  What is less obvious is that some parts of  SAS programs are not technically part of the SAS language. Filenames and paths, and even data set names, depend on your operating environment.  This doesn’t matter much if you are using an operating environment (such as Windows) that is also case insensitive. But it can matter a lot in operating environments (such as UNIX and Linux) that are sensitive to case.  It is possible to run SAS and not know which operating environment you are using. For example, SAS OnDemand for Academics runs on UNIX even if you are accessing it from another type of computer such as a Windows PC. So we took a hard look at the way we describe data set names, filenames, and paths and reworded them for clarity.
  • While we were making changes, we couldn’t resist another small one.  We added the very useful SCAN function to our table of character functions in Section 3.4.  There was just one small problem. Because there was no surplus space, we had to  remove something else to make room for SCAN.  That’s why the ANYALNUM function is now gone. However, this section still includes ANYALPHA, ANYDIGIT, and ANYSPACE so the ANY family of functions is still well represented.

So how can you know if your copy of the Sixth Edition is the original version or the updated one? One easy way is to check the index to see if it includes an entry for the SCAN function.

A more technical way is to look at the back of the title page where the copyright notices appear. Near the bottom of the page, if it says

“October 2019”

then you have the original version. If it says

“Originally published October 2019 Revised March 2022”

then you have the updated version.

It’s in the Details: Keeping The Little SAS Book Accurate

In Enterprise Guide, Everything, Little SAS Book Series, SAS on November 24, 2020 at 9:25 am

The Little SAS Book, Sixth Edition is now a year old.  I have already written posts about What’s New in this edition, and the very cool XLSX LIBNAME engine.  So what more is there to say?  A lot, it turns out.  The Sixth Edition was our biggest rewrite since the Second Edition introduced the new (at the time) Output Delivery System. This post covers a few of the changes you probably didn’t notice:

  • Default output has changed. You probably are aware that the default output has long been HTML (or SASREPORT in Enterprise Guide).  What most SAS users don’t know is that technically it was HTML4, but is now HTML5 (including in Enterprise Guide).  A few years ago, the default changed from HTML3 to HTML4.  If you didn’t notice the change from 3 to 4, then you probably won’t care about the change from 4 to 5 either. But it was a big deal to us because HTML4 stored images in separate files while HTML5 embeds images in the same files as text. This required us to completely rewrite section 8.12 with its discussion of saving graphics output. That complicated our lives, but it simplifies life for you if you use SAS to create HTML pages with graphics.  No more need to worry about links to your graphics files; now your graphics will be saved inside your HTML pages.
  • Footnotes are gone (except the few ones under tables and chapter quotes).  In an effort to maximize readability, we worked important information into the text and deleted the rest.
  • Default ODS style for PDF output has changed from PRINTER to PEARL.
  • Some built-in styles have disappeared entirely including one we used a lot, D3D.  To see the current built-in styles on your system, run this: PROC TEMPLATE; LIST STYLES; RUN;
  • ODS HTML statement requires PATH= in some situations when it didn’t before.  It’s complicated so just include a PATH= option, ok?
  • PROC REPORT no longer requires the NOWINDOWS option to avoid opening a Report window.
  • Some ODS style attribute options have new names.  For example, the option FONT_SIZE= has changed to FONTSIZE=, and BACKGROUND= changed to BACKGROUNDCOLOR=.  The old option names still work, but the new ones are considered more correct.
  • Ellis Island National Monument merged with Statue of Liberty National Monument.  Also Hawaii Volcanoes National Park lost one of its museums.  (The Jaggar Museum was damaged by the eruption of Kilauea.)  We updated our data accordingly.
  • The SAS family grew.  The number of SAS installations increased from 60,000 sites in 134 countries to 83,000 sites in 147 countries.

I admit that most of these are minor changes for most SAS users, but we pride ourselves on impeccable attention to detail because for programmers sometimes the details matter very much.

Data in a Time of Pandemic

In Everything, SAS on July 29, 2020 at 8:00 am

With COVID-19 spreading worldwide, accurate data have become more important than ever. In this blog, I share some of my favorite sources:

The Economist Reported deaths often underestimate actual deaths. One way to get at the real numbers is to compare total deaths from all causes versus the typical death rate. This “mortality tracker” plots excess deaths which is a more reliable measure than reported deaths.

Johns Hopkins University This interactive dashboard by the Coronavirus Resource Center at the Bloomberg School of Public Health shows detailed data about the pandemic worldwide.

National Public Radio These interactive graphics by NPR focus on the pandemic in the US.

Avi Schiffmann This webpage may be the most impressive effort by an individual person, and shows that tabular data can be profoundly thought-provoking too.

These articles are also highly recommended:

The Risks–Know Them–Avoid Them This article explains in plain language how COVID-19 spreads and how to keep yourself safe. Share this with your family.

COVID-19 Superspreader Events in 28 Countries: Critical Patterns and Lessons This fascinating article compiles data about superspreader events (SSEs) and reveals a lot about how this virus is spread.

Temporary reduction in daily global CO2 emissions during the COVID-19 forced confinement Finally, something positive: an article about the reduction in CO2 emissions due to the pandemic.

Knowledge is power. Working together we can all stay healthy.