Looking for a SAS job or wanting to promote your SAS recruitment agency?

I’ve recently opened up new opportunities for two groups of registered members:

  • Recruiters wanting to promote their agencies.
  • SAS programmers looking for their next SAS job.

All of the forums in [Holland Numerics: Blog and Forums] now allow messages to be sent by registered members directly and privately to anyone posting a topic in a forum. This means that, if you post a new topic in the SAS Skills Discussion Forum (which is accessible to all registered members) describing your recruitment agency, or your own SAS programming skills, other registered members will be able to send you messages. The facility also removes the necessity to reveal your phone number or email address to anyone you don’t need to, as the messages will be collected on the blog site, and you will be notified by email of new messages there, and any forum topic will display a list of your own messages at the bottom of the web page.

However, please think carefully about what you include in your topic, as your agency profile, or your SAS job prospects, could be positively or negatively affected by what you write!

Note that there may also be a delay in the topic appearing if you are writing your first topic in the forum, as I will have to approve it. This is intended to protect you from spam postings. But as soon as it is visible to all registered members, then a [Send message] link will be seen in the topic under your name.

New app updates available in Google Play and Amazon Appstore

Android 8.0 is coming very soon, so I have started preparing my apps for this new platform, while still maintaining the same functionality for Android versions back to 2.3.3 (Gingerbread). However, I will not be further updating my Chrome apps, as the Chrome Web Store has stopped accepting new apps, and is likely to stop hosting existing apps soon too.

The first paid-for app to be updated for Android 8.0, including 6 more questions, is:

and the 2 free apps, including samples from the other apps:

Update to more of my Android apps will follow shortly.

This is quick reminder that I still have the following apps available in Google Play:

  • Data Steps: Do This in SAS?
  • SQL: Do This in SAS?
  • Graphs: Do This in SAS?
  • Platforms: Do This in SAS?
  • EG: Do This in SAS?
  • Macros: Do This in SAS?
  • Efficiency: Do This in SAS?
  • Studio: Do This in SAS?

These apps are also available for Android users in the Amazon Appstore:

  • Data Steps: How Do You Do This in SAS?
  • SQL: How Do You Do This in SAS?
  • Graphs: How Do You Do This in SAS?
  • Platforms: How Do You Do This in SAS?
  • EG: How Do You Do This in SAS?
  • Macros: How Do You Do This in SAS?
  • Efficiency: How Do You Do This in SAS?
  • Studio: How Do You Do This in SAS?

There are also free apps, which you can find by searching in each app store:

  • How Do You Do This in SAS? (Google Play and Amazon Appstore)
  • Consulting: Do This in SAS? (Google Play)
  • Consulting: How Do You Do This in SAS? (Amazon Appstore)

All these apps are updated frequently, and the paid-for apps are priced at less than US$3 based on the number of questions that are answered, and within the apps you can ask new questions that can be added in future updates. It doesn’t matter which platform you use, as the same content is present in the corresponding Google Play and Amazon Appstore apps.

Premium SAS Support for Commercial Clients

Free membership gives you access to the SAS Skills Discussion Forum for non-programming questions about SAS. Programming and Recruiter memberships, which require monthly low-cost subscriptions, give you access to the same forum and to the SAS Programming Forum, where you can ask SAS programming questions. However, all questions and answers are visible to all members with access to each forum, which may not be quite what you are looking for.

To fulfill any need for confidential correspondence you may have seen a recent addition to the blog menu. The Premium SAS help desk service, called [sas.answers @ Holland Numerics] (which has actually been around since 2002), is different. It does not require even Free membership of the blog, but it does require a separate subscription payable using PayPal. What makes this service special is that it provides an in-house web-based interface for you to ask questions, which automatically generates an SMS message and an email to Holland Numerics, with a copy of the email sent back to you too. There is also a service level agreement to provide an answer to every question within 48 hours, and that answer will be privately sent directly back to the sending subscriber! Please note that, if a monthly subscription is not necessary, then a single question can be asked instead for a reduced fee.

Full details of the [sas.answers @ Holland Numerics] help desk service can be found here.

[sas.answers @ Holland Numerics] – A dedicated confidential premium SAS help desk service

How will the [sas.answers @ Holland Numerics] service help you?

  • You will receive expert advice and skills transfer on SAS® software.
  • As a subscriber you can send your questions either:
    1. via the web interface using the button below:
    2. or directly via email to sas.answers@hollandnumerics.com.
  • Answers to your questions about the software will be returned to subscribers by email within 48 hours.

SAS software experience available for you @ Holland Numerics Limited:

Experience accumulated since 1981 from SAS software version 79.6 to SAS software version 9.4, using:

  • Windows PC
  • Windows Server
  • UNIX (including Solaris 10 64-bit), Linux
  • MVS, OS/390, z/OS
  • VAX/VMS, OpenVMS
  • OS/2

Detailed answers can be supplied to you for your questions about the following SAS software components:

  • Base SAS software (including macros, PROC SQL, PROC REPORT, PROC TABULATE, SAS ODBC Driver, DDE, Output Delivery System, ODS Graphics)
  • SAS/ACCESS® software (including DB2, Oracle, ODBC, PC File Formats/PC Files, Teradata)
  • SAS/AF® software (including Frame, OLE)
  • SAS/CONNECT® software
  • SAS/GRAPH® software (including Output Delivery System)
  • SAS/STAT®, SAS/ETS® software
  • Enterprise GuideTM software (all versions up to 7.1)
  • SAS StudioTM software (all versions up to 3.6)
  • SAS® Integration Technologies (including BI Server)

General answers can be supplied to you for your questions about the following SAS software components:

  • Web Report, DI, IML, Forecast StudioTM software
  • Enterprise ReporterTM software
  • Enterprise MinerTM software
  • IT Service VisionTM software
  • SAS/EIS® software
  • SAS/FSP® software
  • SAS/IML® software
  • SAS/INSIGHT® software
  • SAS/IntrNetTM software
  • SAS/MDDB® server
  • SAS/SHARE® software

Your agreement:

  • You will pay £720 including taxes for your questions to be answered for 1 calendar month from the day your payment is received.
  • You can specify up to 5 of your email addresses that can be used to send your questions, either directly or via the web site to
    sas.answers@hollandnumerics.com, but these must all be specified with your order to make sure your specified users can all start using the service immediately.
  • Each of your questions should normally require no more than 1/2 hour to answer.
  • Only 1 question from you in any of your emails is recommended, which ensures that the answers to all of your questions are never delayed unnecessarily.
  • No limit is currently in force on how many of your questions can be asked in 1 calendar month.
  • Your answer will be sent back to whichever of your email addresses was used to send your question.
  • No data processing can be carried out for you. However, you can send a small sample dataset (<50kb) attached to your questions emailed directly, although not to your questions emailed via the web site.
  • Every effort will be made to send an answer to your question back to you within 48 hours of receipt of that question.
  • Unfortunately, Holland Numerics Limited cannot accept responsibility for any problem caused by the implementation or operation of your code that you have not thoroughly tested and approved.

Click here to download a PDF copy of the agreement and request form.

You can also subscribe now with PayPal:


  1. Monthly subscription – [sas.answers @ Holland Numerics] monthly subscription = £720.00, including taxes:
    Please register from 1 to 5 of your email addresses using this service below, separated by commas or spaces:
  2. Single question – [sas.answers @ Holland Numerics] single question payment = £72.00, including taxes:
    Please type your SAS-related question here (max 200 characters):

    Please remember to type your email address below to receive an answer to your question. You will also be emailed if more information is required to answer your SAS-related question:

My blog and forums are open for business in their new premises!

On 28 March 2017 I completed the migration of my blog and forums to a new server. You will not have to do anything different to access the new server, as it is all managed transparently by my router.

The new environment is protected by an uninterruptible power supply, and has an increase in its available disk space. I’m hoping that the chance of future interruptions has been dramatically reduced.

Alongside the blog are 2 forums where you can ask questions:

(1) The SAS Skills Discussion Forum is included when you register for the Free membership, and is where you can ask questions about SAS skills, but not SAS coding problems.

(2) The SAS Programming Forum, which has a very small subscription cost, is where you can ask SAS coding questions, including those from homework and interviews. This forum also includes a growing SAS course in the form of small topics. There are currently 3 main sections to the SAS course: Data Steps, PROC SQL and macros, but more are being developed.

What happened in Orlando?

As usual I ran a prize draw this year at SAS Global Forum in Orlando for a copy of my latest book, which was won by Matthew Hoolsema from Carnegie Mellon University from 49 draw entries.

Matthew Hoolsema won a copy of my book in Orlando

The sad part was that my well-thumbed sample copy, which allowed everyone to see what was in the book, was taken during the conference, so I will have to replace it with another brand new copy before my next free draw, instead of using that new copy as a prize. I must admit that I find it extremely annoying when a company can pay $100s to $1,000s for the conference registration, travel and accommodation, but nothing for a $40 book!

The conference’s Kick-Back party was held at Disney Hollywood Studios at the end of the 2nd full day of the conference after the public had left. I’d last visited this park in 1999, when it was called MGM Studios. Some of the “exciting” rides, which I have never enjoyed, were open, and my favourite show from 1999, “Indiana Jones Stunt Spectacular”, was still there, but disappointingly closed for the evening! Fortunately, unlike previous Kick-Back parties, the noise levels were low enough to permit normal conversations, so my voice was still OK the following morning for my presentation. You may remember that in March I said that I was presenting “Making Validation of Graphs Easier: The Benefits of ODS Graphics” at the conference on 5 April 2017. The video recording of my presentation can now be viewed on the SAS web site, along with several of the other presentations, and my paper, slides and sample code can be downloaded from this blog site.

Next year SAS Global Forum will be in Denver, Colorado. I’ve never been there before, so I’m looking for some suitable topics for new presentations. Any suggestions?

Why don’t SAS development teams talk to each other?

We all know that SAS develops its software in separate teams, but it can be really annoying when it becomes apparent that several associated teams haven’t planned together how a SAS procedure will work.

I’m going to take as an example PROC IMPORT, which is part of Base SAS, but is also included in SAS/ACCESS. When you run the following program all the variables created begin with VAR, i.e. VAR1, VAR2, VAR3, VAR4, VAR5, etc., and this would also be true for DBMS=TAB and DLM:


However, using similar PROC IMPORT code for DBMS=EXCEL, in SAS/ACCESS for PC Files, will create variables beginning with F, i.e. F1, F2, F3, F4, F5, etc.:


More shocking though is using PROC IMPORT code for DBMS=XLS or XLSX in UNIX or Windows, in SAS/ACCESS for PC Files, as this will create variables with no prefix at all, i.e. A, B, C, D, E, etc.:


This inconsistency even extends to using GETNAMES = YES too when there are multiple columns with the same label.

If you want to import a CSV file, instead of an Excel file, or indeed import an Excel file in UNIX, then the subsequent processing step will have to be updated to use the new variable names (annoying!). Why can’t the procedure be consistent, or, at least, have a parameter, like PREFIX=, that allows users to choose the prefix?

Back in SAS 6 there were monumental problems caused by each SAS procedure having to manage their own output destinations, and each one doing it in a slightly different way, so ODS (Output Delivery System) was introduced in SAS 7 to make the output interface separate from the procedures. SAS now need to develop standards for parameters and defaults, just like they did for output!

To vote for this to be included in the next SASware Ballot just click here and vote up the idea!

Warning: you may need to use a desktop browser to vote up the idea! 🙁

Do you have any examples of similar inconsistencies in SAS?

My published Training Course list is for companies, the SAS course is for individuals

I published a list of available training courses for 2017 in January this year, but this course list is actually intended for companies, and not for individuals, as the courses have a fixed price no matter how many people attend them. All the training materials are personalised and supplied in digital form, and so can be duplicated for that client to re-use internally.

Individuals looking for SAS training should subscribe to the SAS course in the SAS Programming Forum instead, which is specifically targeted at individual SAS learners and programmers, and is priced as a low-cost monthly subscription. However, the SAS Programming Forum is not just there for the SAS course, but can be used to get answers to any SAS-related questions you may have too, even if they are from homework or interview questions.

See “Making Graphs Easier to Validate – The Benefits of ODS Graphics” at SAS Global Forum in Orlando

Are you attending SAS Global Forum in April this year? If you are then you have the opportunity to see me present “Making Graphs Easier to Validate – The Benefits of ODS Graphics” on Wednesday 5 April from 1100-1150hr. I’ll be in the Americas Seminar Room on Dolphin Level 5 at the Walt Disney World Swan and Dolphin Resort in Orlando, Florida. In this presentation I’ll be talking about how to make your graphs easier to validate by using ODS Graphics and a lot of common sense!

However, maybe you are not going to be in Orlando in April, but you and your colleagues would still like to see me present on this topic. What can you do about that? Well it should still be possible, because I’m currently developing a 1/2 day training session which I’m calling “Defensive SAS Programming”. This will include “Making Graphs Easier to Validate – The Benefits of ODS Graphics”, but also “Writing Reusable Macros” and another new topic “The Art of Defensive Programming: How to Cope with Unseen Data”.

You’ll see from the link above that I don’t have to be in the room with you to present, therefore I could present through your company’s video-conferencing system from my own office at home to your conference room wherever you are instead. The “Available” and “Coming Soon” training sessions can all be booked in advance, but the “Coming Soon” training sessions will be developed specifically for you, if you are the first to request them.

Going back to “Making Graphs Easier to Validate – The Benefits of ODS Graphics”, this presentation and paper will be available for download from the Product Shop shortly after it is presented for the first time, but may also be available from the SAS Global Forum site before the conference too!

I’m looking forward to SAS Global Forum, and hope to see you there, or elsewhere in the near future!

There is now a new Training Course list for 2017

There is now a new Training Course list for 2017, which can be downloaded from here. The courses available in 2016 are still there, but I’m developing some new SAS-related courses, based on the SAS course, which you can accelerate to production status by requesting them:

  • ½ day SAS Data Step training
  • ½ day SAS PROC SQL training
  • ½ day SAS macros training
  • ½ day Defensive SAS Programming training

Your interest in any of these courses will result in them being developed as priority tasks!